Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Refinamento do alerta do Grafana

Olá, eu estou com um desafio na minha empresa em relação ao grafana.

Sabe se tem algum jeito de deixar o alerta mais refinado ,ou seja, não quero que fique alertando aos finais de semana em horários x, sabe se há algum jeito de editar isso. Ou com o Grafana, ou com uma metrica do prometheus com o Grafana ou com Alert Manager. O intuito é que não alertar aos finais de semana na madrugada, pois a regra criada la foi para alerta sempre que a requisição demora a responder, e ja tem um tempo estimado para o alerta ser acionado quando demorar x tempo. e aos finais de semana principalmente de madrugada o problema é que não há requisições feitas e ai alerta do mesmo jeito, não é questão de problema mas sim que não há atividade em si do cliente com a API. Esse problema consigo resolver com o grafana com notification policies? ou só com o Alert Manager ou com alguma métrica do Prometheus dentro do Grafana?

2 respostas
solução!

Oi, Eduardo. Tudo bem?

Existe a possibilidade de configuração de sliences no seu componente de alertas, caso você esteja utilizando o Alertmanager, as configurações seguem como explicadas aqui neste curso aderindo o bloco mute_time_intervals, conforme a documentação oficial, aqui

# Times when the route should be muted. These must match the name of a
# mute time interval defined in the mute_time_intervals section.
# Additionally, the root node cannot have any mute times.
# When a route is muted it will not send any notifications, but
# otherwise acts normally (including ending the route-matching process
# if the `continue` option is not set.)
mute_time_intervals:
  [ - <string> ...]

Segue um bom exemplo de utilização abaixo:

route:
 receiver: team-X-pager
 routes:
   - matchers: [ '{severity!="critical",environment!="prod"}' ]
     receiver: team-X-mail
     mute_time_intervals: [out-of-business-hours]

mute_time_intervals:
  - name: out-of-business-hours
    time_intervals:
     # Mute on Saturdays and Sundays, all day.
     - weekdays: ['Saturday','Sunday']
     # Mute in the morning and in the evening, any day.
     - times:
       - start_time: '00:00'
         end_time: '08:00'
       - start_time: '18:00'
         end_time: '24:00'

Mas caso a responsabilidade pela lógica dos alertas esteja contida no Grafana, você pode seguir com esta documentação oficial e validar sua utilização através de uma prova de conceito.

Faça a POC e retorne o resultado aqui, será legal saber que resolveu essa demanda e controlou seus alertas.

Abraços e bons estudos!

Muito obrigado Professor gostei bastante, mas por exemplo, teria como resolver isso só pela métrica em PromQL em si, utilizando a métrica day_of_weekend e por o período especifico? Eu não consigo achar exemplos na internet o máximo que eu cheguei perto foram esses aqui:

(100 - irate(node_cpu_seconds_total{cpu="1", mode="idle"}[5m]) and on () (day_of_week() == 5 or day_of_week() >= 1))

(increase(http_server_requests_seconds_count[1h]) and on () day_of_week() == 1)[1w:1h]