Configura alertas de vencimiento

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Usa una alerta de vencimiento de TLS para enviar una notificación cuando el certificado TLS de un entorno esté por vencer.

Información acerca de los certificados TLS

TLS (seguridad de la capa de transporte) es la tecnología de seguridad estándar para establecer un vínculo encriptado entre un servidor web y un cliente web, como un navegador o una app. Un vínculo encriptado garantiza que todos los datos que se pasan entre el servidor y el cliente permanezcan privados.

Un certificado TLS es un archivo digital que identifica una entidad en una transacción TLS. Edge usa un certificado TLS para configurar TLS en los siguientes casos:

  • Acceso a los proxies de API por parte de los clientes de la API. Usa hosts virtuales para configurar TLS.
  • Acceso a tus servicios de backend por el perímetro. Usa extremos y servidores de destino en Edge Message Processor para configurar TLS.

Un certificado TLS contiene una fecha de vencimiento. Si un certificado TLS vence, la conexión TLS fallará hasta que lo actualices. Eso significa que todas las solicitudes a tu API fallarán hasta que actualices el certificado.

Información acerca de las alertas de vencimiento

En lugar de esperar a que venza un certificado y a que fallen las solicitudes a la API, usa una alerta de vencimiento para generar una notificación cuando algún certificado TLS en un entorno esté por vencer. Después de que se active la alerta, puedes actualizar el certificado para que tus clientes no vean ninguna interrupción en el servicio.

Cuando configures la alerta, no especifiques un certificado individual, sino un entorno específico. La alerta se activa cuando cualquier certificado implementado está programado para vencer dentro del intervalo de tiempo especificado.

Puedes configurar la alerta de vencimiento de la siguiente forma:

  • 1 día antes de que venza cualquier certificación
  • 14 días antes de que venza cualquier certificación
  • 30 días antes de que venza cualquier certificación
Para obtener más información sobre las alertas, consulta Configura alertas y notificaciones.

Agrega alertas y notificaciones de vencimiento

Para agregar alertas de vencimiento y notificaciones, haz lo siguiente:
  1. Haz clic en Analizar > Reglas de alerta en la IU de Edge.
  2. Haz clic en +Alerta.
  3. Ingresa la siguiente información general sobre la alerta:
    Campo Descripción
    Nombre de la alerta Nombre de la alerta. Usa un nombre que describa el activador y que sea significativo para ti. El nombre no puede superar los 128 caracteres.
    Descripción Descripción de la alerta.
    Tipo de alerta Selecciona Vencimiento de TLS. Consulta Acerca de los tipos de alertas para obtener más información.
    Entorno Selecciona el entorno de la lista desplegable.
    Estado Activa o desactiva la opción para habilitar o inhabilitar la alerta.
  4. Define el umbral y la dimensión de la condición que activará la alerta.
    Campo Condición Descripción
    Umbral

    Configura el intervalo de tiempo de los certificados que vencerán. Puedes optar por enviar una alerta cuando un certificado venza en los siguientes países:

    • 1 día
    • 14 días
    • 30 días
    Dimensión Las dimensiones se fijan en un valor de Cualquier certificado TLS que corresponda a cualquier certificado TLS del entorno.
  5. Haz clic en + Notificación para agregar una notificación de alerta.
    Detalles de la notificación Descripción
    Canal Selecciona el canal de notificaciones que quieres usar y especifica el destino: Email, Slack, PagerDuty o Webhook.
    Destino Especifica el destino según el tipo de canal seleccionado:
    • Correo electrónico: dirección de correo electrónico, como joe@company.com
    • Slack: URL del canal de Slack, como https://hooks.slack.com/services/T00000000/B00000000/XXXXX
    • PagerDuty: código de PagerDuty, como abcd1234efgh56789
    • Webhook: URL de webhook, como https://apigee.com/test-webhook

      Nota: Solo puedes especificar un destino por notificación. Si quieres especificar varios destinos para el mismo tipo de canal, agrega notificaciones adicionales.

  6. Para agregar notificaciones adicionales, repite el paso anterior.
  7. Si agregaste una notificación, configura los siguientes campos:
    Campo Descripción
    Playbook (Opcional) Campo de texto de formato libre que proporciona una descripción breve de las acciones recomendadas para resolver las alertas cuando se activan. También puedes especificar un vínculo a tu wiki interna o página de la comunidad en la que puedes hacer referencia a las prácticas recomendadas. La información de este campo se incluirá en la notificación. El contenido de este campo no puede superar los 1,500 caracteres.
    Limitar La frecuencia con la que se envían notificaciones. Selecciona un valor de la lista desplegable.
  8. Haz clic en Guardar.

