Messwertdaten mithilfe der API ansehen

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zuApigee X wechseln.
info

Verwenden Sie die unten beschriebenen APIs, um API Monitoring-Messwerte abzurufen. Messwerte sind die Datenwerte, die von API Monitoring aus den Rohdaten in den API Monitoring-Logs aggregiert werden.

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

Weitere Informationen zur Metrics API finden Sie unter Metrics API.

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

Metrics APIs

Die Basis-URL, die Sie für eine GET-Anfrage an die Metrics API verwenden, lautet:

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

Dabei entspricht „resource“ einem bestimmten Messwert. In der folgenden Tabelle sind die Messwertressourcen aufgeführt:

Ressource Beschreibung
/traffic Traffic-Messwerte abrufen. Geben Sie Filter wie Proxyname, Intervall, Zeitfenster, Ziel, Statuscode und viele andere an.
/latency Latenzmesswerte für Anfragen

an Edge und an Backend-Ziele abrufen. Geben Sie Filter wie Proxyname, Intervall, Ziel, Statuscode und viele andere an.

/targets Alle Zieldomänen für eine bestimmte Organisation und Umgebung abrufen.
/alerthistory Messwerte für den Benachrichtigungsverlauf für eine bestimmte Organisation und ein bestimmtes Zeitfenster abrufen.
/alertinstance/instanceid Messwerte für den Benachrichtigungsverlauf für die angegebene Benachrichtigungsinstanz-ID abrufen.
/alertsummary Gesamtzahl der Benachrichtigungen für eine Organisation und ein Zeitfenster abrufen.
/faultcodenames Alle Fehlercodenamen abrufen.
/faultcodes Fehlercodes abrufen.
/faultcodecategories Fehlercodekategorien abrufen.
/faultcodesubcategories Fehlercodeunterkategorien abrufen.
/faultcodedetails Alle Fehlercodes mit Details abrufen.

Fehlerinformationen abrufen

Die /fault*-Ressourcen geben alle Metadaten zu den möglichen Fehlern in Edge zurück. So rufen Sie beispielsweise die Liste aller möglichen Fehlerkategorien auf:

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

Legen Sie für $ACCESS_TOKEN Ihr OAuth 2.0-Zugriffstoken fest, wie unter OAuth 2.0-Zugriffstoken anfordern beschrieben.

Die Antwort sieht so aus:

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

Anschließend können Sie die Liste der Fehlercodes für die Kategorie API Protocol bestimmen:

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 unter der Metrics API.

Messwerte für Traffic und Latenz erfassen

Die Metrics API enthält Filter, die Sie auf die API anwenden können, um benutzerdefinierte Zeiträume, Proxys, Regionen, Umgebungen und andere Filter für die berechneten Messwerte anzugeben. So rufen Sie beispielsweise alle 10 Minuten den Messwert für Transaktionen pro Sekunde (TPS) für die letzte Stunde für alle Umgebungen auf:

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" 

Legen Sie für $ACCESS_TOKEN Ihr OAuth 2.0-Zugriffstoken fest, wie unter OAuth 2.0-Zugriffstoken anfordern beschrieben.

Dieser Aufruf gibt Ergebnisse im folgenden Format zurück:

{
  "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, dass die columns-Eigenschaft das Format von values angibt. Die values-Eigenschaft enthält die TPS, die alle 10 Minuten für das vorherige 10-Minuten-Intervall berechnet werden.

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

Verwenden Sie die Suchparameter from und to, um einen Zeitraum im ISO-Format anzugeben. Die maximale Dauer, die mit from und to angegeben werden kann, beträgt 24 Stunden.

Das Datumsformat kann eines der folgenden 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"

Alternativ können Sie mit den Abfrageparametern from und to einen relativen Zeitraum angeben, 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 Möglichkeit ist die Verwendung des Abfrageparameters proxy, um die Transaktionen pro Sekunde (TPS) für einen einzelnen Proxy anzuzeigen:

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"

Für Latenzmesswerte geben Sie viele der gleichen Kriterien wie für Traffic-Messwerte an. Für die Ressource /latency 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 Wert für die Gesamtlatenz der Antwort im 90. Perzentil zurück.
  • windowsize ist auf eine Minute festgelegt.

So rufen Sie beispielsweise die Messwerte für die Gesamtlatenz im 90. Perzentil für ein 1-Minuten-Fenster auf:

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 Benachrichtigungen, für eine bestimmte Benachrichtigung oder eine Benachrichtigungsübersicht zurück. So rufen Sie beispielsweise den Benachrichtigungsverlauf für eine 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"

Legen Sie für $ACCESS_TOKEN Ihr OAuth 2.0-Zugriffstoken fest, wie unter OAuth 2.0-Zugriffstoken anfordern beschrieben.

Dieser API-Aufruf gibt eine Antwort im folgenden Format 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"
 },
 
]

Anschließend können Sie die id im zurückgegebenen Array verwenden, um Informationen zu einer bestimmten Benachrichtigung 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 unter der Metrics API.