Korzystanie z interfejsu API do wykrywania anomalii

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Większość interfejsów API, których używasz do tworzenia alertów o anomalii i zarządzania nimi oraz do gromadzenia wskaźników o anomalii, jest taka sama jak te używane ze stałymi alertami. Poniższe interfejsy API alertów działają w taki sam sposób zarówno w przypadku alertów naprawionych, jak i o anomalii:

Niektóre interfejsy API mają jednak dodatkowe właściwości używane do obsługi alertów o anomalii, np.:

  • Otrzymuj alerty – wyświetla wszystkie alerty, w tym alerty o problemach naprawionych i anomalii.
  • Utwórz alert – utwórz alert o stałej wartości lub o anomalii.
  • Aktualizowanie alertu – aktualizowanie definicji alertu o naprawionej lub anomalii.

$ACCESS_TOKEN ustawienia

Wszystkie wywołania interfejsu API widoczne poniżej przekazują Twoje dane logowania w zmiennej środowiskowej o nazwie $ACCESS_TOKEN. Ustaw w $ACCESS_TOKEN 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 tych przykładach znajdziesz w sekcji Używanie cURL.

Chcę dostawać alerty

Domyślnie interfejs API Otrzymywanie alertów zwraca informacje o wszystkich zdefiniowanych alertach. Ten interfejs API pobiera teraz parametry zapytania, aby umożliwić Ci filtrowanie wyników:

  • enabled – jeśli true określa, że mają zwracać tylko włączone alerty. Wartością domyślną jest false.
  • alertType – określa typ alertu, który ma być zwracany. Dozwolone wartości to runtime (wartość domyślna) i cert.
  • alertSubType – określa podtyp alertu, który ma być zwracany. Wartość domyślna jest nieskonfigurowana, co oznacza, że zwraca wszystkie podtypy alertów. Określ anomaly, aby zwracać alerty o anomalii.

Na przykład to wywołanie interfejsu API spowoduje zwrócenie włączenia alertów tylko dla organizacji o nazwie myorg:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

To wywołanie zwraca tylko alerty o anomalii, zarówno włączone, jak i wyłączone:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=runtime&alertSubType=anomaly'

Tworzenie lub aktualizowanie alertu o anomalii

Do tworzenia i aktualizowania alertów o anomalii możesz używać tych samych interfejsów API co w przypadku naprawionych alertów. Treść wywołania interfejsu API służącego do tworzenia lub aktualizowania alertu o anomalii jest taka sama jak w przypadku ustalonego alertu, z tymi zmianami:

  • Aby określić, że alert jest alertem o anomalii, musisz dodać te nowe właściwości:

    "alertType": "runtime"
    "alertSubType": "anomaly"

    Wartości domyślne tych właściwości to:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • W tablicy conditions:

    • Właściwość metrics przyjmuje tylko wartości:

      • count – zgłaszanie alertu o liczbie błędów HTTP,
      • totalLatency – zwiększ alert o czasie oczekiwania.
    • Właściwość threshold przyjmuje ciąg znaków, a nie liczbę. Obsługiwane wartości to: slight, moderate i severe.
    • Właściwości durationSeconds i comparator nie są obsługiwane.
  • W elemencie dimensions tablicy conditions:

    • Musisz ustawić wartość ALL właściwości proxy.
    • Właściwość statusCode obsługuje tylko wartość 4xx, 503, 504, and 5xx.
    • Właściwości developerApp, collection, faultCodeCategory, faultCodeSubCategory i faultCodeName nie są obsługiwane.
  • Właściwość reportEnabled nie jest obsługiwana w przypadku alertów o anomalii.

Podane niżej przykładowe wywołanie interfejsu API tworzy alert o anomalii, który jest aktywowany, gdy kody stanu 5xx występują ze umiarkowaną częstotliwością dla wszystkich serwerów proxy interfejsu API w środowisku produkcyjnym w dowolnym regionie. Po uruchomieniu alertu na podany adres e-mail wysyłane jest 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 Anomaly Alert",
     "description":"My 5xx alert",
     "environment":"prod",
     "enabled":true,
     "alertType": "runtime",
     "alertSubType": "anomaly",
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "org":"myorg",
            "env":"prod",
            "proxy":"ALL",
            "region":"ANY",
            "statusCode":"5xx"
        },
        "metric":"count",
        "threshold": "moderate"
     }
     ],
     "notifications":[{
         "channel":"email",
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600
    }'

Używanie interfejsu Events API z anomaliami

Aby uzyskać dostęp do wszystkich zdarzeń w organizacji w określonym przedziale czasu, użyj interfejsu API /metrics/events. Lista zdarzeń zawiera anomalie wykryte przez Edge i wszystkie aktywowane alerty. Alerty mogą zawierać zarówno alerty naprawione, jak i alerty o anomalii.

Domyślnie interfejs API zwraca wszystkie zdarzenia z poprzedniej godziny. Aby określić inny czas trwania, użyj parametrów zapytania from i to. Wartości parametrów zapytania from i to określające inny czas trwania.

Na przykład to wywołanie interfejsu API zwraca wszystkie zdarzenia w organizacji myorg z ostatnich 12 godzin:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&from=-12h&to=now"

Ustaw w $ACCESS_TOKEN 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 sekcji Użycie cURL.

Następne wywołanie zwraca wszystkie zdarzenia anomalii o umiarkowanej wartości progowej z ostatnich 24 godzin:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&type=anomaly&threshold=moderate&from=-24h&to=now"

W przypadku tego interfejsu API wymagany jest tylko parametr zapytania org. Oprócz parametrów zapytania opisanych w dokumencie API na stronie /metrics/events ten interfejs API obsługuje też te opcje wykrywania anomalii:

Nazwa Opis Domyślne
threshold

Filtruj zdarzenia według określonego progu: slight, moderate lub severe.

Dozwolona tylko wtedy, gdy skonfigurujesz type=anomaly.

Wszystkie wagi
type Filtruj zdarzenia według określonego typu: alert lub anomaly. Jeśli chcesz podać więcej wartości, użyj listy rozdzielanej przecinkami. Wszystkie typy