Cenário: Dividir Mensagens por Stream de Métricas
Percorra a configuração de um alarme para enviar uma mensagem para cada stream de métrica. Neste exemplo, você deseja ser notificado sempre que um servidor exceder um limite. Com esta configuração, você recebe mensagens específicas do servidor.
Com as mensagens divididas por stream de métrica, considere o número de recursos monitorados pelo alarme. Se centenas de recursos acionarem simultaneamente o alarme, várias mensagens serão enviadas ao mesmo tempo. Muitas mensagens podem inundar o telefone (SMS), a caixa de entrada (email) ou outro ponto final de mensagens, e algumas mensagens podem ser atrasadas por causa de limites de serviço. Para obter mais informações sobre limites e melhores práticas, consulte Limites de Mensagens de Alarme.
Política do Serviço IAM Necessária
Este tópico descreve os requisitos de acesso para o cenário.
Para usar o Oracle Cloud Infrastructure, você deve receber de um administrador o acesso de segurança em uma política . Esse acesso é necessário, quer você esteja usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Se você receber uma mensagem de que não tem permissão ou que não está autorizado, verifique com o administrador qual tipo de acesso você tem e em qual compartimento vai trabalhar.
Se você for membro do grupo Administradores, já terá o acesso necessário para concluir esse cenário.
Administradores: Para políticas comuns que permitem aos usuários gerenciar alarmes e criar tópicos, consulte Acesso ao Alarme para Grupos.
Objetivo
O objetivo desse cenário hipotético é receber mensagens de alarme distintas por servidor. Digamos que você esteja monitorando 50 servidores que emitem uma métrica de utilização de CPU personalizada e queira saber se algum deles excede 80% de utilização de CPU. Você deseja receber uma mensagem sempre que as métricas de um servidor individual acionarem o alarme.
Configurando este Cenário
A configuração envolve a criação de um alarme de limite ativado para mensagens específicas do stream de métrica. Nesse cenário hipotético, você seleciona a métrica personalizada MyCustomCPUMetric
e o grupo de recursos MyServerResourceGroup
.
Você pode concluir essas tarefas na Console, na CLI ou na API do Oracle Cloud Infrastructure.
O serviço Monitoring começa a avaliar métricas para servidores no compartimento selecionado, enviando uma única mensagem de alarme (por assinatura) para cada stream de métrica. Crie o alarme usando o comando oci monitoring alarm create. Para configurar o alarme para mensagens divididas por stream de métrica, defina
--is-notifications-per-metric-dimension-enabled
comotrue
.Exemplo de comandooci 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 obter uma lista completa de flags e opções de variáveis para comandos da CLI, consulte a Referência de Linha de Comando.
Use a operação CreateAlarm para criar o alarme. Para configurar o alarme para mensagens divididas por stream de métrica, defina
isNotificationsPerMetricDimensionEnabled
comotrue
.Exemplo de solicitaçãoPOST /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" }