当前位置: 首页 > news >正文

钉钉告警部署【prometheus-webhook-dingtalk】

背景

业务需要,项目部署了prometheus作为监控,想把告警接入企业钉钉

现有环境

prometheus+node_exporter+redis_exporter+blackbox_exporter+mysql_expoort+alertmanager

钉钉告警程序包(prometheus-webhook-dingtalk)

gitlab

https://github.com/timonwong/prometheus-webhook-dingtalk

下载地址

https://github.com/timonwong/prometheus-webhook-dingtalk/releases/download/v2.1.0/prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar.gz

config.yml

#web:
#  listen_address: ":8060"
## Request timeout
# timeout: 5s## Uncomment following line in order to write template from scratch (be careful!)
#no_builtin_template: true## Customizable templates path
templates:- /apps/apps/prometheus-webhook-dingtalk/webhook.tmpl## You can also override default template using `default_message`
## The following example to use the 'legacy' template from v0.3.0
#default_message:
#  title: '{{ template "legacy.title" . }}'
#  text: '{{ template "legacy.content" . }}'## Targets, previously was known as "profiles"
targets:webhook1:url: https://oapi.dingtalk.com/robot/send?access_token=667xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx# secret for signaturesecret: SEC8e0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#  webhook2:
#    url: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx
#  webhook_legacy:
#    url: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx
#    # Customize template content
#    message:
#      # Use legacy template
#      title: '{{ template "legacy.title" . }}'
#      text: '{{ template "legacy.content" . }}'
#  webhook_mention_all:
#    url: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx
#    mention:
#      all: true
#  webhook_mention_users:
#    url: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx
#    mention:
#      mobiles: ['156xxxx8827', '189xxxx8325']

prometheus-webhook-dingtalk.service

