heml3 部署prometheus-operator(二)

添加alertmanager钉钉报警

配置alertmanager web访问

vim prom_alert.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: alert-web
  namespace: monitoring
spec:
  rules:
  - host: alert.my.com
    http:
      paths:
      - backend:
          serviceName: prometheus-operator-alertmanager
          servicePort: 9093
        path: /

kubectl apply -f rom_alert.yaml

web 访问,查看status

 命令行查看

kubectl get secrets -n monitoring  alertmanager-prometheus-operator-alertmanager -o go-template='{{ index .data "alertmanager.yaml" }}' |base64 --decode

1、添加钉钉机器人

https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq

2、创建钉钉告警插件

[root@master alert]# vim dingtalk-webhook.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    run: dingtalk
  name: webhook-dingtalk
  namespace: monitoring
spec:
  replicas: 1
  selector:
    matchLabels:
      run: dingtalk
  template:
    metadata:
      labels:
        run: dingtalk
    spec:
      containers:
      - name: dingtalk
        image: timonwong/prometheus-webhook-dingtalk:v0.3.0
        imagePullPolicy: IfNotPresent
        # 设置钉钉群聊自定义机器人后,使用实际 access_token 替换下面 xxxxxx部分
        args:
          - --ding.profile=webhook1=https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxx18284bee528adefcae97c909b
        ports:
        - containerPort: 8060
          protocol: TCP

---
apiVersion: v1
kind: Service
metadata:
  labels:
    run: dingtalk
  name: webhook-dingtalk
  namespace: monitoring
spec:
  ports:
  - port: 8060
    protocol: TCP
    targetPort: 8060
  selector:
    run: dingtalk

3、应用dingtalk-webhook.yaml

$ kubectl apply -f dingtalk-webhook.yaml

4、添加告警接收器
到安装包的路径下创建告警接收器。(alertmanager.yaml )

# Configuration for alertmanager
alertmanager:
  config:
    global:
      resolve_timeout: 5m
    route:
      group_by: ["job"]
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 12h
      receiver: webhook
      routes:
      - match:
          alertname: Watchdog
        receiver: "null"
    receivers:
      - name: "null"
      - name: "webhook"
        webhook_configs:
          - url: 'http://webhook-dingtalk.monitoring.svc.cluster.local:8060/dingtalk/webhook1/send'
            send_resolved: true
webhook-dingtalk.monitoring.svc.cluster.local 为dingtalk-webhook.yaml svc 地址

5、更新原有的secret
kubectl get secrets -n monitoring

 k8s更新方式,先删除再新建

kubectl delete secrets alertmanager-prometheus-operator-alertmanager  -n monitoring

kubectl create  secret generic alertmanager-prometheus-operator-alertmanager --from-file=alertmanager.yaml -n monitoring

 helm 更新

helm upgrade prometheus-operator prometheus-operator --values=alertmanager.yml -n monitoring
查看web访问

 钉钉报警


原文地址:https://www.cnblogs.com/Tempted/p/13577711.html