Zarządzanie alertami i powiadomieniami za pomocą interfejsu API

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

W kolejnych sekcjach opisaliśmy, jak zarządzać alertami za pomocą interfejsu API.

Więcej informacji na temat interfejsu Alerts API znajdziesz w artykule Alerts API.

Konfigurowanie alertów i powiadomień przy użyciu interfejsu API

Alerty i powiadomienia możesz skonfigurować, wysyłając żądanie POST do tego zasobu: https://apimonitoring.enterprise.apigee.com/alerts.

W następnych sekcjach znajdziesz przykłady konfigurowania alertów i powiadomień za pomocą interfejsu API:

Konfigurowanie alertu o kodzie stanu 5xx dla proxy interfejsu API za pomocą interfejsu API

Ten przykład pokazuje, jak skonfigurować alert, który jest wywoływany, gdy kody stanu 5xx występują z częstotliwością większą niż 100 transakcji na sekundę (TPS) przez 10 minut w przypadku usługi proxy API hoteli w środowisku produkcyjnym w dowolnym regionie. Po wywołaniu alertu na podany adres e-mail zostanie wysłane powiadomienie.

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
  -X POST \
  -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
     "organization":"myorg",
     "name":"5xx Alert",
     "description":"My 5xx alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "org":"myorg", 
            "env":"prod", 
            "proxy":"hotels",
            "region":"ANY",
            "statusCode":"5xx"
        },
        "metric":"tps",
        "threshold":100,
        "durationSeconds":600,
        "comparator":">"
     }
     ],
     "notifications":[{ 
         "channel":"email", 
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
    }'

Ustaw wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Informacje o opcjach cURL użytych w tym przykładzie znajdziesz w artykule Używanie cURL.

Konfigurowanie alertu o czasie oczekiwania w 95. procenty dla proxy interfejsu API za pomocą interfejsu API

W tym przykładzie pokazujemy, jak skonfigurować alert, który jest uruchamiany, gdy całkowity czas oczekiwania na odpowiedź dla 95 procentyla przekracza 100 ms przez 5 minut w przypadku usługi internetowej hotelu w środowisku produkcyjnym w dowolnym regionie.

W przypadku uruchomienia alertu wysyłane jest powiadomienie do określonego webhooka.

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
  -X POST \
  -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
     "organization":"myorg",
     "name":"My Alert",
     "description":"My first alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "org":"myorg", 
            "env":"prod",
            "proxy" : "hotels",
            "region":"ANY",
            "percentile":"95"
        },
        "metric":"totalLatency",
        "threshold":100,
        "durationSeconds":300,
        "comparator":">"
     }
     ],
     "notifications":[{ "channel":"webhook", "destination":"https://apigee.com/test-webhook"}],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
}'

Ustaw wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Informacje o opcjach cURL użytych w tym przykładzie znajdziesz w artykule Używanie cURL.

Skonfiguruj alert z kodem stanu 404 (Nie znaleziono aplikacji) dla wszystkich serwerów proxy interfejsu API korzystających z interfejsu API

Z przykładu poniżej dowiesz się, jak skonfigurować alert, który jest wywoływany, gdy przez 5 minut na wszystkich serwerach proxy interfejsów API w środowisku produkcyjnym w dowolnym regionie wystąpią kody stanu HTTP 404 z częstotliwością przekraczającą 10%.

Po uruchomieniu alertu wysyłane jest powiadomienie na określony kanał Slacka.

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
  -X POST \
  -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
     "organization":"myorg",
     "name":"404 Application Not Found Alert",
     "description":"My 404 alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{"org":"myorg", 
            "env":"prod", 
            "proxy":"ALL",
            "region":"ANY",
            "statusCode":"404"},
        "metric":"rate",
        "threshold":0.05,
        "durationSeconds":300,
        "comparator":">"
     }],
     "notifications":[{ "channel":"slack", "destination":"https://hooks.slack.com/services/T00000000/B00000000/XXXXX"}],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
}'

Ustaw $ACCESS_TOKEN jako token dostępu OAuth 2.0 w sposób opisany w artykule Uzyskiwanie tokena dostępu OAuth 2.0.

Informacje o opcjach cURL użytych w tym przykładzie znajdziesz w artykule Używanie cURL.

Konfigurowanie alertu dotyczącego liczby proxy interfejsu API dla interfejsów API korzystających z tego interfejsu

Poniżej znajdziesz przykład konfiguracji alertu, który jest wywoływany, gdy liczba kodów 5xx dla interfejsów API przekroczy 200 w ciągu 5 minut w dowolnym regionie.

