Messwertdaten mithilfe der API ansehen

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

Verwenden Sie die unten beschriebenen APIs, um API-Überwachungsmetriken abzurufen. Messwerte sind die Datenwerte, die von API Monitoring aus den Rohdaten in den API Monitoring-Protokollen zusammengefasst werden.

In den folgenden Abschnitten wird beschrieben, wie Sie Messwerte mithilfe der API verwalten.

Weitere Informationen zur Metrik-API finden Sie unter Metriken-API.

Informationen zu den in diesen Beispielen verwendeten cURL-Optionen finden Sie unter cURL verwenden.

Metrics APIs

Die Basis-URL, die Sie verwenden, um eine GET-Anfrage an die Metrik-API zu senden, lautet:

https://apimonitoring.enterprise.apigee.com/metrics/resource

Dabei entspricht resource einem bestimmten Messwert. Eine Auflistung der Messwerte finden Sie in der folgenden Tabelle:

Ressource Beschreibung
/traffic Holen Sie sich Verkehrsdaten. Geben Sie Filter an, z. B. Proxy-Name, Intervall, Zeitfenster, Ziel, Statuscode und viele andere.
/latency Latenzmetriken für Anforderungen abrufen

zum Edge und zum Backend von Zielen. Geben Sie Filter an, z. B. Proxy-Name, Intervall, Ziel, Statuscode und viele andere.

/targets Holen Sie sich alle Zieldomänen für eine bestimmte Organisation und Umgebung.
/alerthistory Rufen Sie Alert-Verlaufskennzahlen für eine bestimmte Organisation und ein bestimmtes Zeitfenster ab.
/alertinstance/instanceid Rufen Sie Alert-Verlaufsmesswerte für die spezifische Alert-Instanz-ID ab.
/alertsummary Rufen Sie die Gesamtzahl der Benachrichtigungen für eine Organisation und ein Zeitfenster ab.
/faultcodenames Holen Sie sich alle Fehlercode-Namen.
/faultcodes Fehlercodes abrufen
/faultcodecategories Fehlercode-Kategorien abrufen
/faultcodesubcategories Fehlercode-Unterkategorien abrufen
/faultcodedetails Holen Sie sich alle Fehlercodes mit Details.

Fehlerinformationen abrufen

Alle /fault*-Ressourcen geben Metadaten zu den möglichen Fehlern in Edge zurück. So zeigen Sie beispielsweise die Liste aller möglichen Fehlerkategorien an:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Stellen Sie $ACCESS_TOKEN auf Ihr OAuth 2.0-Zugriffstoken ein, wie unter OAuth 2.0-Zugriffstoken anfordern beschrieben.

Die Antwort erscheint als:

{
  "faultCodeCategories":[
    "","API Protocol","Developer/App","Extension Policy","Gateway",
    "Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
  ]
}

Sie können dann die Liste der Fehlercodes für die Kategorie API Protocol festlegen:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Weitere Optionen finden Sie in der Metrics API.

Erfassen Sie Messwerte für Traffic und Latenz

Die Metrics API verfügt über Filter, die Sie auf die API anwenden können, um benutzerdefinierte Zeitbereiche, Proxies, Regionen, Umgebungen und andere Filter für die berechneten Messwerte anzugeben. So können Sie beispielsweise die Metriken für Transaktionen pro Sekunde (tps) alle zehn Minuten für die vorherige Stunde für alle Umgebungen anzeigen:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=10m&groupBy=env&org=myorg" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN" 

Stellen Sie $ACCESS_TOKEN auf Ihr OAuth 2.0-Zugriffstoken ein, wie unter OAuth 2.0-Zugriffstoken anfordern beschrieben.

Dieser Aufruf liefert Ergebnisse in folgender Form:

{
  "results":[
    {
      "series":[
        {
          "name":"proxy",
        "tags":
             {
                "env":"prod",
                "intervalSeconds":"60",
                "org":"myorg",
                "region":"myregion"
              },
            "columns":["time","tps"],
            "values":[
              ["2018-08-15T13:10:00Z",5.03],
              ["2018-08-15T13:20:00Z",5.01],
              ["2018-08-15T13:30:00Z",5.81],
              ["2018-08-15T13:40:00Z",5.95],
              …
            ]
          },
       …
       }
    }]
}

