Além das notificações por telefone, SMS, e-mail e webhook, os callbacks de alerta do Cloud Monitor encaminham alertas de limiar para seus sistemas de O&M ou mensagens via HTTP POST.
telefone, SMS,
Pré-requisitos
Uma URL pública para seu sistema de O&M ou mensagens que aceite requisições HTTP POST.
Contexto
-
O Cloud Monitor envia notificações de alerta para sua URL como requisições POST HTTP ou HTTPS. Adicione os seguintes intervalos de endereços IP à lista de permissões do seu firewall:
O Cloud Monitor não permite configure diretamente no console uma regra automatizada de O&M para reiniciar uma instância ECS com base em um limiar, como uso de memória. Para implementar isso, configure um callback de alerta para enviar a notificação ao seu próprio service e faça com que ele chame uma operação da API do ECS (como RebootInstance) para reiniciar a instância. Os callbacks de alerta são enviados como requisições HTTP POST com o formato de dados
application/x-www-form-urlencoded. Para a solução de automação baseada em eventos de alteração de status de instância ECS, consulte Automate O&M on ECS state changes.47.74.206.0/26 47.74.206.64/26 47.74.206.128/26 47.74.206.192/26 8.222.159.116 O Cloud Monitor tenta novamente callbacks com falha até três vezes, com tempo limite de 5 segundos por requisição.
A configuração em massa de callbacks de alerta de limiar não está disponível no console do Cloud Monitor. Use as seguintes operações de API:
Chame CreateMetricRuleTemplate para crie um modelo de alerta com uma URL de callback e, em seguida, chame ApplyMetricRuleTemplate para aplicá-lo a um grupo de aplicativos.
Chame PutGroupMetricRule para crie ou modifique uma regra de alerta de um grupo de aplicativos com uma URL de callback.
Procedimento
Faça login no console do Cloud Monitor.
No painel de navegação à esquerda, escolha .
-
Na página Alert Rules, localize a regra de alerta desejada e clique em Modify na coluna Actions.
NotaVocê também pode crie an alert rule.
-
No painel Modify Alert Rule, insira a URL de callback.
Para testar a conectividade com a URL de callback:
-
Clique em Test, localizado diretamente à direita da URL de callback.
No painel WebHook Test, verifique o código de status HTTP e os detalhes do resultado do teste para confirme a conectividade.
NotaVocê também pode defina o Test Template Type: e o Language:. Em seguida, clique em Test novamente para visualize os resultados atualizados.
Clique em Close.
-
Clique em Confirm.
Resultados
Quando um alerta é acionado, o Cloud Monitor envia uma requisição POST para sua URL de callback com os seguintes parâmetros.
O corpo da requisição pode incluir parâmetros adicionais no futuro. Certifique-se de que seu endpoint trate parâmetros desconhecidos adequadamente.
Parâmetro | Tipo | Descrição |
alertName | String | Nome do alerta. |
alertState | String | Status do alerta. Valores válidos:
|
curValue | String | Valor da métrica no momento em que o alerta foi acionado ou resolvido. |
dimensions | String | Dimensões do recurso que gerou o alerta. Exemplo: |
expression | String | Condição que aciona o alerta. |
groupId | String | ID do grupo de aplicativos. |
instanceName | String | Nome da instância. |
lastTime | String | Duração do alerta. Unidade: minutos. |
metricName | String | Nome da métrica, conforme listado na coluna Metric Name de Metrics for cloud services. |
metricProject | String | Nome do service de cloud. Para a maioria dos services, |
namespace | String | Namespace do service de cloud. Para a maioria dos services, o Em alguns services, o namespace difere do |
preTriggerLevel | String | Nível de severidade anterior do alerta. Valores válidos:
|
productGroupName | String | Nome do grupo de aplicativos. |
rawMetricName | String | ID da métrica, conforme listado na coluna Metric Id de Metrics for cloud services. |
regionId | String | ID da região. |
regionName | String | Nome da região. |
ruleId | String | ID da regra de alerta acionada. |
timestamp | String | Timestamp de quando o alerta foi acionado. |
transId | String | ID exclusivo para o ciclo de vida de um alerta em um recurso específico, desde o acionamento até a resolução. |
triggerLevel | String | Nível de severidade atual do alerta. Valores válidos:
|
unit | String | Unidade da métrica, conforme listado na coluna Unit de Metrics for cloud services. |
userId | String | ID do usuário. |
Tabela 1. Mapeamentos entre namespaces de services de cloud e namespaces de callback
|
Namespace do service de cloud |
Namespace do callback |
|
acs_ecs_dashboard |
acs_ecs |
|
acs_slb_dashboard |
acs_slb |
|
acs_rds_dashboard |
acs_rds |
|
acs_oss_dashboard |
acs_oss |
|
acs_sls_dashboard |
acs_sls |
|
acs_ess_dashboard |
acs_ess |
|
acs_containerservice_dashboard |
acs_containerservice |
|
acs_apigateway_dashboard |
acs_apigateway |
|
acs_redis_dashboard |
acs_kvstore |
|
acs_ocs_new |
acs_ocs |
|
acs_mns_new |
acs_mns |
Exemplo de requisição POST:
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
expression=$Average>=95&metricName=Host.mem.usedutilization&instanceName=instance-name-****&signature=eEq1zHuCUp0XSmLD8p8VtTKF****&metricProject=acs_ecs&userId=110803419679****&curValue=97.39&alertName=Basic Monitoring-ECS-Memory Usage&namespace=acs_ecs_dashboard&triggerLevel=WARN&alertState=ALERT&preTriggerLevel=WARN&ruleId=applyTemplateee147e59-664f-4033-a1be-e9595746****&dimensions={userId=110803419679****, instanceId=i-8psdh7l6lphbn10l****}×tamp=1508136760&productGroupName=test_Group&groupId=1666****&lastTime=2 minutes&rawMetricName=cpu_total®ionId=cn-hangzhou®ionName=China (Hangzhou)&transId=53767d2a-ae72-11ed-b2ca-00163e2c****&unit=%