W tym przykładzie interfejsy API są przechwytywane w zbiorze proxy interfejsów API o identyfikatorze UUID aeff4394-86b7-11e8-83d7-42010a840040. Aby uzyskać identyfikator UUID kolekcji, zapoznaj się z artykułem Wyświetlanie wszystkich kolekcji przy użyciu interfejsu API.

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
  -X POST \
  -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
     "organization":"myorg",
     "name":"Proxy Count Alert",
     "description":"My proxy count alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "collection":"aeff4394-86b7-11e8-83d7-42010a840040",
            "org":"myorg", 
            "env":"prod",
            "proxy" : "ANY",
            "region":"ANY",
            "statusCode":"5xx"
        },
        "metric":"count",
        "threshold":200,
        "durationSeconds":300,
        "comparator":">"
     }
     ],
     "notifications":[{ 
         "channel":"email", 
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
    }'

Ustaw wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Informacje o opcjach cURL użytych w tym przykładzie znajdziesz w artykule Używanie cURL.

Konfigurowanie alertu dotyczącego odsetka błędów w przypadku usług docelowych za pomocą interfejsu API

Poniżej znajdziesz przykładowy sposób konfigurowania alertu, który jest uruchamiany, gdy współczynnik kodu 500 dla usług docelowych przekracza 10% przez 1 godzinę w dowolnym regionie.

W tym przykładzie usługi docelowe są rejestrowane w kolekcji Cele krytyczne (z identyfikatorem UUID aeff4394-86b7-11e8-83d7-42010a840040). Aby uzyskać identyfikator UUID kolekcji, zapoznaj się z artykułem Wyświetlanie wszystkich kolekcji za pomocą interfejsu API.

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
  -X POST \
  -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
     "organization":"myorg",
     "name":"Error rate Alert",
     "description":"My error rate alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "collection":"aeff4394-86b7-11e8-83d7-42010a840040",
            "org":"myorg", 
            "env":"prod",
            "proxy" : "ANY",
            "region":"ANY",
            "statusCode":"500"
        },
        "metric":"rate",
        "threshold":0.1,
        "durationSeconds":3600,
        "comparator":">"
     }
     ],
     "notifications":[{ 
         "channel":"email", 
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
    }'

Ustaw wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Informacje o opcjach cURL użytych w tym przykładzie znajdziesz w artykule Używanie cURL.

Konfigurowanie alertu o częstości błędów dla zasady dotyczącej wezwania do działania obsługi za pomocą interfejsu API

Poniżej znajdziesz przykład konfiguracji alertu, który jest wywoływany, gdy współczynnik kodu 500 dla usługi określonej przez zasady ServiceCallout przekroczy 10% przez 1 godzinę dla dowolnego regionu.

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
  -X POST \
  -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
     "organization":"myorg",
     "name":"Error rate Alert",
     "description":"My error rate alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "target": "sc://docstore-api",
            "org":"myorg", 
            "env":"prod",
            "proxy" : "ANY",
            "region":"ANY",
            "statusCode":"500"
        },
        "metric":"rate",
        "threshold":0.1,
        "durationSeconds":3600,
        "comparator":">"
     }
     ],
     "notifications":[{ 
         "channel":"email", 
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
    }'

Ustaw wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Informacje o opcjach cURL użytych w tym przykładzie znajdziesz w artykule Używanie cURL.

Konfigurowanie alertu o kodzie błędu zasady za pomocą interfejsu API

Ten przykład pokazuje, jak skonfigurować alert, który jest uruchamiany, gdy spełniony jest jeden z tych warunków:

  • Liczba błędów SpikeArrestViolation przekracza 10 w ciągu 5 minut w przypadku interfejsów API w środowisku produkcyjnym w dowolnym regionie.
  • Liczba wszystkich kodów błędów protokołu interfejsu API jest większa niż 3% przez 5 minut w przypadku interfejsów API w środowisku produkcyjnym w dowolnym regionie.

W tym przykładzie interfejsy API są przechwytywane w zbiorze proxy interfejsów API o identyfikatorze UUID aeff4394-86b7-11e8-83d7-42010a840040. Aby uzyskać identyfikator UUID kolekcji, zapoznaj się z artykułem Wyświetlanie wszystkich kolekcji za pomocą interfejsu API.

Po uruchomieniu alertu wysyłane jest powiadomienie do określonego kodu PagerDuty.

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
  -X POST \
  -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
     "organization":"myorg",
     "name":"My Fault Code Alert",
     "description":"My fault code alert",
     "environment":"prod",
     "enabled":true,
     "conditions":[
     {
        "description":"",
        "dimensions": { 
            "collection":"aeff4394-86b7-11e8-83d7-42010a840040",
            "org":"myorg",
            "env":"prod",
            "proxy":"ANY",
            "region":"ANY",
            "faultCodeCategory":"Traffic Mgmt Policy",
            "faultCodeSubCategory":"Spike Arrest",
            "faultCodeName":"SpikeArrest Violation"
        },
        "metric":"count,
        "threshold":10,
        "durationSeconds":300,
        "comparator":">"
     },
     {
       "description":"",
       "dimensions": { 
           "collection":"aeff4394-86b7-11e8-83d7-42010a840040",
           "org":"myorg",
           "env":"prod",
           "proxy":"ANY",
           "region":"ANY",
           "faultCodeCategory":"API Protocol",
           "faultCodeSubCategory":"ALL"
       },
       "metric":"rate",
       "threshold":0.03,
       "durationSeconds":300,
       "comparator":">"
     }   
     ],
     "notifications":[{ "channel":"pagerduty", "destination":"abcd1234efgh56789"}],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
}'

