Usa la API de detección de anomalías

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

La mayoría de las APIs que usas para crear y administrar alertas de anomalías y recopilar métricas de anomalías son las mismas que usas con alertas fijas. Las siguientes APIs de alertas funcionan de la misma manera para las alertas de correcciones y de anomalías:

Sin embargo, algunas API tienen propiedades adicionales que se usan para admitir alertas de anomalía, como las siguientes:

Configura $ACCESS_TOKEN

Todas las llamadas a la API que se muestran a continuación pasan tus credenciales en una variable de entorno llamada $ACCESS_TOKEN. Configura $ACCESS_TOKEN como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de cURL que se usan en estos ejemplos, consulta Usa cURL.

Recibir alertas

De forma predeterminada, el botón Obtener alertas La API muestra información sobre todas las alertas definidas. Esta API ahora toma parámetros de búsqueda que te permiten filtrar los resultados:

  • enabled: Si true especifica que solo se muestran alertas habilitadas. El valor predeterminado es false.
  • alertType: Especifica el tipo de alerta que se mostrará. Los valores permitidos son runtime, el valor predeterminado, cert.
  • alertSubType: Especifica el subtipo de alerta que se mostrará. El valor predeterminado no está configurado, lo que significa que se muestran todos los subtipos de alerta. Especifica anomaly para mostrar alertas de anomalías.

Por ejemplo, usa la siguiente llamada a la API a fin de mostrar solo las alertas habilitadas para la organización llamada myorg:

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

En la siguiente llamada, solo se muestran alertas de anomalías, tanto habilitadas como inhabilitadas:

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

Crea o actualiza una alerta de anomalía

Usa las mismas API para crear o actualizar una alerta de anomalías como lo haces en la actualidad para una alerta fija. El cuerpo de la llamada a la API a fin de crear o actualizar una alerta de anomalía es el mismo que se usa para una alerta fija, con los siguientes cambios:

  • Debes agregar las siguientes propiedades nuevas a fin de especificar que la alerta sea una alerta anormal:

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

    Los valores predeterminados de estas propiedades son los siguientes:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • En el arreglo conditions, sucede lo siguiente:

    • La propiedad metrics solo toma los siguientes valores:

      • count: Genera una alerta sobre los recuentos de errores HTTP.
      • totalLatency: Genera una alerta para la latencia.
    • La propiedad threshold toma una string en lugar de un número. Los valores admitidos son los siguientes: slight, moderate y severe.
    • No se admiten las propiedades durationSeconds y comparator.
  • En el elemento dimensions del arreglo conditions, se muestra lo siguiente:

    • Debes establecer el valor de la propiedad proxy como ALL.
    • La propiedad statusCode solo admite un valor de 4xx, 503, 504, and 5xx.
    • Las propiedades developerApp, collection, faultCodeCategory, faultCodeSubCategory y faultCodeName no son compatibles.
  • La propiedad reportEnabled no es compatible con las alertas de anomalía.

En la siguiente llamada a la API de ejemplo, se crea una alerta de anomalía que se activa cuando los códigos de estado 5xx se producen a una tasa moderada para todos los proxies de API en el entorno de producción de cualquier región. Se envía una notificación a la dirección de correo electrónico especificada cuando se activa la alerta:

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
    }'

Usa la API de eventos con anomalías

Usa la API de /metrics/events para obtener todos los eventos de una organización durante un intervalo especificado. La lista de eventos incluye las anomalías detectadas por Edge y las alertas activadas. Las alertas pueden incluir alertas fijas y de anomalía.

De forma predeterminada, la API muestra todos los eventos de la hora anterior. Usa los parámetros de búsqueda from y to para especificar una duración diferente. Los valores de los parámetros de búsqueda from y to para especificar una duración diferente.

Por ejemplo, en la siguiente llamada a la API, se muestran todos los eventos de la organización myorg para las 12 horas anteriores:

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

Configura $ACCESS_TOKEN como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener más información sobre las opciones cURL que se usaron en este ejemplo, consulta Usa cURL.

La siguiente llamada muestra todos los eventos de anomalía con un límite moderado para las últimas 24 horas:

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

Solo se requiere el parámetro de búsqueda org para esta API. Junto con los parámetros de búsqueda descritos en el documento de la API en /metrics/events, esta API es compatible con las siguientes opciones que admiten la detección de anomalías:

Name Descripción Predeterminada
threshold

Filtra eventos según el umbral especificado: slight, moderate o severe.

Solo se permite cuando configuras type=anomaly.

Todas las gravedades
type Filtrar eventos por el tipo especificado: alert o anomaly. Especifica varios valores como una lista separada por comas. Todos los tipos