钉钉报警设置 创建群机器人 11111 ? ? 接口地址 ? 不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。" zabbix集成钉钉报警 钉钉报警python脚本 https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq https://blog.csdn.net/ /usr/bin/env python #coding:utf-8 #zabbix钉钉报警 import requests,json,sys,os,datetime webhook="https://oapi.dingtalk.com /logs/dingding.log"): f=open("/usr/local/zabbix_server/logs/dingding.log","a+") else: f=open(
添加报警脚本 默认zabbix服务端配置文件 /etc/zabbix/zabbix_server.conf 找到AlertScriptsPath,默认位置在/usr/lib/zabbix/alertscripts 将钉钉报警脚本添加到对应的位置 并对脚本添加可执行权限 ? }: 关联每个用户的钉钉token ? 4.添加用户并关联钉钉token ? ? ? ? 5.添加报警动作 我的示例: 添加了只对工作时间(周一到周五 9点到18点)以及应用集的限制. 6.钉钉消息示例 ?
,由于markdown的图片链接需要被访问到,我的zabbix是在内网中,所以需要将图片传到图床或者传到一个具有公网IP的web服务器,我这里传到了我的个人服务器 将报警信息转换成markdown语法格式 构造请求利用钉钉的webhook发送消息 设置钉钉机器人 钉钉机器人需要进行安全设置,这里我定义了关键词”通知“,也就是说发送的消息中必须包含这个词 脚本实现 由于需要将图片从本地拷到远端,免密需要提前配置好 打开zabbix监控web,在管理菜单中选择报警媒介类型,创建媒体类型,选择脚本,填写刚才编写的邮件带图脚本名称zabbix_email_pic.py,脚本参数,最后添加 打开管理中的用户,点击需要设置邮件告警的用户 ,然后在报警媒介中添加报警媒介,在弹框中选择刚才定义的类型,收件人自定义,最后添加 定义告警动作 点击配置菜单中的动作,创建动作,然后根据图片进行填写 操作 默认标题 Zabbix告警:服务器:{HOSTNAME 至此,zabbix的微信,邮箱,钉钉的带图报警均已配置完成
环境 zabbix4.0 server端 ubuntu14.04 agent端 centos7 zabbix控制面板 没有动作日志。解决:同步系统时间。 步骤 添加钉钉群机器人,获取webhook地址 zabbix-server.conf 中配置脚本路径并编写脚本 web界面添加报警媒介、动作、授权报警用户 第一步很easy 如图 ? ? ? 第二部配置zabbix脚本 ? 1.进入zabbix server 配置文件目录 /etc/zabbix/zabbix_server.conf 安装方式不同所在目录不同。 /usr/bin/env python #coding:utf-8 #zabbix钉钉报警 import requests,json,sys,os,datetime webhook="上面创建钉钉机器人的 这是一条测试文字" 脚本使用文档:https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq 第三步 web界面配置报警媒介
AlertManager Dingtalk 简介 用于接收AlertManager服务通知并通过钉钉机器人报警 prometheus-operator 安装请参考往期文章 Prometheus Operator 手动部署 AlertManager 钉钉报警服务示例 ? app.run(host='0.0.0.0', port=5000) 使用 Docker 部署 $ docker run -p 5000:5000 --name -e ROBOT_TOKEN=<钉钉机器人 dingtalk-hook -d yangpeng2468/alertmanager-dingtalk-hook:v1 使用 Kubernetes 部署 第一步 创建kube-ops namespace,建议将钉钉机器人 kubectl create namespace kube-ops $ kubectl create secret generic dingtalk-secret --from-literal=token=<钉钉群聊的机器人
isAtAll": false > } > }' {"errcode":0,"errmsg":"ok"}[root@summer logs]# 结果 # 2.实践 模仿当前nginx进程挂机 则启动钉钉报警
zabbix服务器监控到异常,可以通过各种方式发送报警消息。 配置步骤如下: 1、创建报警脚本 [root@node2 ~]# vim /usr/local/share/zabbix/alertscripts/dingalert.py #! headers) return r.text if __name__ == '__main__': msg = sys.argv[1] remiders = [] url = '钉钉机器人的 z10.png 5、触发报警条件。如,本例中/boot分区空间不足20%将会发生报警。 # df -h /boot/ 文件系统 容量 已用 可用 已用% 挂载点 /dev/vda1 1014M 961M 54M 95% /boot 6、查看动作日志及钉钉消息
前言 zabbix监控系统部署完成以后,出现问题及时报警。是运维进行故障应急响应的关键。下面就来实现zabbix通过钉钉报警。 钉钉的配置 创建群聊 将需要得到报警信息的人添加到一起,群名称:钉钉报警 添加一个自定义机器人 项目小助手-->更多机器人-->自定义机器人,获取webhook的access_token,后面用得到 zabbix配置 报警脚本 dingding.py 脚本内容如下: 进行发送报警信息测试 /usr/lib/zabbix/alertscripts/dingding.py 18910088805 监控测试 监控报警好不好使 管理-->报警媒介类型-->创建媒体类型 配置-->动作-->Trigger actions-->创建动作 配置用户 报警在docker下实现 pip3 install
本篇文章基于Prometheus-Operation,收集Redis、MySQL、RabbitMQ的监控信息并报警 Redis钉钉报警 数据收集 首先启动一个Redis的信息收集的应用程序 docker 报警 首先你需要在一个钉钉群建一个报警集群人,集群人类型选择自定义,然后在这个机器人身上你会发现一个token,记住这个token哦 紧接着需要对prometheus做一下改造,来到安装包的 contrib ,所以在这里还不能直接把普罗米修斯的数据发给钉钉。 /serverapi2/qf2nxq MySQL钉钉报警 使用如下方式收集MySQL监控信息 docker run -d --name mysql_exporter -e DATA_SOURCE_NAME RabbitMQ钉钉报警 使用如下方式收集MySQL监控信息 docker run -d --name rabbitmq --env RABBIT_URL="http://172.16.40.169:15672
# 将脚本放到zabbix-server服务器路径:/usr/lib/zabbix/alertscripts 脚本如下 #! 712c3d89c613a3cce737bd1ed5ce8c7b9ebd5ee48c115236873b2a2a54c5efcf" #说明:这里改为自己创建的机器人的webhook的值 user=sys.argv[1] #发给钉钉群中哪个用户 "at": { "atMobiles": [ user ], "isAtAll": False } } #钉钉 datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + "\n" + str(text)) f.close() # 报警媒介配置 当前状态:{TRIGGER.STATUS} 告警信息:{TRIGGER.NAME} 告警时间:{EVENT.DATE} {EVENT.TIME} 事件ID:{EVENT.ID} # 设置告警用户,添加报警媒介
Grafana钉钉报警的小卡片点击时无法跳转到Grafana的界面 在Grafana的配置文件.ini里 root_url = 'xxxx' 复制代码 配置上地址重启即可 一、grafana安装与启用 钉钉开发者文档:ding-doc.dingtalk.com/doc#/server… 1.创建钉钉群&钉钉机器人 创建一个自定义机器人 2.在“机器人设置”中获得webhook的URL 获得webhook 2.创建一个测试用的dashboard和panel ,按“E”进入编辑模式,先创建一个query,选择数据源、检测项、实例ID、数据获取间隔; 3.创建一个报警规则 Name 自定义警报名称 Evaluate 标签,这样[OK]状态就不会发警报了 四、其他实施细节 1)注意修改AWS控制台的EC2监控,启用“详细监控”,实际就是数据抓取频率5min → 1min 2)基本沿用测试套路,为常用的server设置报警 ,可以多个query放到一个panel当中 监控项:CPU负载 健康监测:每分钟计算前5分钟CPU负载平均值,大于80则报警 报警规则:均值大于80变为“pending”状态,pending状态延续3分钟启动
Zabbix是现在企业用的比较多的开源监控系统,Zabbix电话短信报警更是运维不可缺少的报警渠道。 前面一篇介绍了Zabbix5.4版本如何通过Spug推送助手发送电话短信报警,但用户反馈Zabbix4.x版本有很大不同,这篇文章就基于Zabbix4.x版本介绍一下如何实现Zabbix电话短信和各种机器人报警 ID 图片 Zabbix添加报警媒介 • Zabbix / Administration / Media Types / create media type 图片 Name:推送助手报警 Type 报警报警脚本 登录zabbix-server服务器,添加zabbix执行的报警媒介脚本 $ vim /usr/lib/zabbix/alertscripts/spug_push_alert.sh #! 图片 关于Spug推送助手: 推送助手是一个集成了电话、短信、邮件、飞书、钉钉、微信、企业微信等多通道的消息推送平台。 用户只需要调用一个简单的URL,就可以完成多通道的消息推送。
配置 自定义机器人:机器人 打开钉钉软件 后台新增钉钉报警: 测试: 报警 目前只有Graph支持报警功能,所以我们选择Graph相关图表。 这里需要注意一下,需要修改 vim /etc/grafana/grafana.ini 中的一个参数: 修改为自己服务的访问地址 root_url = http://grafana.zhdya.com 保存报警配置
更新 20200202 输出显示pve集群的名称 本来是为了放假安心随手写的,结果这个漫长的假期真的收到了一个报警,因为我有两个pve集群使用ceph,一时间不知道是哪一个在报警,增加一行获取pve 为了及时发现和处理ceph故障,写一个bash脚本检测ceph状态并用钉钉报警。 脚本的大概思路是这样的: 执行检测命令"ceph health",获取输出。 如果没有错误日志,把报错信息记录下来,通过钉钉发送当前状态,并创建错误日志。 脚本如下,修改电话号码PHONE和钉钉TOKEN就可以了: # vi check_ceph.sh #! 接下来让定时任务执行脚本,比如每隔10分钟执行一次: # crontab -e */10 * * * * /root/check_ceph.sh 测试,在ceph osd设置"noout",等10分钟就钉钉就会收到报警 其实pvesh可以通过api获取pve信息,所以可以考虑扩展这个脚本,把集群状态,存储状态,节点状态统统定时收集并报警。
一、添加钉钉机器人 参考钉钉官方文档:https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq image.png 二、在k8s上部署钉钉告警deployment access_token=1fd59067ab85bea575122a5e4f05cefd6609d9d3e41a725e46a90c2fad9b3" #上面创建的钉钉机器人hook protocol: TCP targetPort: 8080 selector: app: webhook-dingtalk type: ClusterIP 三、alertmanager添加钉钉告警类型
我司使用钉钉作为主要的内部通讯工具,基本上大家在电脑和手机上都开着,消息可以第一时间查看,报警消息的即时性要求比较高,我们计划使用钉钉来发送报警通知。本文将简要介绍发送消息的API使用样例。 钉钉的API接口文档,请查阅钉钉开放平台。 介绍如何用 Python 实现钉钉自动发送消息,你可以用来和报警平台整合,或者做ChatOps。 corp_id 和corp_secret 是企业的 id 和 secret,在钉钉的管理后台可以找到。另外,上面用到了 urllib2 和 json,需要在脚本中引用。 消息类型 钉钉的消息类型分为:text,image,voice,file,link和OA。下面以发送文本,链接和文件消息为例进行说明。 access_token=", access_token, body) 其中agent_id是一个钉钉应用的id,以钉钉应用的名义给用户发送消息。users是用户id列表,每个用户id是一个字符串。
为了埋点实时监控业务,简单的实现了钉钉机器人报警,钉钉开发官方文档点击 public interface AlarmService { Response<Boolean> orderSuccessAlarm String result = EntityUtils.toString(response.getEntity(), "utf-8"); logger.info("报警已经成功发送 \",\n" + "\"text\":\"#### 推单失败报警 \\n " + companyAppIdEnum.getDesc() + "推单失败已超过 \",\n" + "\"text\":\"#### 机构过滤报警 \\n " + companyAppIdEnum.getDesc() + "过滤失败已超过 } } public enum AlarmTypeEnum { ORDER_ALARM, ORDER_USER_FILTER; } } 按照钉钉的文档来开发
需求: Zabbix告警通知发送到钉钉群组 钉钉报警时基于zabbix,访问钉钉应用接口去推送的报警消息,所以我们需要一个在钉钉创建一个报警应用。 版本: Zabbix:4.0.7 Python:2.7.5 一、钉钉配置 1、创建群组、添加告警机器人 钉钉的聊天界面,点击发起群聊: 钉钉要3个人才能建群,所以需要添加两个人即可。 二、zabbix配置 1、创建脚本 [root@localhost ~]# vim /usr/local/zabbix/alertscripts/dingding.py #! web界面设置 1、添加报警脚本到zabbix:管理>>报警媒介类型 脚本参数如下: {ALERT.MESSAGE} {ALERT.SENDTO} 2、配置用户 3、创建动作:配置>>动作 TRIGGER.STATUS}: {ITEM.VALUE1} 告警信息: {TRIGGER.NAME} 告警时间: {EVENT.DATE} {EVENT.TIME} 事件ID: {EVENT.ID} 4、进行钉钉报警测试
本文将带来 Zabbix 6.0 LTS 如何利用 Python 脚本实现钉钉机器人通知告警信息。 正文 本文环境 RockyLinux 8.5 Zabbix 6.0 LTS Python 3 钉钉配置 登录钉钉软件,点击右上方的 + 号 点击创建按钮(如下图) 填写相关信息,群聊需要 3 钉钉机器人需要设置安全条件,如果不符合安全条件,则无法通过钉钉机器人发送消息,这点需要注意 自定义关键词 加签 IP 地址(支持网段) 完成机器人添加后记住 Webhook 的地址,下面会用到 添加完成后 ,群聊里会有相关提示 Zabbix 配置 由于是脚本的关系,所以需要找到 Zabbix 调用脚本的路径 cat /etc/zabbix/zabbix_server.conf | grep AlertScriptsPath vim /etc/zabbix/zabbix_server.conf 将注释取消掉,重启 Zabbix 服务 systemctl restart zabbix-server 脚本部分 Python
前面有提到通过 python 的方式告警,但由于每个人的环境都不一样,容易出现格式缩进等一些问题,而实际上钉钉机器人也是通过 webhook 的方式来实现的,Zabbix 5.2 版本原生支持 webhook Zabbix.Log( 4, "[dingding Webhook] URL: " + url.replace(dingding.key, "<BOT KEY>") ); Zabbix.Log(4, "[dingding Webhook] params: " + data); response = request.Post(url, data); Zabbix.Log(4, "[dingding Webhook] HTTP code: " + request.Status()); try { response = JSON.parse "; } 这个脚本贴在下图的这个位置,在报警媒介类型下 需要将key部分修改为自己的机器人的token,主要是下图里的”access_token=”的一串字符串。