Ustaw wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Informacje o opcjach cURL użytych w tym przykładzie znajdziesz w artykule Używanie cURL.

Wyświetlanie alertów i powiadomień

W następnych sekcjach znajdziesz przykłady wyświetlania definicji alertów i informacji o wywołanych alertach za pomocą interfejsu API:

Wyświetlanie wszystkich definicji alertów w organizacji

Aby wyświetlić wszystkie definicje alertów i powiadomień, wyślij żądanie GET do tego interfejsu API: https://apimonitoring.enterprise.apigee.com/alerts.

Nazwa organizacji musi być przekazywana za pomocą parametru zapytania org.

Na przykład:

curl 'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg'
    -X GET
    -H 'Accept: application/json, text/plain, */*'
    -H "Authorization: Bearer $ACCESS_TOKEN"    

W polu uuid odpowiedzi znajduje się identyfikator UUID alertu. Ten identyfikator UUID jest potrzebny do wywoływania informacji związanych z definicją alertu. Poniżej przedstawiamy przykład odpowiedzi:

[ 
 {
    "uuid": "4fa49a87-3463023ea7c4",
    "name": "PublicAPI latency alert",
    "enabled": true,
    "description": "Public API Latency alerts, 90th %ile > 6secs for 5 minute window trigger this alert",
    "conditions": [
      {
        "uuid": "4fa49a87-3463023ea7c4",
        "description": "",
        "dimensions": {
          "env": "prod",
          "org": "myorg",
          "percentile": "90",
          "proxy": "PublicAPI",
          "region": "ANY"
        },
        "metric": "totalLatency",
        "threshold": 6000,
        "durationSeconds": 300,
        "comparator": ">",
        "updatedBy": "me@foo.com"
      }
    ],
    "playbook": "PublicAPI Latency alert, setup to go off when 90th %ile is > 4 secs for 5 minute window",
    "throttleIntervalSeconds": 3600,
    "self": "/alerts/4fa49a87-3463023ea7c4",
    "feed": "/o/myorg/events/4fa49a87-3463023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "notifications": [
      {
        "channel": "email",
        "destination": "me@foo.com"
      }
    ],
    "updatedAt": "2018-07-19T18:19:31.654738Z",
    "updatedBy": "me@foo.com"
  },
  {
    "uuid": "ef1a5249-345ed3023ea7c4",
    "name": "Minty API Latency alert",
    "enabled": true,
    "description": "Minty API Latency alerts, 90th %ile > 6secs for 5 minute window trigger this alert",
    "conditions": [
      {
        "uuid": "ef1a5249-345ed3023ea7c4",
        "description": "",
        "dimensions": {
          "env": "prod",
          "org": "myorg",
          "percentile": "90",
          "proxy": "minty",
          "region": "ANY"
        },
        "metric": "totalLatency",
        "threshold": 6000,
        "durationSeconds": 300,
        "comparator": ">",
        "updatedBy": "me@foo.com"
      }
    ],
    "playbook": "Minty API",
    "throttleIntervalSeconds": 3600,
    "self": "/alerts/ef1a5249-345ed3023ea7c4",
    "feed": "/o/myorg/events/ef1a5249-345ed3023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "notifications": [
      {
        "channel": "email",
        "destination": "me@foo.com"
      }
    ],
    "updatedAt": "2018-07-19T18:19:33.22479Z",
    "updatedBy": "me@foo.com"
  },
 ...
]

