系统工程 - 运维篇

第二章 Zabbix配置钉钉群聊告警机制

  • 系统工程 - 运维篇
  • 系列文章回顾
  • 下章内容
  • 前言
    • 实施步骤
  • Zabbix配置钉钉群聊告警机制
    • 新增监控主机,添加监控项,触发器
    • 导入自定义图标;新增拓扑图并添加图标;添加主机之间的链接关联
    • 新增钉钉告警的报警媒介类型;给用户分配报警媒介类型;新增动作并关联到触发器,触发后操作应用到钉钉告警的消息模板
    • 配置钉钉机器人
    • 编写钉钉告警的Python脚本
      • dingtalk.py
    • 测试Zabbix触发钉钉告警的有效性
  • 参考来源

系列文章回顾

第一章 戴尔PowerVault ME5012 存储服务器做快照计划的基本逻辑

下章内容

第三章 Zabbix实现自定义脚本监控Agent端


前言

测试搭建Zabbix监控平台,配置Zabbix的钉钉告警功能,实现Zabbix监控告警实时推送到钉钉群聊机器人,使用Webhook的形式实现告警。

实施步骤

1. 新增 需要监控的主机 ;在‘Zabbix Server’主机里添加监控项(简单检查)、触发器。
2. 导入自定义图标;新增拓扑图并添加图标;添加主机之间的链接关联。
3. 新增钉钉告警的报警媒介类型;给用户分配报警媒介类型;新增动作并关联到触发器,触发后操作应用到钉钉告警的消息模板。
4. 编写钉钉告警的Python脚本;测试Zabbix触发钉钉告警的有效性。

Zabbix配置钉钉群聊告警机制

新增监控主机,添加监控项,触发器

右上角创建主机,设置主机的相应参数

右上角创建监控项,类型设置 简单检查,键值使用ping丢包检测

右上角创建触发器,表达式从右边 [添加] 选择监控项并加入

结果选择 >= 10 ,即丢包率大于登录10%时就触发

导入自定义图标;新增拓扑图并添加图标;添加主机之间的链接关联



右上角创建图标,上传png/jpg/bmp/jpeg/ico等图片


右上角创建拓扑图,设置好参数后,编辑拓扑图,添加地图元素,类型选择 主机,主机选择自定义主机,图标选择 自定义图片
(截图略)

Ctrl键连选2个图标,添加链接

新增钉钉告警的报警媒介类型;给用户分配报警媒介类型;新增动作并关联到触发器,触发后操作应用到钉钉告警的消息模板








默认标题为:

服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!

消息内容为:

服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
{告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
}

操作框的设置为:


默认标题为:

服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!

消息内容:

服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!
{告警主机:{HOST.NAME}
操作框的设置为:
最后记得点击下方的添加按钮
zabbix的钉钉报警测试
根据触发器定义的条件触发问题,看看钉钉是否有告警。可以重启受监控的服务器作为测试。
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}
}

操作框的设置为:

配置钉钉机器人


编写钉钉告警的Python脚本

### ssh登录Zabbix,找到zabbix运行目录
whereis zabbix
which zabbix### 进入zabbix的脚本执行目录
cd /usr/lib/zabbix
cd alertscriptstouch dingtalk.py            # 新增dingtalk的告警脚本
chmod +x dingtalk.py       # 给脚本添加执行权限
vim dingtalk.py                 # 编辑脚本内容

Python环境预装

/usr/bin/python3 -m pip install requests DingtalkChatbot urllib3

dingtalk.py

#!/usr/bin/python3
import json
import requests
import sys
import time
import hmac
import hashlib
import base64
import re
from dingtalkchatbot.chatbot import DingtalkChatbotsecret = "xxxxxxxxxxxxxxxx"               # 钉钉机器人的加签字段内容
webhook = "https://oapi.dingtalk.com/robot/send?access_token=xxxxxx"    # 钉钉机器人的Webhook字段内容def dd_robot(msg):dd = DingtalkChatbot(webhook=webhook, secret=secret)dd.send_text(msg=msg, is_at_all=False, at_mobiles=[])if __name__ == "__main__":msg = str(sys.argv[1])outputmsg = (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())) + " 输出:" + msg)with open("/var/log/zabbix/zabbix_dingtalk.log", "a") as f:f.write(outputmsg + '\n')dd_robot(msg)

测试Zabbix触发钉钉告警的有效性

(略)

