preloader
  • Início
  • Aprenda de uma vez Como configurar o Alertmanager no OpenShift

Aprenda a configurar o Alertmanager no OpenShift para enviar alertas para um webhook, garantindo um monitoramento eficiente e personalizável.

blog-thumb

📖 Tempo estimado de leitura: 4 min


Alertmanager

é um componente essencial no ecossistema de monitoramento do Kubernetes.

Ele é responsável por gerenciar e despachar alertas gerados pelo Prometheus, permitindo agrupamento, inibição e roteamento para diferentes destinos, como e-mails, sistemas de mensagens e webhooks personalizados.

Neste tutorial, vamos configurar o Alertmanager no OpenShift para enviar alertas para um webhook, que servirá como um receptor para validação e testes.


Configurando o Alertmanager no OpenShift

O Alertmanager no OpenShift já vem integrado ao Prometheus. Para configurar o envio de alertas, precisamos editar o YAML do Alertmanager, ou usar o dashboard do OpenShift.

Em nosso ambiente de testes, estamos usando um OpenShift 4.16.27.

OpenShift Cluster

Se a sua instalação for recente, provavelmente já existe um alerta informando que o Alertmanager não está configurado.

OpenShift Alertmanaget not Configured

Webhook Receiver

Precisamos de um webhook que receberá os alertas enviados pelo Alertmanager. Em um ambiente real de produção, este componente normalmente é uma solução enterprise de monitoramento. No entanto, para validar nossa configuração, podemos utilizar um webhook feito em python, que apenas exibirá na tela os alertas enviados pelo OpenShift.

O código fonte e detalhes de configuração estão em nosso Github.

https://github.com/linuxelitebr/alertmanager


⚠️ IMPORTANTE: O endereço de destino do webhook precisa estar cadastrado em DNS!


[root@bastion alertmanager]# host python.homelab.rhbrlabs.com
python.homelab.rhbrlabs.com has address 10.1.224.2
 

Editando a configuração do Alertmanager

No dashboardo do OpenShift, faça o seguinte caminho para encontrar a tela de configuração do Alertmanaher:

⚙️ Administration > Cluster Settings > Configuration > Alertmanager

Observe os itens destacados na imagem. Vamos precisar configurar todos.

OpenShift Alertmanaget Default Unconfigured

Alert Routing

Essa tela define as configurações de roteamento para o Alertmanager integrado do OpenShift, que é responsável por gerenciar e enviar alertas gerados pelo Prometheus.

Para tornar as coisas mais ágeis em nosso laboratório, reduza os tempos de agrupamento de mensagem antes de cada despacho.

OpenShift Alertmanaget Default Unconfigured

Veja a seguir o que cada campo faz:

Configuração Descrição
Group by • Os alertas serão agrupados com base no valor especificado aqui.
• Nesse caso, eles são agrupados por namespace, o que significa que todos os alertas do mesmo namespace serão processados ​​juntos.
Group wait • Define quanto tempo o Alertmanager espera antes de enviar o primeiro alerta em um grupo.
• Aqui, ele espera 3 segundos antes de enviar um alerta depois que ele é recebido pela primeira vez.
• Útil para agrupar vários alertas e evitar notificações desnecessárias.
Group interval • O tempo entre o envio de alertas agrupados.
• Se novos alertas chegarem para um grupo já existente, eles serão enviados juntos a cada 6 segundos.
• Evita que alertas excessivos sejam enviados imediatamente.
Repeat interval • O tempo após o qual um alerta é reenviado se ainda estiver ativo.
• Aqui, ele é definido como 12 horas, o que significa que alertas não resolvidos serão reenviados a cada 12 horas.
• Ajuda a lembrar as equipes sobre problemas críticos em andamento.

⚠️ IMPORTANTE: Certifique-se de usar valores de tempo adequados para seu ambiente e necessidade.


Receivers

Clique no link Configure dos itens a seguir, e preencha o setup conforme a imagem.

Critical

Como o nome diz, use este componente para enviar alertas com severidade crítica.

OpenShift Alertmanaget Receiver Critical

Default

Este é o destino padrão para os alertas serem enviados.

OpenShift Alertmanaget Receiver Default

Neste momento, os alertas já deverão estar aparecendo em nosso webhook receiver feito em python, validando assim o funcionamento do Alertmanager. 🚀

OpenShift Alertmanaget Received Alerts

✅ Fala sério. Isso foi muito fácil! 😎


Custom Webhook Receiver

Para customização, por exemplo enviar eventos de info, ou com filtros por regex, utilize esta opção.

Vamos supor que você precise configurar um novo receiver, com seus próprios filtros, como por exemplo:

severity = ~warning|critical

Basta clicar no botão Create Receiver e preencher os dados como no exemplo abaixo.

OpenShift Alertmanaget Custom Webhook Receiver

⚠️ Verifique as severidades e destinos configurados em cada alerta que você definir, para evitar o envio de alertas duplicados.


✅ Para aprender sobre como ajustar seus próprios matchers de forma a capturar apenas os alertas de seu interesse, consulte a documentação de Alerting do Prometheus.


Testando o Envio de Alertas

Podemos gerar alertas de teste diretamente no Alertmanager para verificar se o webhook está recebendo os dados:


oc exec alertmanager-main-0 -n openshift-monitoring -- \
    amtool alert add --alertmanager.url http://localhost:9093 \
    alertname="TestAlert" \
    severity=critical \
    --annotation summary="Este é um alerta de teste"
     

Se o webhook estiver funcionando corretamente, após o tempo definido de agrupamento, o alerta será exibido no terminal onde o webhook.py está rodando.

OpenShift Alertmanaget Test Alert

Testando o Envio em Massa

Consulte nosso github para aprender como fazer este tipo de teste. Ele é muito útil para ajudar a fazer o tuning do Alertmanager.



Conclusão

Com essa configuração, garantimos que os alertas do Alertmanager no OpenShift sejam enviados para um webhook Python, permitindo monitoramento avançado e validação de eventos em tempo real.

Se você quiser integrar esse webhook a outras ferramentas, como Grafana, Slack ou Discord, basta adaptar o código para enviar notificações conforme sua necessidade.

Tem alguma dúvida ou sugestão? Comente abaixo!




Compartilhe este post e continue acompanhando nosso site para mais novidades sobre Kubernetes e tecnologias open-source!

Dê uma olhada nestes outros artigos interessantes! 🔥



Apoie nosso trabalho 💖

Gostou do que encontrou aqui? A cada clique em um banner, você ajuda a manter este site vivo e gratuito. Seu apoio faz toda a diferença para que possamos continuar trazendo conteúdos que você adora. Muito obrigado! 😊


Artigos que você pode gostar 📌
comments powered by Disqus