Messwertdaten mithilfe der API ansehen

Sie sehen die Apigee Edge-Dokumentation.
Rufen Sie die Apigee X-Dokumentation auf.
weitere Informationen

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 Messwerte mithilfe der API verwaltet werden.

Weitere Informationen finden Sie unter Metrics API.

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

Messwert-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 Rufen Sie Traffic-Messwerte ab. Geben Sie Filter wie Proxy-Name, Intervall, Zeitfenster, Ziel, Statuscode und viele weitere an.
/latency Latenzmesswerte für Anfragen abrufen

zu Edge- und Backend-Zielen. Geben Sie Filter wie Proxy-Name, Intervall, Ziel, Statuscode und viele weitere an.

/targets Rufen Sie alle Zieldomains für eine bestimmte Organisation und Umgebung ab.
/alerthistory Rufen Sie Benachrichtigungsverlaufsmesswerte für eine bestimmte Organisation und ein bestimmtes Zeitfenster ab.
/alertinstance/instanceid Rufen Sie Benachrichtigungsverlaufsmesswerte für die spezifische Alert-Instanz-ID ab.
/alertsummary Rufen Sie die Gesamtzahl der Benachrichtigungen für eine Organisation und ein Zeitfenster ab.
/faultcodenames Alle Fehlercodenamen abrufen.
/faultcodes Fehlercodes abrufen.
/faultcodecategories Fehlercode-Kategorien abrufen.
/faultcodesubcategories Fehlercode-Unterkategorien abrufen.
/faultcodedetails Rufen Sie alle Fehlercodes mit Details ab.

Fehlerinformationen abrufen

Die Ressourcen vom Typ /fault* 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"

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

Die Antwort wird so angezeigt:

{
  "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 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 in der Metrics API.

Messwerte für Traffic und Latenz erfassen

Die Metrics API verfügt über 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 die Messwerte für Transaktionen pro Sekunde (tps) alle zehn Minuten für die vorherige 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" 

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

Dieser Aufruf gibt Ergebnisse in der folgenden Form 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, wie das Attribut columns das Format von values angibt. Das Attribut 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 der Messwert in den Ergebnissen gespeichert wird, und das Stichprobenfenster für den Wert in den Ergebnissen. Im obigen Beispiel wird der Messwert ü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 Zeitraum anzugeben. Die maximale Dauer, die durch from und to angegeben wird, beträgt 24 Stunden.

Folgende Datumsformate sind möglich:

  • 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 Zeitraum 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 besteht darin, mit dem Abfrageparameter proxy 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"

Geben Sie für Latenzmesswerte viele der gleichen Kriterien wie für Verkehrsmesswerte 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 gesamten Antwortlatenzwert 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-minütiges Zeitfenster 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 Warnungen, für eine bestimmte Warnung oder eine Warnungszusammenfassung 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"

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