参考来源

  1. 121-配置zabbix通过钉钉机器人报警
  2. python发送钉钉消息
  3. 钉钉开放文档

[个人笔记] Zabbix配置钉钉群聊告警机制相关推荐

  1. Zabbix配置企业微信群聊机器人告警

    转载来源 : Zabbix配置企业微信群聊机器人告警 : https://www.jianshu.com/p/b5b1f92b1f15 最近在给内部使用的zabbix配置告警发送,要求是使用企业微信群 ...

  2. 【浙政钉】第四篇:浙政钉创建群聊、消息接入、发送

    背景 浙政钉上架应用可创建群聊,和用户单聊等. 版权 本文允许转载,转载请写上原文地址,谢谢!作者:曹震 目录 一.准备工作 二.浙政钉系列 三.接口开发 1.特别说明 1.1访问IP不在白名单中,r ...

  3. C# 代码实现钉钉创建群聊

    本文属于个人原创作品.个人总结,谢绝转载.抄袭.如果您有疑问或者希望沟通交流,可以联系QQ:865562060. 一.开始接入 1.开始接入钉钉之前,首先需要了解企业接入钉钉的概述:https://o ...

  4. Zabbix配置企业微信群(机器人)警告

    企业微信机器人告警 企业微信群聊里面增加机器人,机器人会提供发送信息的URL python 脚本进行实现的 1.创建企业微信机器人 没有企业微信的可以自己在企业微信官网申请注册个企业,创建企业微信群至 ...

  5. Netty工作笔记0029---NIO 网络编程应用--群聊系统4--客户端编写2

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后组织客户端去 客户端中去新建一个线程去调用客户端的,readInfo去读取数据就可以了. 然后 ...

  6. Netty工作笔记0028---NIO 网络编程应用--群聊系统3--客户端编写1

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 这个是客户端要做的事情. 然后这里构造方法,连接服务器 这里构造器完成初始化,主要是 连接服务器, ...

  7. Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 注意发送消息的时候,要排除发消息的他自己. 开始写给其他客户端发送消息. 这里读取对应的发过来的通 ...

  8. Netty工作笔记0026---NIO 网络编程应用--群聊系统1---编写服务器1

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152

  9. Linux Zabbix——企业监控基于钉钉、企业微信实现自动化报警

    zabbix基于企业微信.钉钉群聊机器人实现自动化报警 在企业中,我们使用zabbix去进行监控,需要时刻关注应用服务的运行情况,这就少不了实时报警,而使用即时通讯软件报警相对就很方便. 监控环境准备 ...

最新文章

  1. C# 托管资源和非托管资源
  2. C++ Double Ended Queues(双向队列)
  3. Google Maps打开出现internal error错误
  4. docker 核心概念整理
  5. ImportError: No module named arcpy
  6. hdu 1800 Flying to the Mars
  7. JAVA的静态变量、静态方法、静态类
  8. 【CodeForces - 1102C 】Doors Breaking and Repairing (思维,简单博弈)
  9. 计算机的iscsi配置,我们将了解如何设置自己的支持iscsi配置的存储节点
  10. html5 image 同步,html5 image使用大全
  11. 10个大数据领域的杰出公司
  12. linux中lsattr命令,Linux命令(16)——chattr与lsattr命令
  13. java param=json字符串_java解析json字符串
  14. navicat 快捷键
  15. 分享一篇去年的项目总结
  16. 麻将牌型说明最全版(图文介绍)
  17. 黑苹果安装各种问题解决办法
  18. 2022 极术通讯-基于安谋科技 “星辰” STAR-MC1的灵动MM32F2570开发板深度评测
  19. [51nod13831048]整数分解为2的幂
  20. 面试高级算法梳理笔记

热门文章

  1. qq邮箱mx服务器,QQ域名邮箱管理系统MX记录是什么?怎么添加设置?
  2. 机器学习 - 人脸识别
  3. 公众号平台域名配置规则
  4. mvn install BUILD FAILURE : Downloading from central: https://repo.maven.apache.org/maven2/org/sp...
  5. 我来说说我给宝宝买保险的事
  6. macbook配置java环境变量_Mac系统中如何配置JDK环境变量?Mac中JDK环境变量配置教程...
  7. MaaS一体化绿色出行服务,实现城市交通出行碳中和
  8. 赶紧更新!PC版微信被曝高危0day漏洞;特斯拉Autopilot源码窃取案尘埃落定
  9. 20 步打造完美网站布局设计
  10. Unity-日志工具