╃苍狼山庄╃╃苍狼山庄╃

Clang出品,
必属精品!

zabbix监控的告警通知python脚本,适用于企业微信、钉钉、飞书

在企业信息化建设中,监控是非常重要的一环。监控可以帮助企业实时掌握系统的运行状态,及时发现问题并进行处理。而在监控中,告警通知更是至关重要的一环,它可以帮助企业快速响应问题,及时解决问题,从而避免损失的扩大。

zabbix是一款功能强大的监控系统,它可以通过配置告警媒介来实现告警通知。告警媒介可以是邮件、短信、微信等多种方式,其中微信告警通知在企业中越来越受欢迎。本文将介绍如何使用zabbix告警通知python脚本实现企业微信告警通知。

zabbix告警通知设置

在zabbix中,我们可以通过配置告警媒介来实现告警通知。告警媒介可以是邮件、短信、微信等多种方式。下面是具体的配置步骤:

  1. 进入zabbix管理页面,点击左侧菜单栏的“Administration”,再选择“Media types”。
  2. 点击“Create media type”按钮,进入创建媒介类型页面,填写媒介类型名称、类型、脚本路径等信息。其中,脚本路径为zabbix告警通知python脚本的路径。
  3. 点击“Save”按钮,保存媒介类型。

zabbix告警级别设置

在zabbix中,我们可以通过设置告警级别来实现告警通知的灵活控制。告警级别可以是信息、警告、平均、高、灾难等级别。下面是具体的设置步骤:

  1. 进入zabbix管理页面,点击左侧菜单栏的“Configuration”,再选择“Actions”。
  2. 点击“Create action”按钮,进入创建告警动作页面,填写动作名称、条件、操作等信息。其中,操作中的媒介类型为上一步中创建的媒介类型,告警级别为信息、警告、平均、高、灾难等级别。
  3. 点击“Save”按钮,保存告警动作。
    好的,以下是分开写的三个脚本。

企业微信机器人告警通知脚本

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author:zabbix_monitor_wechat.py
# datetime:2023/1/1 0:0

import requests
import json
import sys

class WeChat(object):

    def __init__(self):
        self.url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=**********"  # 企业微信机器人url
        self.headers = {'Content-Type': 'application/json'}

    def send_message(self, content):
        message = {
            "msgtype": "text",
            "text": {
                "content": content
            }
        }
        r = requests.post(url=self.url, headers=self.headers, data=json.dumps(message))
        return r.text

if __name__ == '__main__':
    content = sys.argv[1]
    wechat = WeChat()
    wechat.send_message(content)

钉钉机器人告警通知脚本

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author:zabbix_monitor_dingtalk.py
# datetime:2023/1/1 0:0

import requests
import json
import sys

class DingTalk(object):

    def __init__(self):
        self.url = "https://oapi.dingtalk.com/robot/send?access_token=**********"  # 钉钉机器人url
        self.headers = {'Content-Type': 'application/json'}

    def send_message(self, content):
        message = {
            "msgtype": "text",
            "text": {
                "content": content
            }
        }
        r = requests.post(url=self.url, headers=self.headers, data=json.dumps(message))
        return r.text

if __name__ == '__main__':
    content = sys.argv[1]
    dingtalk = DingTalk()
    dingtalk.send_message(content)

飞书机器人告警通知脚本

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author:zabbix_monitor_feishu.py
# datetime:2023/1/1 0:0

import requests
import json
import sys

class FeiShu(object):

    def __init__(self):
        self.url = "https://open.feishu.cn/open-apis/bot/v2/hook/**********"  # 飞书机器人url
        self.headers = {'Content-Type': 'application/json'}

    def send_message(self, content):
        message = {
            "msg_type": "text",
            "content": {
                "text": content
            }
        }
        r = requests.post(url=self.url, headers=self.headers, data=json.dumps(message))
        return r.text

if __name__ == '__main__':
    content = sys.argv[1]
    feishu = FeiShu()
    feishu.send_message(content)

修改默认报警模板

1.问题

主题:

故障告警:{EVENT.NAME}

消息:

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

2.恢复

主题:

故障恢复:{EVENT.NAME}

消息:

告警主机:{HOSTNAME1}
IP地址:{HOST.IP}
告警时间:{EVENT.DATE}  {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.DURATION}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

总结

本文介绍了如何使用zabbix告警通知python脚本实现企业微信告警通知,包括zabbix告警通知设置、zabbix告警级别设置以及zabbix告警通知python脚本。通过本文的介绍,我们可以看到,使用zabbix告警通知python脚本实现企业微信告警通知非常简单,只需要按照上述步骤进行配置即可。希望本文能够对大家有所帮助,让大家在企业信息化建设中更加得心应手。

本原创文章未经允许不得转载 | 当前页面:╃苍狼山庄╃ » zabbix监控的告警通知python脚本,适用于企业微信、钉钉、飞书

评论

文章评论已关闭!