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.
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.
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
entrue
.Comando de ejemplooci 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
entrue
.Solicitud de ejemploPOST /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" }