date: 2020-10-28title: prometheus配置钉钉告警 #标题
tags: 钉钉告警 #标签
categories: 监控 # 分类
记录下Prometheus接入钉钉告警。
本文基于部署Prometheus监控k8s集群进行配置。
创建钉钉机器人
群聊添加机器人
自定义如下两项内容:
安装webhook插件
在任意节点安装此插件即可,只要altermanager可以和此节点通信。如下:
$ wget https://github.com/timonwong/prometheus-webhook-dingtalk/releases/download/v1.4.0/prometheus-webhook-dingtalk-1.4.0.linux-amd64.tar.gz
$ tar zxf prometheus-webhook-dingtalk-1.4.0.linux-amd64.tar.gz -C /opt
$ ln -sf /opt/prometheus-webhook-dingtalk-1.4.0.linux-amd64 /opt/prometheus-webhook-dingtalk
$ cd /opt/prometheus-webhook-dingtalk
# 启动dingtalk程序
$ nohup ./prometheus-webhook-dingtalk --web.listen-address="0.0.0.0:8060" --ding.profile="alert=https://oapi.dingtalk.com/robot/send?access_token=39a2284ace0c37e5a2871085892efbba42062fd9571f7aea56d" &
# 其中--ding.profile="alert 指定的alert为你创建顶顶机器人时自定义的关键字
# https://oapi.dingtalk.com/robot/send?ac.... 是你钉钉机器人生成的webhook。
# 确定端口在监听
$ ss -lnput | grep 8060
tcp LISTEN 0 128 [::]:8060 [::]:* users:(("prometheus-webh",pid=123196,fd=3))
修改alertmanager配置文件
cat >alertmanager-cm.yaml <<EOF
kind: ConfigMap
apiVersion: v1
metadata:
name: alertmanager
namespace: prom
data:
alertmanager.yml: |-
global:
resolve_timeout: 1m
smtp_smarthost: 'smtp.163.com:25'
smtp_from: 'lv916551516@163.com'
smtp_auth_username: 'lv916551516@163.com'
smtp_auth_password: 'RIUAMMLHGGYEG'
smtp_require_tls: false
route:
group_by: [alertname]
group_wait: 10s
group_interval: 10s
repeat_interval: 10m
receiver: alert # 此处照样指定为钉钉机器人自定义的关键字吧
receivers:
- name: alert # 和上面receiver指定的对应
webhook_configs:
- url: 'http://192.168.20.2:8060/dingtalk/alert/send'
send_resolved: true
EOF
# 上面的url中的IP替换为你的dingtalk所在节点的IP,后面路径中的alert也替换为你自己定义的关键字
# 创建configmap资源对象。
$ kubectl apply -f alertmanager-cm.yaml
至此,自行重启alertmanager容器,使其配置生效。
验证钉钉告警
# 在被监控节点执行此命令,使其CPU使用率达到百分之百,以便触发告警
$ for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done
稍后,钉钉群收到如下告警信息,则表示钉钉机器人告警配置无误。