Cenário B: Enviando Mensagens de Alarme ao Slack e SMS
Configure notificações automáticas para um canal do Slack e um número de telefone SMS quando alarmes forem acionados.
Este cenário envolve a configuração de um ponto final do Slack para um canal e a criação de um alarm que envia uma mensagem a esse canal e a um número de telefone SMS. Quando o alarme é ativado, o serviço Notifications envia a mensagem de alarme para o tópico de destino, que, em seguida, é distribuído para as inscrições do tópico. Neste cenário, as inscrições do tópico incluem o canal do Slack e o número de telefone SMS, bem como seu endereço de e-mail.
Política do Serviço IAM Obrigatória
Para usar o Oracle Cloud Infrastructure, um administrador deve ser membro de um grupo ao qual foi concedido acesso de segurança em uma política por um administrador da tenancy. Esse acesso será necessário se você estiver usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Se você receber uma mensagem informando que não tem permissão ou está não autorizado, verifique com o administrador da tenancy qual tipo de acesso você tem e qual compartimento seu acesso funciona.
Se você for membro do grupo Administradores, já terá o acesso necessário para executar esse cenário. Caso contrário, você precisará acessar os serviços Monitoring e Notifications.
Tarefa 1: Configurar seu ponto final do Slack
Crie um webhook de entrada para seu aplicativo Slack.
Exemplo de um webhook de entrada para um aplicativo Slack (equivalente ao ponto final do Slack para sua inscrição): https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
Depois de configurar seu ponto final do Slack, você poderá concluir todas as outras etapas do cenário na Console. Como alternativa, você pode usar a CLI ou a API do Oracle Cloud Infrastructure, que permite que você mesmo execute as operações individuais.
Tarefa 2: Criar o Tópico
Para obter ajuda com o diagnóstico e a solução de problemas, consulte Diagnóstico e Solução de Problemas do Serviço Notifications.
- Observação
Outro workflow da Console para esse cenário envolve a criação de um novo tópico e da primeira assinatura quando você cria o alarme e, em seguida, cria assinaturas adicionais nesse tópico.- Abra o painel Criar Tópico: Na página da lista Tópicos, selecione Criar Tópico. Se precisar de ajuda para localizar a página da lista, consulte Listando Tópicos.
- Para Nome, digite o seguinte: Tópico de Alarme
- Selecione Criar.
Use o comando oci ons topic create e os parâmetros necessários para criar um tópico:
oci ons topic create --name <name> --compartment-id <compartment_OCID>
Por exemplo:
oci ons topic create --name "Alarm Topic" --compartment-id "<compartment_OCID>"
Para obter uma lista completa de parâmetros e valores para comandos da CLI, consulte a Referência de Linha de Comando para Notificações.
Execute a operação CreateTopic para criar um tópico.
Por exemplo:
POST /20181201/topics Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "name": "Alarm Topic", "compartmentId": "<compartment_OCID>" }
Tarefa 3: Criar as Assinaturas
Para obter ajuda com o diagnóstico e a solução de problemas, consulte Diagnóstico e Solução de Problemas do Serviço Notifications.
- Selecione o tópico criado anteriormente (o nome do exemplo era Tópico de Alarme): Na página da lista Tópicos, selecione o tópico com o qual você deseja trabalhar. Se precisar de ajuda para encontrar a página da lista ou o tópico, consulte Listando Tópicos.
-
Crie a assinatura do Slack.
-
Crie a assinatura de SMS.
-
Crie a assinatura de e-mail.
Use o comando oci ons subscription create e os parâmetros necessários para criar cada assinatura:
oci ons subscription create --protocol <subscription_type> --subscription-endpoint <endpoint> --compartment-id <compartment_OCID> --topic-id <topic_OCID>
Exemplo de assinatura do Slack:
oci ons subscription create --protocol "SLACK" --subscription-endpoint "<slack-endpoint>" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"
Exemplo de assinatura SMS:
oci ons subscription create --protocol "SMS" --subscription-endpoint "<sms-endpoint>" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"
Exemplo de inscrição de e-mail:
oci ons subscription create --protocol "EMAIL" --subscription-endpoint "john.smith@example.com" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"
Para obter uma lista completa de parâmetros e valores para comandos da CLI, consulte a Referência de Linha de Comando para Notificações.
Execute a operação CreateSubscription para criar cada assinatura.
Exemplo de assinatura do Slack:
POST /20181201/subscriptions Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "topicId": "<topic_OCID>", "compartmentId": "<compartment_OCID>", "protocol": "SLACK", "endpoint": "<slack-endpoint>" }
Exemplo de assinatura SMS:
POST /20181201/subscriptions Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "topicId": "<topic_OCID>", "compartmentId": "<compartment_OCID>", "protocol": "SMS", "endpoint": "<sms-endpoint>" }
Exemplo de inscrição de e-mail:
POST /20181201/subscriptions Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "topicId": "<topic_OCID>", "compartmentId": "<compartment_OCID>", "protocol": "EMAIL", "endpoint": "john.smith@example.com" }
Tarefa 4: Criar o Alarme
Para obter ajuda com o diagnóstico e a solução de problemas, consulte Diagnóstico e Solução de Problemas do Serviço Notifications.
- Abra a página Criar Alarme.
- Abra o menu de navegação e selecione Observabilidade e Gerenciamento. Em Monitoramento, selecione Definições de Alarme.
-
Selecione Criar Alarme.
- Para Nome do alarme, digite o seguinte: Alarme de Utilização
-
Em Descrição da métrica, selecione a métrica, o intervalo e a estatística.
Campo Valor de exemplo para este cenário Compartimento Selecione o compartimento que contém a instância que você deseja monitorar para alta utilização da CPU. Namespace da métrica oci_computeagent Nome da métrica CpuUtilization Intervalo 1m Estatística Contagem -
Em Regra de acionamento, configure o limite de alarme.
Campo Valor de exemplo para este cenário Operador superior a Valor 90 Minutos de atraso do trigger 1 - Em Notificações, Destinos, selecione o tópico que você criou anteriormente.
Campo Valor de exemplo para este cenário Serviço de Destino Notifications Service Compartimento Selecione o compartimento que contém o tópico que você criou anteriormente. Tópico Selecione o tópico que você criou anteriormente. -
Selecione Salvar alarme.
- Abra a página Criar Alarme.
Use o comando oci monitoring alarm create e os parâmetros obrigatórios para criar um alarme:
oci monitoring alarm create --display-name <name> --compartment-id <compartment_OCID> --metric-compartment-id <compartment_OCID> --namespace <metric_namespace> --query-text <mql_expression> --severity <level> --destinations <file_or_text> --is-enabled <true_or_false>
Por exemplo:
oci monitoring alarm create --display-name "Utilization Alarm" --compartment-id "<compartment_OCID>" --metric-compartment-id "<compartment_OCID>" --namespace "oci_computeagent" --query-text "CpuUtilization[1m].count() > 90" --severity "CRITICAL" --destinations "<topic_OCID>" --is-enabled true
Para obter uma lista completa de parâmetros e valores para comandos da CLI, consulte a Referência de Linha de Comando para o Serviço Monitoring.
Execute a operação CreateAlarm para criar um alarme.
Por exemplo:
POST /20180401/alarms Host: telemetry.us-phoenix-1.oraclecloud.com <authorization and other headers> { "displayName": "Utilization Alarm", "compartmentId": "<compartment_OCID>", "metricCompartmentId": "<compartment_OCID>", "namespace": "oci_computeagent", "query": "CpuUtilization[1m].count() > 90", "severity": "CRITICAL", "destinations": [ "<topic_OCID>" ], "isEnabled": true }