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
Другие вопросы по тегам