Я установил kube-prometheus-stack 15.3.1 в кластер GKE с помощью helm (в пространстве имен «мониторинг»). Я использовал values.yaml
, чтобы открыть входящие данные для некоторых компонентов и добавить информацию SMTP и сведения о получателе в диспетчер предупреждений. По большей части все в порядке, за исключением того, что Prometheus запускает несколько предупреждений, и я не получаю никаких предупреждений по электронной почте.
Одно предупреждение:
PrometheusNotConnectedToAlertmanagers
Прометей monitoring / prometheus-kube-prometheus-stak-prometheus-0 не связан ни с одним диспетчером предупреждений
Другой:
PrometheusOperatorSyncFailed
Контроллер alertmanager в пространстве имен мониторинга не может согласовать 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
Я понял, что alertmanager pod пропал, хотя служба была на месте. Я обнаружил, что могу вернуть капсулу, удалив стек Prometheus, затем переустановив его со значениями по умолчанию, а затем обновив его со своими собственными значениями.
Теперь оповещение PrometheusNotConnectedToAlertmanagers перестало срабатывать, но я по-прежнему не получал электронных писем. Теперь я мог получить доступ к менеджеру оповещений через ингресс и увидел, что конфигурация для него, которую я поместил в файл значений Helm, не была передана менеджеру оповещений - он по-прежнему имел конфигурацию по умолчанию.
Я обнаружил, что у меня была проблема, описанная здесь, и проверка журналов в kube-prometheus-stack operator pod подтвердила это. Мне нужно было иметь "нулевой" приемник в приемниках менеджера оповещений (который я удалил)
На случай, если это поможет кому-нибудь из Google, я видел ошибку в модулях (Я не помню, был ли это Prometheus или Prometheus-оператор), что порт отсутствовал на хосте SMTP и потом понял, что забыл указать порт в конфигурации SMTP при настройке Alert Manager. Я использую OpenShift 4.7 (, если это имеет значение)