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 al límite 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 se le haya otorgado acceso de seguridad en una política por parte de un administrador de arrendamiento. 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 indique que no tiene permiso o no está autorizado, verifique con su administrador de arrendamiento el tipo de acceso y el compartimento en el que funciona su 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 el API de la Oracle Cloud Infrastructure.

    1. En la página de lista Definiciones de alarma, seleccione Crear alarma. Si necesita ayuda para encontrar la página de lista, consulte Lista de alarmas.
    2. En la página Crear alarma, en Definir alarma, introduzca un nombre de alarma.

      Ejemplo: Mensajes específicos del servidor

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

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

        Nota

        Se puede seleccionar todas las métricas o métricas personalizadas de OCI.
      • Intervalo: 1m
      • Estadística: Recuento
    4. Omita Dimensiones de métricas.
    5. En Regla de disparador, defina el umbral en 80 y los mensajes de retraso 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 del destino: Notifications
      • 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 mensaje, 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 Guardar alarma.
    Monitoring empieza a evaluar las métricas de los servidores del compartimento seleccionado, enviando un único mensaje para cada flujo.
  • 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"
    }