[Unit]
Description=Prometheus Webhook DingTalk
After=network.target[Service]
Type=simple
User=prometheus
Group=prometheus# 代理配置
Environment="HTTP_PROXY=http://10.0.0.100:3128"
Environment="HTTPS_PROXY=http://10.0.0.100:3128"# 启动命令 - 使用配置文件
ExecStart=/app/prometheus-webhook-dingtalk/prometheus-webhook-dingtalk \--config.file=/app/prometheus-webhook-dingtalk/prometheus-webhook-dingtalk/config.yml \--web.listen-address=:8060Restart=always
RestartSec=10[Install]
WantedBy=multi-user.target
##webhook.tmpl
webhook.tmpl
{{ define "__subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}
{{ define "__alertmanagerURL" }}{{ $alertURL := "http://192.168.64.158:9093" }} {{- $alertURL -}}/#/alerts?receiver={{ .Receiver }}&tmp={{ .ExternalURL }}{{ end }}{{ define "__text_alert_list" }}{{ range . }}
**Labels**
{{ range .Labels.SortedPairs }}> - {{ .Name }}: {{ .Value | markdown | html }}
{{ end }}
**Annotations**
{{ range .Annotations.SortedPairs }}> - {{ .Name }}: {{ .Value | markdown | html }}
{{ end }}
**Source:** [{{ .GeneratorURL }}]({{ .GeneratorURL }})
{{ end }}{{ end }}{{/* Firing */}}{{ define "default.__text_alert_list" }}{{ range . }}**触发时间:** {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}**摘要:** {{ .Annotations.summary }}**描述:** {{ .Annotations.description }}**监控:** [grafana](http://localhost:3000)**详情:**
{{ range .Labels.SortedPairs }}{{ if and (ne (.Name) "severity") (ne (.Name) "summary") }}> - {{ .Name }}: {{ .Value | markdown | html }}
{{ end }}{{ end }}
{{ end }}{{ end }}{{/* Resolved */}}{{ define "default.__text_resolved_list" }}{{ range . }}**触发时间:** {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}**解除时间:** {{ dateInZone "2006.01.02 15:04:05" (.EndsAt) "Asia/Shanghai" }}**摘要:** {{ .Annotations.summary }}**监控:** [grafana](http://localhost:3000)**详情:**
{{ range .Labels.SortedPairs }}{{ if and (ne (.Name) "severity") (ne (.Name) "summary") }}> - {{ .Name }}: {{ .Value | markdown | html }}
{{ end }}{{ end }}
{{ end }}{{ end }}{{/* Default */}}
{{ define "default.title" }}{{ template "__subject" . }}{{ end }}
{{ define "default.content" }}#### \[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}\] **[{{ index .GroupLabels "alertname" }}]({{ template "__alertmanagerURL" . }})**
{{ if gt (len .Alerts.Firing) 0 -}}![Firing-img](https://pic.rmb.bdstatic.com/bjh/news/10977507ae0edad0c17c820ff5d80f5e.png)**告警通知**
{{ template "default.__text_alert_list" .Alerts.Firing }}
{{- end }}
{{ if gt (len .Alerts.Resolved) 0 -}}![Resolved-img](https://pic.616pic.com/ys_img/00/06/20/64dXxVfv6k.jpg)**告警解除**
{{ template "default.__text_resolved_list" .Alerts.Resolved }}
{{- end }}
{{- end }}{{/* Legacy */}}
{{ define "legacy.title" }}{{ template "__subject" . }}{{ end }}
{{ define "legacy.content" }}#### \[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}\] **[{{ index .GroupLabels "alertname" }}]({{ template "__alertmanagerURL" . }})**
{{ template "__text_alert_list" .Alerts.Firing }}
{{- end }}{{/* Following names for compatibility */}}
{{ define "ding.link.title" }}{{ template "default.title" . }}{{ end }}
{{ define "ding.link.content" }}{{ template "default.content" . }}{{ end }}

创建钉钉建群并创建机器人

image
image
image
image

获取Webhook地址和加签的一串秘钥

配置config.yml和prometheus-webhook-dingtalk.service,并启动

image

配置alertmanager并启动

global:resolve_timeout: 5m
templates:- templates/wechat.tmpl
route:group_by: ['alertname']group_wait: 10sgroup_interval: 10srepeat_interval: 10mreceiver: 'webhook'
receivers:
- name: 'webhook'webhook_configs:- url: http://192.168.60.185:8060/dingtalk/webhook1/sendsend_resolved: true
inhibit_rules:
- equal: ['alertname', 'cluster', 'service']source_match:severity: 'high'target_match:severity: 'warning'

数据流

prometheus----->alertmanager----->prometheus-webhook-dingtalk----->钉钉告警

效果

image

image

http://www.zskr.cn/news/81664.html

相关文章:

  • day3 Java基础
  • Typora最后的免费版本
  • linux vrf icmp reply /vrf icmp 响应错误消息
  • python —— 满二叉树的构建
  • 2025 最新箱包五金配件厂家 TOP5 评测!高端定制 + 全链服务权威榜单发布,技术赋能重构箱包五金生态 - 全局中转站
  • 1010000
  • 1001101
  • 1001011
  • 1001100
  • 1001001
  • 1001010
  • 1000010
  • 1000100
  • 2025 最新高端五金辅料厂家TOP5 评测!箱包等高端五金配件优质供应商,品质铸就 + 定制赋能权威榜单发布,技术创新引领行业新生态 - 全局中转站
  • 2025年高口碑LED生产厂家推荐,助你寻找可靠LED供应商 - 讯息观点
  • twemproxy请求限流:保护后端服务器的流量控制 - 详解
  • 双向链表及双向循环链表(C语言)
  • 2025年潜水搅拌机源头工厂推荐品牌:双曲面/框式/桨式/立式/絮凝/混凝/加药/折桨/混合搅拌机哪家强? - 品牌推荐大师1
  • Unity 协程
  • 2025年高压试验变压器/核相仪/电加热器/接地电阻测试仪/串联谐振耐压试验装置等电力试验设备厂家推荐 - 品牌推荐大师
  • 微软印度投资175亿 | NEO发布 | 阿里推出QwenCodev0.3.0 | Google推AI眼镜要来了
  • 2025凝胶电泳仪/琼脂糖电泳仪/进口替代仪器/分子生物仪器/生命科学仪器/WB/核酸/ecl凝胶成像分析系统哪家性价比高?认准实力制造商/源头厂家 - 品牌推荐大师1
  • 2025年冷热冲击试验箱/氙灯老化试验箱/高低温冲击试验箱/紫外老化试验箱/高低温试验箱哪家好?优质厂家排名比较好的推荐 - 品牌推荐大师1
  • Spring Boot Web 开发入门:分层架构、解耦设计与 IOC 核心思想
  • 2025年国产水质分析仪厂家推荐:多参数/四参数/便携式/氨氮/总磷/总氮/余氯/COD水质分析仪哪个品牌好? - 品牌推荐大师1
  • 2025年晶圆烘箱厂家推荐,国内品牌哪个好?哪家性价比高? - 品牌推荐大师
  • 深入解析:CV三大核心任务:目标检测、图像分割、关键点检测
  • Alientech KESS V3/KESS3 Slave: Activate Bike, ATV UTV Bench-Boot Protocols for Tuning Diagnostics
  • 2025年实验室通风系统/实验室气路系统公司/厂家推荐:实验室通风系统/实验室气路系统哪家好?哪家专业? - 品牌推荐大师
  • 超微粉碎机十大知名品牌推荐/行业领先企业/中药超微粉碎机源头厂家/灵芝超微粉碎机靠谱制造商/头部企业/实力生产商哪家好/优质供应商哪家强/生产商口碑推荐 - 品牌推荐大师1