二、Prometheus基于Alertmanager实现钉钉告警
1.安装prometheus-webhook-dingtalk插件
wget https://github.com/timonwong/prometheus-webhook-dingtalk/releases/download/v0.3.0/prometheus-webhook-dingtalk-0.3.0.linux-amd64.tar.gz tar -zxf prometheus-webhook-dingtalk-0.3.0.linux-amd64.tar.gz -C /opt/ mv /opt/prometheus-webhook-dingtalk-0.3.0.linux-amd64 /opt/prometheus-webhook-dingtalk
2.钉钉创建机器人自定义告警关键词并获取token
选择群组—>群设置–>添加智能群助手–>添加机器人 注意:选择过程中会有三种安全设置(这里我们只用第一种) 1.第一个自定义关键字是说你在以后发送的文字中必须要有这个关键字,否则发送不成功。 2.加签是一种特殊的加密方式,第一步,把timestamp+"\n"+密钥当做签名字符串,使用HmacSHA256算法计算签名,然后进行Base64 encode,最后再把签名参数再进行urlEncode,得到最终的签名(需要使用UTF-8字符集)。 3.IP地址就是说你在发送时会获取你的IP地址,如果不匹配就发送不成功。这个加密的方式可以自己选择,我们选择加签。如果你想使用IP的话,可以访问https://ip.cn/
3.启动钉钉插件dingtalk
vim /etc/systemd/system/prometheus-webhook-dingtalk.service #添加如下内容 [Unit] Description=prometheus-webhook-dingtalk After=network-online.target [Service] Restart=on-failure ExecStart=/opt/prometheus-webhook-dingtalk/prometheus-webhook-dingtalk --ding.profile=ops_dingding=自己钉钉机器人的Webhook地址 [Install] WantedBy=multi-user.target #命令行启动 systemctl daemon-reload systemctl start prometheus-webhook-dingtalk ss -tnl | grep 8060 #测试 curl -H "Content-Type: application/json" -d '{ "version": "4", "status": "firing", "description":"description_content"}' http://localhost:8060/dingtalk/ops_dingding/send
4.配置Alertmanager
cat /opt/alertmanager/alertmanager.yml global: #每一分钟检查一次是否恢复 resolve_timeout: 1m route: #设置默认接收人 receiver: 'webhook' #组告警等待时间。也就是告警产生后等待10s,如果有同组告警一起发出 group_wait: 10s #两组告警的间隔时间 group_interval: 10s #重复告警的间隔时间,减少相同微信告警的发送频率 repeat_interval: 1h #采用哪个标签来作为分组依据 group_by: [alertname] routes: - receiver: webhook group_wait: 10s match: team: node receivers: - name: 'webhook' webhook_configs: - url: http://localhost:8060/dingtalk/ops_dingding/send #警报被解决之后是否通知 send_resolved: true #命令行启动 cd /opt/alertmanager/ ./alertmanager --config.file=alertmanager.yml & netstat -anput | grep 9093
5.关联Prometheus并配置报警规则
cat /opt/prometheus/rules/node_down.yml groups: - name: Node_Down rules: - alert: Node实例宕机 expr: up == 0 for: 10s labels: user: prometheus severity: Warning annotations: summary: "{{ $labels.instance }} 服务宕机" description: "{{ $labels.instance }} of job {{ $labels.job }} has been Down." 修改Prometheus配置文件 cat /opt/prometheus/prometheus.yml # 修改以下内容 # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: ["localhost:9093"] rule_files: - "/opt/prometheus/rules/node_down.yml" # 实例存活报警规则文件 #重启 systemctl restart prometheus
6.测试钉钉报警功能
#关闭node_exporter systemctl stop node_exporter
告警通知
恢复通知:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
使用Navicat软件对数据库定时备份
使用Navicat软件对数据库定时备份 在做数据库修改或删除操作中,可能会导致数据错误,甚至数据库崩溃,而有效地定时备份能很好地保护数据库。本文主要介绍Navicat for MySQL定时备份数据库。 1、在Navicat软件中点击计划菜单,选择所要备份的数据库 2、对计划任务进行保存,并命名为“备份iot数据库” 3、保存成功后,"设置计划任务"的按钮即可点击。 4、进入设置计划任务的界面,进行相关参数的设置。 5、对计划任务进行定时执行的参数配置。 6、其他可配置的参数如下,可根据自身需要进行设置。 另外,计划任务的执行情况,可设置发送到指定的邮箱里。 7、最后,我们的计划任务创建完成了,可在任务定时的时间执行。
- 下一篇
IDC:云计算和边缘计算是“下一个常态”的关键
帮助企业利用冠状病毒大流行带来的新“下一个常态”的合作伙伴应该记住,加速客户向云计算的过渡是改变商业环境的关键,而“最有趣的事情将发生在边缘”。 总部位于马萨诸塞州弗雷明翰的市场研究公司IDC全球研究部副总裁里克·维拉斯(RickVillars)表示,对许多公司来说,全球流感已经加强了转变业务以使其更灵活、更好地响应客户需求的重要性。 Villars在本周TheChannelCompany的NexGen+2020会议的主题演讲中说:“这些公司自己的客户所要求的体验是一个巨大的新机会。” IDC自3月份以来每两周进行一次的研究和调查表明,现在是合作伙伴及其客户加速数字化转型的时候了,要持续不断地满足业务需求和运营效率,而不仅仅是在危机模式下。 Villars表示,"根据行业的不同,会有一些企业意识到这对他们的供应链造成了重大影响,他们将需要使供应链多元化。"“很多人已经意识到,在这个新世界中,非接触式设备是你商业模式的一部分,不仅仅是对餐馆和杂货店,对医院和产品制造商也是如此——基本上对任何为客户提供服务并满足客户需求的人都是如此。” 许多公司认为自己掌握了自己的数据,并在有效地使用这些...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7,CentOS8安装Elasticsearch6.8.6