Escenario: división de mensajes por flujo de métricas

Desplácese por la configuración de una alarma para enviar un mensaje a cada flujo de métricas. En este ejemplo, desea recibir una notificación cuando un servidor supere un umbral. Con esta configuración, recibirá mensajes específicos del servidor.

Atención

Con los mensajes divididos por flujo de métricas, tenga en cuenta el número de recursos supervisados por la alarma. Si cientos de recursos disparan simultáneamente la alarma para que se dispare, se envían varios mensajes al mismo tiempo. Muchos mensajes pueden inundar el teléfono (SMS), la bandeja de entrada (correo electrónico) u otro punto final de mensajería y algunos mensajes podrían retrasarse debido a los límites de servicio. Para obtener más información sobre los límites y las mejores prácticas, consulte Límites de mensajes de alarma.

Política de IAM necesaria

En este tema se describen los requisitos de acceso para el escenario.

Para utilizar Oracle Cloud Infrastructure, un administrador debe ser miembro de un grupo al que un administrador de arrendamiento haya otorgado acceso de seguridad en una política . Este acceso es necesario tanto si utiliza la Consola como la API de REST con un SDK, una CLI u otra herramienta. Si recibe un mensaje que indica que no tiene permiso o no está autorizado, verifique con el administrador del arrendamiento el tipo de acceso que tiene y en qué compartimento trabaja el acceso.

Si es miembro del grupo Administradores, ya tiene el acceso necesario para completar este escenario.

Administradores: para políticas comunes que permiten a los usuarios gestionar alarmas y crear temas, consulte Acceso a alarmas para grupos.

Objetivo

El objetivo de este escenario hipotético es recibir mensajes de alarma independientes por servidor. Supongamos que está supervisando 50 servidores que emiten una métrica de uso de CPU personalizada y desea saber si alguno excede el 80 % de uso de CPU. Desea recibir un mensaje cada vez que las métricas de un servidor individual disparen la alarma.

Configuración de este escenario

La configuración implica la creación de una alarma de umbral activada para mensajes específicos de flujo de métricas. En este escenario hipotético, seleccione la métrica personalizada MyCustomCPUMetric y el grupo de recursos MyServerResourceGroup.

Puede completar estas tareas en la consola, la CLI o la API de Oracle Cloud Infrastructure.

    1. En la página de lista Definiciones de alarma, seleccione Crear alarma. Si necesita ayuda para buscar la página de lista, consulte Listado de alarmas.
    2. En la página Create alarm, en Define alarm, introduzca un nombre de alarma.

      Ejemplo: Mensajes específicos del servidor

      También puede cambiar la gravedad de la alarma e introducir el texto del mensaje para Cuerpo de la alarma.

    3. En Descripción de la métrica, seleccione la métrica personalizada y defina la consulta.
      • Compartimento: seleccione el compartimento .
      • Espacio de nombres de métrica: seleccione el espacio de nombres para la métrica personalizada.
      • Grupo de recursos: MyServerResourceGroup
      • Nombre de la métrica: MyCustomCPUMetric

        Nota

        Se puede seleccionar cualquier métrica o métrica personalizada de OCI.
      • Intervalo: 1m
      • Estadística: Rcto
    4. Omita Dimensiones de métricas.
    5. En Regla de disparador, defina el umbral en 80 y el retraso de los mensajes en 10 minutos:
      • Operador: mayor que
      • Valor: 80
      • Minutos de retraso del disparador: 10
    6. En Definir notificaciones de alarma, Destino, proporcione los siguientes valores:
      • Servicio de destino: Notificaciones
      • Compartimento: seleccione el compartimento que contiene el tema.
      • Tema: seleccione el tema al que desea enviar notificaciones. En este escenario, el tema ya existe y contiene las suscripciones que desea (SMS, correo electrónico, etc.).
      Este escenario utiliza un tema para las notificaciones de alarma. En su lugar, puede optar por utilizar un flujo, lo que resulta útil cuando espera un gran volumen de notificaciones de alarma. Para obtener más información, consulte la sección sobre límites de mensajes de alarma.
    7. En Agrupamiento de mensajes, seleccione Dividir notificaciones por flujo de métricas.
      Esta opción es necesaria para recibir un mensaje para cada flujo de métricas.
    8. Seleccione ¿Repetir notificación? y deje el valor por defecto en 60 minutos.
      Los mensajes se envían cada hora siempre que la alarma tenga el estado Firing para uno o más flujos de métricas.
    9. Seleccione Save alarm.
    Monitoring comienza a evaluar las métricas de los servidores del compartimento seleccionado, enviando un único mensaje de alarma (por suscripción) para cada flujo de métrica.
  • Cree la alarma mediante el comando oci monitoring alarm create. Para configurar la alarma para mensajes divididos por flujo de métrica, defina --is-notifications-per-metric-dimension-enabled en true.

    Comando de ejemplo
    oci monitoring alarm create 
    --compartment-id "<compartment_OCID>"
    --destinations ["<topic_OCID>"]
    --display-name "Server-Specific Messages"
    --is-enabled true
    --is-notifications-per-metric-dimension-enabled true
    --message-format "ONS_OPTIMIZED"
    --metric-compartment-id "<metric_compartment_OCID>"
    --namespace "<custom_metric_namespace>"
    --query-text "MyCustomCPUMetric[1m].count() > 80"
    --repeat-notification-duration "PT1H"
    --resource-group "MyServerResourceGroup"
    --severity "CRITICAL"

    Para obtener una lista completa de los indicadores y las opciones variables para los comandos de la CLI, consulte la Referencia de la línea de comandos.

  • Utilice la operación CreateAlarm para crear la alarma. Para configurar la alarma para mensajes divididos por flujo de métrica, defina isNotificationsPerMetricDimensionEnabled en true.

    Solicitud de ejemplo
    POST /20180401/alarms
    Host: telemetry.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "body": "Server exceeded CPU utilization threshold",
      "compartmentId": "<compartment_OCID>",
      "destinations": ["<topic_OCID>"],
      "displayName": "Server-Specific Messages",
      "isEnabled": true
      "isNotificationsPerMetricDimensionEnabled": true
      "messageFormat": "ONS_OPTIMIZED",
      "metricCompartmentId": "<metric_compartment_OCID>",
      "namespace": "<custom_metric_namespace>",
      "query": "MyCustomCPUMetric[1m].count() > 80",
      "repeatNotificationDuration": "PT1H",
      "resourceGroup": "MyServerResourceGroup",
      "severity": "CRITICAL"
    }