Ustaw wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Informacje o opcjach cURL użytych w tym przykładzie znajdziesz w artykule Używanie cURL.

Wyświetlanie definicji konkretnego alertu

Aby wyświetlić definicję konkretnego alertu, wyślij żądanie GET do tego zasobu: https://apimonitoring.enterprise.apigee.com/alerts/alert_uuid gdzie alert_uuid określa identyfikator UUID definicji alertu. Uzyskaj UUID podczas tworzenia alertu lub użyj wywołania interfejsu API pokazanego w poprzedniej sekcji, aby wyświetlić listę wszystkich alertów i powiązanych z nimi identyfikatorów UUID.

Na przykład:

curl 'https://apimonitoring.enterprise.apigee.com/alerts/4fa49a87-3463023ea7c4'
    -X GET
    -H 'Accept: application/json, text/plain, */*'
    -H "Authorization: Bearer $ACCESS_TOKEN"    

Poniżej przedstawiamy przykład odpowiedzi:

  {
    "uuid": "4fa49a87-3463023ea7c4",
    "name": "PublicAPI latency alert",
    "enabled": true,
    "description": "Public API Latency alerts, 90th %ile > 6secs for 5 minute window trigger this alert",
    "conditions": [
      {
        "uuid": "4fa49a87-3463023ea7c4",
        "description": "",
        "dimensions": {
          "env": "prod",
          "org": "myorg",
          "percentile": "90",
          "proxy": "PublicAPI",
          "region": "ANY"
        },
        "metric": "totalLatency",
        "threshold": 6000,
        "durationSeconds": 300,
        "comparator": ">",
        "updatedBy": "me@foo.com"
      }
    ],
    "playbook": "PublicAPI Latency alert, setup to go off when 90th %ile is > 4 secs for 5 minute window",
    "throttleIntervalSeconds": 3600,
    "self": "/alerts/4fa49a87-3463023ea7c4",
    "feed": "/o/myorg/events/4fa49a87-3463023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "notifications": [
      {
        "channel": "email",
        "destination": "me@foo.com"
      }
    ],
    "updatedAt": "2018-07-19T18:19:31.654738Z",
    "updatedBy": "me@foo.com"
  }

Ustaw wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Informacje o opcjach cURL użytych w tym przykładzie znajdziesz w artykule Używanie cURL.

Wyświetlanie historii wszystkich aktywowanych alertów w organizacji

Aby wyświetlić historię wszystkich alertów wyzwolionych w organizacji, wyślij żądanie GET do tego zasobu: https://apimonitoring.enterprise.apigee.com/metrics/alerthistory.

Nazwa organizacji musi być przekazywana za pomocą parametru zapytania org. Opcjonalnie możesz określić przedział czasu używany do wyszukiwania wyzwolonych alertów. Domyślnie zwracane są wszystkie alerty wygenerowane w ciągu ostatniej godziny.

Na przykład:

curl 'https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg'
    -X GET
    -H 'Accept: application/json, text/plain, */*'
    -H "Authorization: Bearer $ACCESS_TOKEN"    

Odpowiedź zawiera tablicę wszystkich alertów wyzwolonych w wybranym okresie. W treści odpowiedzi pole id określa identyfikator UUID wywołanego alertu, a pole shared_id – identyfikator UUID definicji alertu powiązanej z uruchomionym alertem.

Poniżej podano przykład odpowiedzi.