Beachten Sie, wie die columns-Eigenschaft das Format von values angibt. Die Eigenschaft values enthält die TPS, die alle 10 Minuten für das vorherige 10-Minuten-Intervall berechnet wurden.

Der Abfrageparameter interval definiert die Häufigkeit, mit der die Metrik in den Ergebnissen gespeichert wird, und das Abtastfenster für den Wert in den Ergebnissen. Im obigen Beispiel wird die Metrik über die letzten 10 Minuten berechnet und alle 10 Minuten in die Ergebnisse geschrieben.

Verwenden Sie die Abfrageparameter from und to, um einen ISO-formatierten Zeitbereich anzugeben. Die mit from und to angegebene maximale Dauer beträgt 24 Stunden.

Das Datumsformat kann Folgendes sein:

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh:mm:ss+00:00

Beispiel:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

Oder verwenden Sie die Abfrageparameter from und to, um einen relativen Zeitbereich anzugeben, z. B. für die letzte Stunde:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

Eine weitere Option ist die Verwendung des Abfrageparameters proxy zum Anzeigen von Transaktionen pro Sekunde (tps) für einen einzelnen Proxy:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

Geben Sie für Latenzmetriken viele der gleichen Kriterien wie für Verkehrsmetriken an. Für die /latency-Ressource gilt jedoch Folgendes:

  • Sie müssen den Abfrageparameter percentile als 50, 90, 95 oder 99 angeben. Wenn Sie beispielsweise 90 angeben, gibt die API den gesamten Antwortlatenzwert im 90. Perzentil zurück.
  • windowsize ist auf eine Minute festgelegt.

So zeigen Sie beispielsweise die Metriken für die Gesamtlatenz im 90. Perzentil für 1 Minute an:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/latency?percentile=90&select=totalLatency&from=-1h&to=now&interval=5m&windowsize=1m&groupBy=org,env,region&org=myorg" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Weitere Optionen finden Sie unter Metrics API.

Messwerte für Benachrichtigungen erfassen

Die Metrics API gibt Messwerte für alle Warnungen, für eine bestimmte Warnung oder eine Warnungszusammenfassung zurück. So rufen Sie beispielsweise den Alert-Verlauf einer Organisation für die letzte Stunde ab:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&from=-1h&to=now" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Stellen Sie $ACCESS_TOKEN auf Ihr OAuth 2.0-Zugriffstoken ein, wie unter OAuth 2.0-Zugriffstoken anfordern beschrieben.

Dieser API-Aufruf gibt eine Antwort in der folgenden Form zurück:

[
  {
"id":"983c4c7a-c301-4697-95cc-9a7c53e05fac",
"organization":"myorg",
"environment":"prod",
"name":"Public Api 5xx error rate",
"type":"Alert",
"source":"https://www.apigee.net/sonar",
"raw_payload":"
{
    \"reportUUID\":\"\",
    \"reportEnabled\":false,
    \"organization\":\"myorg\",
    \"name\":\"Public Api 5xx error rate\",
    \"self\":\"/alerts/95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"description\":\"\",
    \"conditions\":[
    {
        \"comparator\":\"\u003e\",
        \"metric\":\"rate\",
        \"durationSeconds\":3600,
        \"name\":\"\",
        \"description\":\"\",
        \"threshold\":0.01,
        \"dimensions\":
        {
            \"proxy\":\"myAPI\",
            \"org\":\"myorg\",
            \"env\":\"prod\",
            \"region\":\"myRegion\",
            \"statusCode\":\"5xx\"
            }
        }],
        \"uuid\":\"95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"playbook\":\"This is a test alert.\"
    }",
"time":"2018-08-14T12:45:28Z"
 },
 …
]

Sie können dann die id im zurückgegebenen Array verwenden, um Informationen zu einer bestimmten Warnung abzurufen:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Weitere Optionen finden Sie in der Metrics API.