一:创建钉钉告警机器人

一:创建钉钉告警机器人
1.在PC版钉钉上打开您想要添加报警机器人的钉钉群,并单击右上角的群设置图标。

2.在群设置面板中单击智能群助手。

3.在智能群助手面板单击添加机器人。

4.在群机器人对话框单击添加机器人区域的+图标,然后选择添加自定义。

5. 在机器人详情对话框单击添加。

6. 在添加机器人对话框中编辑机器人头像和名称,选中必要的安全设置(至少选择一种),选中我已阅读并同意《自定义机器人服务及免责条款》。单击完成。

二:安装钉钉告警插件

1. 下载插件
https://github.com/timonwong/prometheus-webhook-dingtalk/releases/
wget https://github.com/timonwong/prometheus-webhook-dingtalk/releases/download/v2.1.0/prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar.gz
2. 安装
tar -xvf prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar.gz -C /usr/local
cd /usr/local
mv prometheus-webhook-dingtalk-2.1.0.linux-amd64 prometheus-webhook-dingtalk

3.修改钉钉告警插件配置文件

## Request timeout
# timeout: 5s## Uncomment following line in order to write template from scratch (be careful!)
#no_builtin_template: true## Customizable templates path
templates:- contrib/templates/*.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:# 钉钉机器人的webhookurl: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx# secret for signature 加签后得到的值secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#  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']

钉钉告警模板(这个模板是在钉钉报警插件中使用的)

{{ define "__subject" }}
[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]
{{ end }}{{ define "__alert_list" }}{{ range . }}
---
{{ if .Labels.owner }}@{{ .Labels.owner }}{{ end }}**告警名称**: {{ index .Annotations "title" }} **告警级别**: {{ .Labels.severity }} **告警主机**: {{ .Labels.instance }} **告警信息**: {{ index .Annotations "description" }}**告警时间**: {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}
{{ end }}{{ end }}{{ define "__resolved_list" }}{{ range . }}
---
{{ if .Labels.owner }}@{{ .Labels.owner }}{{ end }}**告警名称**: {{ index .Annotations "title" }}**告警级别**: {{ .Labels.severity }}**告警主机**: {{ .Labels.instance }}**告警信息**: {{ index .Annotations "description" }}**告警时间**: {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}**恢复时间**: {{ dateInZone "2006.01.02 15:04:05" (.EndsAt) "Asia/Shanghai" }}
{{ end }}{{ end }}{{ define "default.title" }}
{{ template "__subject" . }}
{{ end }}{{ define "default.content" }}
{{ if gt (len .Alerts.Firing) 0 }}
**====侦测到{{ .Alerts.Firing | len  }}个故障====**
{{ template "__alert_list" .Alerts.Firing }}
---
{{ end }}{{ if gt (len .Alerts.Resolved) 0 }}
**====恢复{{ .Alerts.Resolved | len  }}个故障====**
{{ template "__resolved_list" .Alerts.Resolved }}
{{ end }}
{{ end }}{{ define "ding.link.title" }}{{ template "default.title" . }}{{ end }}
{{ define "ding.link.content" }}{{ template "default.content" . }}{{ end }}
{{ template "default.title" . }}
{{ template "default.content" . }}

4.启动钉钉报警插件

./prometheus-webhook-dingtalk --config.file=config.yml >dingtalk.log 2>&1 &

#默认使用 8060 端口
netstat -ntlp|grep 8060

三. 修改alertmanager配置文件(添加钉钉告警渠道)

vi /usr/local/alertmanager/alertmanager.yml

1.routes 部分添加如下部分

#通过正则表达式指定告警名称为Mysql开头,或者告警名称为 Memory Usage 的告警通过 dingding.webhook1 发送

  routes:- receiver: 'dingding.webhook1'match_re:alertname: "Mysql.*|Memory Usage"

2. receivers 添加如下部分

receivers:
- name: 'dingding.webhook1'webhook_configs:- url: 'http://119.8.238.94:8060/dingtalk/webhook1/send' #这里的webhook1,根据我们在钉钉告警插件配置文件中targets中指定的值做修改send_resolved: true

3.重新加载 alertmanager 参数
curl -lv -X POST http://localhost:9093/-/reload

4.测试告警
1) 查看是否生成告警
http://119.8.238.94:9090/alerts?search=

2) 查看告警是否通过指定渠道发送

#告警通过钉钉发送成功(prometheus 的告警规则中指定了默认告警方式为邮件告警,但是如果告警名称符合Mysql开头的告警,或者告警名称为Memory Usage则通过dingding.webhook1渠道发送)

告警发送

 告警恢复

Prometheus 通过钉钉告警相关推荐

  1. 安装kube-prometheus项目:k8s部署prometheus、监控k8s核心组件、添加告警(微信、钉钉、企业微信)、进行数据持久化

    概述 很多地方提到Prometheus Operator是kubernetes集群监控的终极解决方案,但是目前Prometheus Operator已经不包含完整功能,完整的解决方案已经变为kube- ...

  2. prometheus 发送恢复 值_基于prometheus+grafana+alertmanager监控系统配置钉钉告警

    概述 因为目前工作基本都是用钉钉办公,所以今天主要介绍一下怎么在prometheus配置钉钉告警,这里的前提是已经部署了alertmanager. 一.配置go 由于Prometheus 是用gola ...

  3. 通过Alertmanager实现Prometheus的告警告警配置(邮箱加钉钉)

    通过Alertmanager实现Prometheus的告警 告警配置 Prometheus本身不支持的告警功能,主要通过插件Alertmanager来实现告警.Alertmanager用于接收Prom ...

  4. Prometheus 配置钉钉告警

    背景 之前很少用钉钉,因为手机多装了一个软件,感觉占用系统资源.但是感觉确实有一些人使用钉钉告警,所以本篇来讲解如何通过钉钉来实现Prometheus的告警. 首先先注册钉钉,然后创建一个群.群的设置 ...

  5. Prometheus监控(三)—— 钉钉和企业微信告警

    一.prometheus 实现钉钉和企业微信告警 基础流程 1.1 钉钉通知 altermanager基础设置可以参照: https://editor.csdn.net/md/?articleId=1 ...

  6. prometheus 钉钉告警

    环境承上两篇: prometheus 邮件告警 https://blog.csdn.net/oToyix/article/details/120160633 prometheus process-ex ...

  7. [prometheus]Step6-prometheus使用钉钉告警

    prometheus 使用钉钉告警 安装alertmanager.service cd /opt # wget https://github.com/prometheus/alertmanager/r ...

  8. Prometheus+Alertmanager+webhook-dingtalk实现钉钉告警

    文章目录 一.前提准备及规划 二.安装及启动 2.1 Prometheus安装启动 2.2 Node_export安装启动 2.3 Alertmanager安装启动 2.4 Webhook-dingt ...

  9. prometheus grafana graylog 钉钉告警 短信告警 电话告警系统 PrometheusAlert

    PrometheusAlert 简介 PrometheusAlert是开源的运维告警中心消息转发系统,支持主流的监控系统Prometheus,日志系统Graylog和数据可视化系统Grafana发出的 ...

最新文章

  1. 2019年中国人工智能产业研究报告
  2. Seetaface 向树莓派 移植
  3. python中hashset_python中的集合
  4. 阿里云朱照远:边缘计算,无处不在
  5. git status怎么操作_新手 git 简明操作指南
  6. osql sql2012_您可能不知道SQL Server实用程序-SQLdiag,osql和SqlLocalDB
  7. bat调用ant_bat调用ant_Ant调用批处理文件编译VS2005程序
  8. 20.高性能MySQL --- 在MySQL上使用 Sphinx
  9. [线筛五连]线筛莫比乌斯函数
  10. 三角函数的思维导图(中)-1
  11. 用虚拟串口实现串口数据收发
  12. 【提供代码获取方式】matlab使用风羽法画大气环流
  13. JS 实现网页截屏五种方法
  14. metasploit关闭杀毒软件
  15. WPF DataGrid MVVM 绑定 SelectedCells
  16. 干货 | 对象存储的跨地域复制概述
  17. Qt中pro、pri文件的语法介绍
  18. python将空格分开_python将每个单词按空格分开并保存到文件中
  19. vtk相机_VTK 相机类vtkCamera原理及用法
  20. 今年某宝网双11“喵糖游戏”又翻车了?遭大量网友举报

热门文章

  1. Linux性能优化:CPU篇
  2. 【深度学习】深度学习和经典统计学是一回事?
  3. 豆豉烘干技巧有哪些,只用下列步骤烘干就行了
  4. Unity PBR学习(二) 一个简单的IBL
  5. fr4速度 微带线_微带线和带状线(microstrip and stripline)
  6. 100% 搭建你自己的匿名网站(暗网网站)
  7. CUDA_ERROR_LAUNCH_TIMEOUT
  8. EDA笔记(4)--语言要素
  9. h5 版活体检测、视频活体检测
  10. 小程序--时间处理(显示几分钟前,,几小时前,,几天前...)