[
  {
    "id": "80cbe560-f6e0-475c6f7ed2d",
    "shared_id": "4fa49a87-3463023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "name": "PublicAPI latency alert",
    "type": "Alert",
    "source": "null/current",
    "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"emgmt-api 404\",\"self\":\"/alerts/4fa49a87-3463023ea7c4\",\"description\":\"go/apigee-extensions-playbook\",\"conditions\":[
  {\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"PublicAPI latency alert\",\"description\":\"\",\"threshold\":0.05,\"dimensions\":{\"proxy\":\"emgmt-api\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"404\"}}],\"uuid\":\"4fa49a87-3463023ea7c4\",\"playbook\":\"go/apigee-extensions-playbook\"}",
    "time": "2019-03-25T15:30:18Z"
  },
  {
    "id": "8131d740-6680-45b9c72c3",
    "shared_id": "1a64885b-f9-42010a850039",
    "organization": "apigee-pinpoint",
    "environment": "prod",
    "name": "Demo 5xx alert",
    "type": "Alert",
    "source": "null/current",
    "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"Demo 5xx alert\",\"self\":\"/alerts/1a64885b-f9-42010a850039\",\"description\":\"Demo 5xx alert\",\"conditions\":[
  {\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"Demo 5xx alert\",\"description\":\"\",\"threshold\":0.4,\"dimensions\":{\"proxy\":\"ALL\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"5xx\"}}],\"uuid\":\"1a64885b-f9-42010a850039\",\"playbook\":\"Recommended Playbook\"}",
    "time": "2019-03-25T15:57:30Z"
  },
 ...
]

Ustaw wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Informacje o opcjach cURL użytych w tym przykładzie znajdziesz w artykule Używanie cURL.

Wyświetlanie historii konkretnego alertu

Aby wyświetlić historię wywołanych alertów dla określonej definicji alertu, wyślij żądanie GET do tego zasobu: https://apimonitoring.enterprise.apigee.com/metrics/alerthistory.

Musisz przekazać nazwę organizacji za pomocą parametru zapytania org i identyfikatora UUID definicji alertu. Opcjonalnie możesz określić przedział czasu używany do wyszukiwania alertów. Domyślnie wyświetlane są wszystkie alerty aktywowane w ciągu ostatniej godziny.

Identyfikator UUID definicji alertu możesz uzyskać z historii alertów zgodnie z instrukcjami w poprzedniej sekcji, podczas tworzenia definicji alertu lub przy użyciu wywołania interfejsu API opisanego w sekcji Wyświetlanie wszystkich definicji alertów.

Na przykład:

curl 'https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&alertId=4fa49a87-3463023ea7c4'
    -X GET
    -H 'Accept: application/json, text/plain, */*'
    -H "Authorization: Bearer $ACCESS_TOKEN"    

Odpowiedź zawiera tablicę wszystkich alertów wyzwolonych w wybranym przedziale czasu dla określonego identyfikatora UUID definicji alertu. W treści odpowiedzi pole id określa identyfikator UUID wywołanego alertu, a pole shared_id określa identyfikator UUID definicji alertu powiązanej z wywołanym alertem.

Poniżej przedstawiamy przykład odpowiedzi.

[
  {
    "id": "80cbe560-f6e0-475c6f7ed2d",
    "shared_id": "4fa49a87-3463023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "name": "PublicAPI latency alert",
    "type": "Alert",
    "source": "null/current",
    "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"emgmt-api 404\",\"self\":\"/alerts/4fa49a87-3463023ea7c4\",\"description\":\"go/apigee-extensions-playbook\",\"conditions\":[
  {\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"PublicAPI latency alert\",\"description\":\"\",\"threshold\":0.05,\"dimensions\":{\"proxy\":\"emgmt-api\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"404\"}}],\"uuid\":\"4fa49a87-3463023ea7c4\",\"playbook\":\"go/apigee-extensions-playbook\"}",
    "time": "2019-03-25T15:30:18Z"
  },
  {
    "id": "9fc442d5-d607-40ef118c4e7",
    "shared_id": "4fa49a87-3463023ea7c4",
    "organization": "myorg",
    "environment": "prod",
    "name": "PublicAPI latency alert",
    "type": "Alert",
    "source": "null/current",
    "raw_payload": "{\"reportUUID\":\"\",\"reportEnabled\":false,\"organization\":\"myorg\",\"name\":\"emgmt-api 404\",\"self\":\"/alerts/4fa49a87-3463023ea7c4\",\"description\":\"go/apigee-extensions-playbook\",\"conditions\":[{\"comparator\":\">\",\"metric\":\"rate\",\"durationSeconds\":300,\"name\":\"PublicAPI latency alert\",\"description\":\"\",\"threshold\":0.05,\"dimensions\":{\"proxy\":\"emgmt-api\",\"org\":\"myorg\",\"env\":\"prod\",\"region\":\"any\",\"statusCode\":\"404\"}}],\"uuid\":\"4fa49a87-3463023ea7c4\",\"playbook\":\"go/apigee-extensions-playbook\"}",
    "time": "2019-03-25T15:17:55Z"
  },
 ...
]

Ustaw wartość $ACCESS_TOKEN na token dostępu OAuth 2.0 zgodnie z opisem w sekcji Uzyskiwanie tokena dostępu OAuth 2.0.

Informacje o opcjach cURL użytych w tym przykładzie znajdziesz w artykule Używanie cURL.