当前位置: 首页 > news >正文

Zabbix6 对接飞书告警

文章目录

  • Zabbix对接飞书告警
    • 背景
    • 创建飞书群组
    • Zabbix配置
      • 创建告警媒介类型
      • 创建动作
      • 用户关联飞书告警

Zabbix对接飞书告警

背景

@运维 你看下他的进程是不是挂了,之前在9点28分有发消息的,这次没有发消息
哐哐哐的去看了一通,确实有个进程之前是3个,现在只有2个了,进程减少了,当然这个业务也就存在问题了。还好小伙伴细心发现的比较早,如果小伙伴没有发现,业务受到了影响那就是一个生产事故,当然应用有问题也是一部分原因。所以监控要加起来这是必须要做的事情,以下是Zabbix6 对接和飞书的对接的步骤

创建飞书群组

自行创建,创建结束后添加机器人,点击机器人可获得
在这里插入图片描述
webhook 地址和签名校验,注意保密哦

Zabbix配置

创建告警媒介类型

http://127.0.0.1:18380/zabbix.php?action=mediatype.list

在这里插入图片描述
填写报警媒介类型信息,填写对应的值,Message Templetes、选项默认即可,填写完成后点击添加
在这里插入图片描述
主要信息,方便复制的文字有

{ALERT.MESSAGE}

导入后,这时候有了feishu的类型
在这里插入图片描述
在Zabbix server的机器上安装python3的环境,我是为了偷懒使用了conda,然后通过软连给了全部的环境

cd /opt/
wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
chmod u+x Anaconda3-2023.03-1-Linux-x86_64.sh
./Anaconda3-2023.03-1-Linux-x86_64.sh
按回车
输入"yes"
指定路径"/usr/local/anaconda3"
输入"yes"
no

设置软连接

ln -s /usr/local/anaconda3/bin/pip  /usr/bin/pip
ln -s /usr/local/anaconda3/bin/python3  /usr/bin/python3

在此路径编写脚本,脚本名称和创建告警器的脚本名字要对应起来

cd /usr/local/share/zabbix/alertscripts
vim zabbix_feishu.py

python 脚本,#!/usr/bin/python3这个是必须有的,指定python的版本

#!/usr/bin/python3
import hashlib
import base64
import hmac
import time
import requests
import sys# 飞书机器人的信息
url = 'https://open.feishu.cn/open-apis/bot/v2/hook/e3d4acfc-982b-449f-bc54-43b6e03220d'
# 签名可以不用
secret = 'n5oglp5N2wVwppK4Ltb'def gen_sign():timestamp = int(time.time())# 拼接timestamp和secretstring_to_sign = '{}\n{}'.format(timestamp, secret)hmac_code = hmac.new(string_to_sign.encode("utf-8"), digestmod=hashlib.sha256).digest()# 对结果进行base64处理sign = base64.b64encode(hmac_code).decode('utf-8')return timestamp, signdef send_feishu_message(str):timestamp, sign = gen_sign()headers = {"Content-Type": "application/json",}data = {"timestamp": timestamp,"sign": sign,"msg_type": "text","content": {"text": str}}result = requests.post(url, json=data, headers=headers)print(result.json())returnif __name__ == '__main__':text = sys.argv[1]# text = "1"send_feishu_message(text)

给脚本赋权

chomd 755 /usr/local/share/zabbix/alertscripts/zabbix_feishu.py

对飞书进行测试
在这里插入图片描述
在这里插入图片描述
这时候会有飞书消息发出来
在这里插入图片描述
如果没有发出,则说明有问题,也可以在Linux上进行测试

这么测试也可以

(base) [root@localhost alertscripts]# cd /usr/local/share/zabbix/alertscripts
(base) [root@localhost alertscripts]# python zabbix_feishu.py test
{'StatusCode': 0, 'StatusMessage': 'success', 'code': 0, 'data': {}, 'msg': 'success'}

在这里插入图片描述
先确定好这些是对的,然后再进行下一步操作

创建动作

在这里插入图片描述
创建触发条件,有好几种类型,根据自身情况进行选择
在这里插入图片描述
每个动作添加对应的值
在这里插入图片描述
配置对应的细节操作,勾选Custom Message,填写类型,配置完点击Add
在这里插入图片描述

异常告警: {EVENT.NAME}告警主机:{HOSTNAME1}
告警时间:{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY} 
告警信息:{EVENT.NAME} 
告警项目:{TRIGGER.KEY1} 
问题详情:{ITEM.NAME}:{ITEM.VALUE} 
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 
事件ID:{EVENT.ID}

恢复通知配置

在这里插入图片描述

恢复通知: {EVENT.NAME}恢复主机:{HOSTNAME1}
恢复时间:{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY} 
恢复信息:{EVENT.NAME} 
恢复项目:{TRIGGER.KEY1} 
问题详情:{ITEM.NAME}:{ITEM.VALUE} 
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 
事件ID:{EVENT.ID}

详细的zabbix的文档请Zabbix官网查询
点击添加配置完成

在这里插入图片描述

用户关联飞书告警

选择用户,找到Admin进行关联
在这里插入图片描述
类型选中刚才创建的feishu
在这里插入图片描述

参考Zabbix飞书机器人告警

http://www.lryc.cn/news/121459.html

相关文章:

  • Javascript异步编程的4种方法
  • 【MySQL】表的内外连接
  • 详解Mysql——第一篇/连接查询
  • uniapp获取屏幕宽度时 获取不到移动设备中内容盒子宽度
  • 篇十二:代理模式:控制对象访问
  • P1657 选书
  • 代码随想录第46天 | 139. 单词拆分、多重背包
  • Unreal View Model结合GAS使用
  • Spring-Cloud-Loadblancer详细分析_2
  • uniapp 左右滑动切换页面并切换tab
  • FinClip 支持小程序维度域名配置;桌面端体验活动进行中
  • 已有公司将ChatGPT集成到客服中心以增强用户体验
  • 108. 将有序数组转换为二叉搜索树
  • 视频分辨率: UXGA/SVGA/VGA/QVGA/QQVGA
  • Leecode力扣27数组移除元素
  • 百度云盘发展历程与影响
  • SpringBoot复习:(33)WebMvcAutoconfiguration内部静态类WebMvcAutoConfigurationAdapter
  • f1tenth仿真2
  • exec族函数
  • dbm与mw转换
  • 【Linux】多线程之单例模式
  • Vision Transformer模型入门
  • 如何使用 Go 获取 URL 的参数,以及使用时的问题
  • Linux驱动-基于QT控制LED灯
  • 布隆过滤器的原理和应用场景
  • ElasticSearch学习
  • 软件测试基础篇——Redis
  • 大数据扫盲(1): 数据仓库与ETL的关系及ETL工具推荐
  • spring的aop动态代理对象注入时机
  • idea集成svn