SIMON
...
Integrações
Integrações com Webhook
Azure Monitor
6 min
1\ crie uma regra de alerta no azure monitor acesse o azure portal entre no portal azure usando suas credenciais navegue até azure monitor no menu lateral, vá para monitor > alertas crie uma nova regra de alerta clique em criar > regra de alerta selecione o escopo escolha o recurso (ou grupo de recursos) que deseja monitorar defina a condição adicione e configure a condição que deve disparar o alerta (por exemplo, uso de cpu acima de 80%) configure as ações na seção ações , associe ou crie um grupo de ações para o alerta 2\ crie um grupo de ações (action group) acesse action groups em monitor > alertas > grupos de ações , clique em criar preencha os dados básicos assinatura selecione a correta grupo de recursos selecione ou crie nome do grupo de ações dê um nome descritivo nome curto usado para identificar rapidamente o grupo adicione uma ação do tipo webhook tipo de ação selecione webhook nome dê um nome para a ação uri insira a url do endpoint que receberá os alertas o endpoint deverá ser https //\<dominio aiops>/services/collector/event autenticação configure autenticação por token, se necessário gere uma api key no simon e adicione à configuração salve o grupo de ações clique em revisar + criar e depois em criar 3\ (opcional) configure secure webhook para autenticação avançada se precisar de mais segurança registre uma aplicação no microsoft entra id siga o passo a passo do azure para registrar uma aplicação defina um service principal crie um service principal para a aplicação registrada crie o secure webhook no grupo de ações, adicione uma ação do tipo secure webhook id do objeto use a id da aplicação registrada uri insira a url do endpoint habilite o common alert schema (opcional) 4\ adicione middleware para transformação do payload como o azure monitor não permite personalizar totalmente o payload enviado pelo webhook, recomenda se usar uma camada intermediária (como azure logic apps ou azure functions) para transformar o json recebido no formato esperado pela sua ferramenta exemplo com azure logic apps crie um logic app no portal azure, vá para logic apps > criar adicione um trigger do tipo solicitação http no designer, adicione o trigger quando uma solicitação http é recebida adicione uma ação de parse json use a ação parse json para ler o payload recebido do azure monitor adicione uma ação compose utilize compose para montar o json no formato esperado pela sua ferramenta, mapeando campos do payload do azure para os campos do seu json adicione uma ação http use a ação http para enviar o json formatado para o endpoint final da sua ferramenta salve e publique o logic app copie a url do trigger http e use a como uri no grupo de ações do azure monitor exemplo de transformação { "start date" "@{body('parse json')?\['data']?\['essentials']?\['fireddatetime']}", "update date" "@{utcnow()}", "device id" "@{first(body('parse json')?\['data']?\['essentials']?\['alerttargetids'])}", "adapter type" "azure monitor", "device type" "@{body('parse json')?\['data']?\['essentials']?\['signaltype']}", "device name" "@{body('parse json')?\['data']?\['essentials']?\['alertrule']}", "health" "@{body('parse json')?\['data']?\['essentials']?\['monitorcondition']}", "impact" "@{body('parse json')?\['data']?\['essentials']?\['severity']}", "criticality" "@{body('parse json')?\['data']?\['essentials']?\['severity']}", "check" "@{body('parse json')?\['data']?\['essentials']?\['description']}", "type" "@{body('parse json')?\['data']?\['essentials']?\['signaltype']}", "alert id" "@{body('parse json')?\['data']?\['essentials']?\['alertid']}", "status" "@{body('parse json')?\['data']?\['essentials']?\['monitorcondition']}", "alert url" "@{body('parse json')?\['data']?\['alertcontext']?\['linktosearchresultsui']}" } 5\ teste a integração disparar um alerta de teste no grupo de ações, use a opção testar grupo de ações para enviar um alerta de exemplo verifique o recebimento no endpoint final confirme que o json formatado foi recebido corretamente pela sua ferramenta