AIOps
...
Integrações com Webhook
AWS CloudWatch com EventBridge
1\ pré requisitos conta aws com acesso aos serviços cloudwatch e eventbridge endpoint de webhook aiops público https para receber as notificações permissões iam adequadas para criar regras e destinos no eventbridge 2\ visão geral automatizar o envio de notificações para um webhook externo sempre que um alarme do cloudwatch for disparado, utilizando o eventbridge para rotear e transformar o evento em um formato json específico 3\ passo a passo 3 1 criar um alarme no cloudwatch acesse o console do cloudwatch na seção “alarmes”, clique em “criar alarme” selecione a métrica desejada (exemplo cpuutilization de uma instância ec2) defina as condições para disparo do alarme nomeie o alarme e clique em “criar alarme” mais detalhes sobre como criar um alerta no cloudwatch podem ser vistos na https //docs aws amazon com/pt br/amazoncloudwatch/latest/monitoring/alarm on metrics html 3 2 criar uma regra no eventbridge acesse o console do eventbridge no painel de navegação, clique em “regras” e depois em “criar regra” defina um nome e uma descrição para a regra selecione o event bus padrão (“aws default event bus”) escolha “rule with an event pattern” configure o padrão de eventos para capturar alarmes do cloudwatch { "source" \["aws cloudwatch"], "detail type" \["cloudwatch alarm state change"] } (opcional adicione filtros para recursos ou estados específicos ) mais detalhes sobre como criar uma regra no eventbridge podem ser vistos na https //docs aws amazon com/pt br/eventbridge/latest/userguide/eb get started html#eb gs create rule 3 3 configurar o destino (webhook via api destination) crie uma conexão de api destination em “api destinations”, clique em “connections” clique em “create connection” defina nome, tipo de autenticação e credenciais (api key, oauth, basic auth) crie o api destination em “api destinations”, clique em “create api destination” defina nome, endpoint https do webhook, método http (ex post) o endpoint deverá ser https //\<dominio aiops>/services/collector/event gere uma api key e adicione à configuração associe a conexão criada anteriormente defina o limite de taxa de invocação (ex 10 eventos por segundo) associe o destino à regra na criação da regra, em “select targets”, escolha “api destination” selecione o destino criado 3 4 configurar o input transformer (formatação do json) defina o input path para mapear variáveis do evento cloudwatch para o formato desejado { "adapter kind" "$ source", "alert criticality" "$ detail state value", "alert definition" "$ detail state reason", "alert id" "$ id", "alert impact" "$ detail state value", "alert recommendations" "$ detail state reason", "alert status" "$ detail state value", "alert subtype" "$ detail state value", "alert type" "$ detail type", "cancel time" "$ detail state timestamp", "create time" "$ time", "link to alert" "$ resources\[0]", "object efficiency state" "$ detail state value", "object health state" "$ detail state value", "object risk state" "$ detail state value", "resource id" "$ detail alarmname", "resource kind" "$ detail configuration metrics\[0] metricstat metric namespace", "resource name" "$ detail configuration metrics\[0] metricstat metric dimensions instanceid", "update time" "$ detail state timestamp" } defina o input template para gerar o json personalizado { "start date" "\<create time>", "update date" "\<update time>", "cancel date" "\<cancel time>", "device id" "\<resource id>", "adapter type" "\<adapter kind>", "device type" "\<resource kind>", "device name" "\<resource name>", "health" "\<object health state>", "risk" "\<object risk state>", "efficiency" "\<object efficiency state>", "impact" "\<alert impact>", "criticality" "\<alert criticality>", "check" "\<alert definition>", "type" "\<alert type>", "sub type" "\<alert subtype>", "alert id" "\<alert id>", "status" "\<alert status>", "recommendations" "\<alert recommendations>", "alert url" "\<link to alert>" } 3 5 configurar dead letter queue (opcional, para tratamento de falhas) crie uma fila sqs para dlq associe a dlq ao destino da regra para capturar eventos que não puderam ser entregues 3 6 testar a integração disparar o alarme manualmente (por exemplo, simulando alta utilização de cpu na ec2) monitorar o disparo via cloudwatch metrics e logs verificar o recebimento da notificação no endpoint do webhook 3 7 monitoramento e manutenção acompanhe métricas no cloudwatch (failedinvocations, invocations) analise logs e mensagens da dlq em caso de falhas ajuste permissões e configurações conforme necessário 4\ resumo dos recursos utilizados true left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type 5\ considerações finais sempre valide o formato do json enviado ao webhook teste diferentes cenários de falha para garantir robustez documente as permissões iam necessárias para cada etapa