Ver alertas en el panel Eventos

Cuando Edge detecta una condición de alerta, la registra de forma automática en el panel Events en la IU de Edge. En la lista de eventos que se muestra en el panel de eventos, se incluyen todas las alertas, tanto fijas como certificadas.

Para ver una alerta, sigue estos pasos:

  1. Haz clic en Analyze > Events en la IU de Edge. Aparecerá el nuevo panel de Eventos:

  2. Filtra el panel de eventos por:

    • Entorno
    • Región
    • Período
  3. Selecciona una fila en el panel Event para mostrar el almacén de claves que contiene el certificado por vencer y, así, investigar la alerta en profundidad. En la página del Almacén de claves, puedes subir un certificado nuevo y borrar el que vence.

Usa las APIs de alertas con alertas de vencimiento

La mayoría de las APIs que usas para crear y administrar alertas de vencimiento son las mismas que usas con las alertas fijas. Las siguientes APIs de alertas funcionan de la misma manera para las alertas fijas y las de vencimiento:

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

Crea o actualiza una alerta de vencimiento

Usa las mismas APIs para crear o actualizar una alerta de vencimiento que usas actualmente para una alerta corregida. El cuerpo de la llamada a la API para crear o actualizar una alerta de vencimiento es el mismo que se usa en una alerta corregida, con los siguientes cambios:

  • Debes agregar las siguientes propiedades nuevas para especificar que la alerta es una alerta de vencimiento:

    "alertType": "cert"
    "alertSubType": "certfixed"

    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 valores de expiration.
    • Usa la propiedad gracePeriodSeconds para especificar el intervalo de tiempo del vencimiento del certificado en segundos, hasta una duración máxima de 30 días.
    • Las propiedades threshold, durationSeconds y comparator no son compatibles.
  • En el elemento dimensions del array conditions, haz lo siguiente:
    • Debes establecer el valor de la propiedad certificate como ANY.
    • Debes establecer el valor de la propiedad proxy como ALL.
    • No se admiten las propiedades statusCode, developerApp, collection, faultCodeCategory, faultCodeSubCategory y faultCodeName.
  • La propiedad reportEnabled no es compatible con las alertas de vencimiento.

En la siguiente llamada a la API de ejemplo, se crea una alerta de vencimiento que se activa cuando cualquier garantía en el entorno de producción vence en los próximos 30 días. Cuando se activa la alerta, se envía una notificación a la dirección de correo electrónico especificada:

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 Cert Expiry Alert",
  "description":"My Cert Expiry Alert",
  "environment":"prod",
  "enabled":true,
  "alertType": "cert",
  "alertSubType": "certfixed",
  "conditions":[
  {
    "description":"My Cert Expiry Alert",
    "dimensions":{
      "org":"myorg",
      "env":"prod",
      "proxy":"ALL",
      "certificate": "ANY"
    },
    "metric":"expiration",
    "gracePeriodSeconds": 2592000
  }],
  "notifications":[{
    "channel":"email",
    "destination":"ops@acme.com"
  }],
  "playbook":"http://acme.com/pb.html",
  "throttleIntervalSeconds":3600,
  "reportEnabled":false
}'

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 este ejemplo, consulta Usa cURL.

Recibe alertas de vencimiento

De forma predeterminada, la API de Get Alerts muestra información sobre todas las alertas definidas, tanto fijas como vencidas. 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 predeterminado y 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 certfixed para mostrar alertas de vencimiento.

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

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

La siguiente llamada solo muestra alertas de vencimiento, tanto habilitadas como inhabilitadas:

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

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 este ejemplo, consulta Usa cURL.