K8S - Не удается увидеть оповещения через - alertmanager
У меня есть оператор Prometheus, который работает как положено https://github.com/coreos/prometheus-operator
Теперь я хочу применить менеджер предупреждений с нуля
После прочтения документов я вышел с этими ямлами. но проблема в том, что когда я вошел в пользовательский интерфейс, ничего не отображается, есть идеи, что мне здесь не хватает?
http://localhost:9090/alerts Я использую переадресацию портов...
Это all
Конфигурационные файлы, которые я применяю к своему кластеру k8s. Я просто хочу провести простой тест, чтобы убедиться, что он работает, а затем расширить его для наших нужд...
alertmanger_main.yml
---
apiVersion: monitoring.coreos.com/v1
kind: Alertmanager
metadata:
name: main
labels:
alertmanager: main
spec:
replicas: 3
version: v0.14.0
alertmanger_service.yml
apiVersion: v1
kind: Service
metadata:
name: alertmanager-main
spec:
type: LoadBalancer
ports:
- name: web
port: 9093
protocol: TCP
targetPort: web
selector:
alertmanager: main
testalert.yml
kind: ConfigMap
apiVersion: v1
metadata:
name: prometheus-example-rules
labels:
role: prometheus-rulefiles
prometheus: prometheus
data:
example.rules.yaml: |+
groups:
- name: ./example.rules
rules:
- alert: ExampleAlert
expr: vector(1)
alertmanager.yml
global:
resolve_timeout: 5m
route:
group_by: ['job']
group_wait: 30s
group_interval: 5m
repeat_interval: 12h
receiver: 'webhook'
receivers:
- name: 'webhook'
webhook_configs:
- url: 'http://alertmanagerwh:30500/'
и для создания секрета я использую
kubectl create secret generic alertmanager-main --from-file=alertmanager.yaml
мне нужны некоторые базовые предупреждения в K8S, и я следую документации, но не нашел хорошего пошагового руководства
https://stackru.com/images/e b069ecf42e b11dc95dc200703a5ec567387681d.png
to check my sys for monitoring namespace
~ kubectl get pods -n monitoring 13.4m Sun Feb 17 18:48:16 2019
NAME READY STATUS RESTARTS AGE
kube-state-metrics-593czc6b4-mrtkb 2/2 Running 0 12h
monitoring-grafana-771155cbbb-scqvx 1/1 Running 0 12h
prometheus-operator-79f345dc67-nw5zc 1/1 Running 0 12h
prometheus-prometheus-0 3/3 Running 1 12h
~ kubectl get svc -n monitoring 536ms Sun Feb 17 21:04:51 2019
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager-main NodePort 100.22.170.666 <none> 9093:30904/TCP 4m53s
kube-state-metrics ClusterIP 100.34.212.596 <none> 8080/TCP 4d7h
monitoring-grafana ClusterIP 100.67.230.884 <none> 80/TCP 4d7h
prometheus-operated ClusterIP None <none> 9090/TCP 4d7h
Я также теперь изменил сервис на LoadBalancer, и я пытаюсь войти как
~ kubectl get svc -n monitoring 507ms Sun Feb 17 21:23:56 2019
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager-main LoadBalancer 100.22.170.666 38.482.152.331 9093:30904/TCP 23m
когда я ударил браузер с
38.482.152.331:9093
38.482.152.331:30904
ничего не случилось...
1 ответ
Когда вы планируете использовать AlertManager, помимо общей конфигурации и применения правил оповещения, AlertManager
требует интеграции с сервером Prometheus. Поэтому экземпляр Prometheus может отслеживать любую поступающую серию событий, и, как только он обнаруживает любое распознанное правило, он запускает оповещение для вложенного менеджера предупреждений.
Чтобы включить оповещение, может потребоваться добавить следующую конфигурацию к экземпляру Prometheus:
alerting:
alertmanagers:
- static_configs:
- targets:
- 'alertmanagerIP:9093'
В частности, для AlertManager
Реализация в CoreOS, вы можете выполнить шаги, описанные в официальной документации Alerting; тем не менее, ниже вы можете найти пример конфигурации оповещения Prometheus pod, сохраненной из упомянутого руководства:
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
name: example
spec:
replicas: 2
alerting:
alertmanagers:
- namespace: default
name: alertmanager-example
port: web
serviceMonitorSelector:
matchLabels:
team: frontend
resources:
requests:
memory: 400Mi
ruleSelector:
matchLabels:
role: prometheus-rulefiles
prometheus: example