Zabbix6 对接飞书告警

文章目录

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的版本

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和secret
    string_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, sign


def 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())
    return


if __name__ == '__main__':
    text = sys.argv[1]
    # text = "1"
    send_feishu_message(text)

给脚本赋权

shell 复制代码
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飞书机器人告警

相关推荐
亚信安全官方账号1 天前
亚信安全携手飞书“走近先进” 与保隆科技探索制造业数字化转型
飞书
大虾别跑1 天前
docker安装zabbix +grafana
docker·zabbix·grafana
HelpLook HelpLook3 天前
降本增效新策略:对比飞书和钉钉,HelpLook如何更灵活管理知识库访客权限?
人工智能·aigc·钉钉·飞书·企业知识库·ai知识库·访问权限
Java追光着3 天前
三种复制只有阅读权限的飞书网络文档的方法
飞书
da pai ge6 天前
zabbix搭建钉钉告警流程
钉钉·zabbix
kissbike1487 天前
飞书文档只读限制复制
飞书
我是黄大仙8 天前
利用飞书多维表格自动发布版本
运维·服务器·数据库·飞书
悟空码字14 天前
使用免费的飞书机器人,实现消息推送实时通知
飞书·消息推送·群机器人
Karoku06615 天前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
mixboot15 天前
飞书 富文本(Markdown)
飞书