Instalei o kube-prometheus-stack 15.3.1 em um cluster do GKE usando o helm (no namespace "monitoramento"). Usei o values.yaml
para abrir entradas em alguns dos componentes e adicionar informações de SMTP e detalhes do receptor no gerenciador de alertas. Na maior parte, tudo parece bem, exceto que o Prometheus está disparando vários alertas e não estou recebendo nenhum e-mail de alerta.
Um alerta de disparo é:
PrometheusNotConnectedToAlertmanagers
O monitoramento do Prometheus/prometheus-kube-prometheus-stak-prometheus-0 não está conectado a nenhum Alertmanagers
Outra é:
PrometheusOperatorSyncFailed
O alertmanager do controlador no namespace de monitoramento falha ao reconciliar 1 objetos.
Eu também tentei abrir uma entrada para o alertmanager e apontei alerts.mydomiain.com
para ele, mas quando tento qualquer solicitação GET (como alerts.mydomain.com/v2/status
) sempre recebo um erro de servidor 502.
O que preciso fazer para que meu alertmanager funcione?
aqui está a saída de kubectl get pods,svc,daemonset,deployment,statefulset -n monitoring
:
NAME READY STATUS RESTARTS AGE
pod/kube-prometheus-stack-grafana-58f7fcb497-hm72h 2/2 Running 0 30h
pod/kube-prometheus-stack-kube-state-metrics-6d588499f5-d957b 1/1 Running 0 2d3h
pod/kube-prometheus-stack-operator-54f89674c9-k8ml7 1/1 Running 0 2d3h
pod/kube-prometheus-stack-prometheus-node-exporter-22vpd 1/1 Running 0 3h57m
pod/kube-prometheus-stack-prometheus-node-exporter-2qsl9 1/1 Running 0 3h57m
pod/kube-prometheus-stack-prometheus-node-exporter-4d27n 1/1 Running 0 7h36m
pod/kube-prometheus-stack-prometheus-node-exporter-7rlnk 1/1 Running 0 4h47m
pod/kube-prometheus-stack-prometheus-node-exporter-7xlf4 1/1 Running 0 4h51m
pod/kube-prometheus-stack-prometheus-node-exporter-9mfnt 1/1 Running 0 3h57m
pod/kube-prometheus-stack-prometheus-node-exporter-9zblf 1/1 Running 0 2d3h
pod/kube-prometheus-stack-prometheus-node-exporter-bdcjj 1/1 Running 0 2d3h
pod/kube-prometheus-stack-prometheus-node-exporter-bs54w 1/1 Running 0 4h47m
pod/kube-prometheus-stack-prometheus-node-exporter-fp95h 1/1 Running 0 2d3h
pod/kube-prometheus-stack-prometheus-node-exporter-h4zhw 1/1 Running 0 2d3h
pod/kube-prometheus-stack-prometheus-node-exporter-pz8js 1/1 Running 0 3h58m
pod/kube-prometheus-stack-prometheus-node-exporter-rrrhk 1/1 Running 0 27h
pod/kube-prometheus-stack-prometheus-node-exporter-rszlt 1/1 Running 0 2d3h
pod/kube-prometheus-stack-prometheus-node-exporter-s62wq 1/1 Running 0 4h47m
pod/kube-prometheus-stack-prometheus-node-exporter-w9dmb 1/1 Running 0 5h32m
pod/kube-prometheus-stack-prometheus-node-exporter-xqmxk 1/1 Running 0 4h51m
pod/prometheus-kube-prometheus-stack-prometheus-0 2/2 Running 1 30h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kube-prometheus-stack-alertmanager NodePort 10.125.4.161 <none> 9093:30903/TCP 2d3h
service/kube-prometheus-stack-grafana NodePort 10.125.7.177 <none> 80:32444/TCP 2d3h
service/kube-prometheus-stack-kube-state-metrics ClusterIP 10.125.2.56 <none> 8080/TCP 2d3h
service/kube-prometheus-stack-operator ClusterIP 10.125.4.171 <none> 443/TCP 2d3h
service/kube-prometheus-stack-prometheus NodePort 10.125.13.11 <none> 9090:30090/TCP 2d3h
service/kube-prometheus-stack-prometheus-node-exporter ClusterIP 10.125.10.231 <none> 9100/TCP 2d3h
service/prometheus-operated ClusterIP None <none> 9090/TCP 2d3h
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/kube-prometheus-stack-prometheus-node-exporter 17 17 17 17 17 <none> 2d3h
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/kube-prometheus-stack-grafana 1/1 1 1 2d3h
deployment.apps/kube-prometheus-stack-kube-state-metrics 1/1 1 1 2d3h
deployment.apps/kube-prometheus-stack-operator 1/1 1 1 2d3h
NAME READY AGE
statefulset.apps/prometheus-kube-prometheus-stack-prometheus 1/1 42h
Percebi que o pod alertmanager estava faltando, embora o serviço estivesse lá. Descobri que poderia recuperar o pod desinstalando a pilha do prometheus, reinstalando-o com valores padrão e atualizando-o com meus próprios valores.
Agora o alerta PrometheusNotConnectedToAlertmanagers parou de disparar, mas ainda não estava recebendo e-mails. Agora eu poderia acessar o gerenciador de alertas através do ingresso e ver que a configuração para ele que eu coloquei no arquivo de valores do Helm não passou para o gerenciador de alertas - ele ainda tinha a configuração padrão.
Descobri que estava tendo o problema descrito aqui e a verificação dos logs no pod do operador kube-prometheus-stack o confirmou. Eu precisava ter um receptor "nulo" nos meus receptores do gerenciador de alertas (que eu havia removido)
Caso isso ajude alguém aqui do Google, vi o erro nos pods (não lembro se era Prometheus ou Prometheus-operator) que a porta estava faltando no host SMTP e então percebi que esqueci de especificar a porta em a configuração SMTP ao configurar o Alert Manager. Estou usando o OpenShift 4.7 (se isso importa)