Prometheus 未连接到 GKE 中的警报管理器

Prometheus 未连接到 GKE 中的警报管理器

我使用 helm(在“monitoring”命名空间中)将 kube-prometheus-stack 15.3.1 安装到 GKE 集群中。我使用 helmvalues.yaml打开某些组件的入口,并将 SMTP 信息和接收方详细信息添加到警报管理器中。大部分情况下一切正常,只是 Prometheus 发出了一些警报,而我没有收到任何警报电子邮件。

一次射击警报是:

PrometheusNotConnectedToAlertmanagers

Prometheus 监控/prometheus-kube-prometheus-stak-prometheus-0 未连接到任何 Alertmanagers

另外一个是:

PrometheusOperatorSyncFailed

监控命名空间中的控制器警报管理器无法协调 1 个对象。

我也尝试打开警报管理器的入口并指向alerts.mydomiain.com它,但是当我尝试任何 GET 请求(例如alerts.mydomain.com/v2/status)时,我总是收到 502 服务器错误。

我需要做什么才能使我的警报管理器正常工作?

下面是输出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

答案1

我意识到,即使服务还在,但 alertmanager pod 却不见了。我发现,我可以通过卸载 prometheus 堆栈,然后使用默认值重新安装,然后使用我自己的值升级来恢复 pod。

现在 PrometheusNotConnectedToAlertmanagers 警报已停止触发,但我仍然没有收到电子邮件。现在我可以通过入口访问警报管理器,并看到我放入 Helm 值文件中的配置没有传递到警报管理器 - 它仍然有默认配置。

我发现我此处描述的问题并检查 kube-prometheus-stack 操作员 pod 中的日志确认了这一点。我需要在我的警报管理器接收器中有一个“空”接收器(我已将其删除)

答案2

如果这对 Google 的任何人有帮助,我在 pod 中看到了错误(我不记得是 Prometheus 还是 Prometheus-operator),SMTP 主机中缺少端口,然后意识到我在设置警报管理器时忘记在 SMTP 配置中指定端口。我正在使用 OpenShift 4.7(如果这很重要的话)

相关内容