Zabbix监控告警

一 钉钉告警

1.1.1 添加钉钉机器人

     发起群聊

    创建完群聊选择,机器人管理

    选择你要绑定的群聊

    复制下面地址留用

1.1.2 编写钉钉告警脚本

     安装requests库,HTTP客户端,

# yum install python-pip -y
# pip install requests

  编写脚本

#!/usr/bin/python
# -*- coding: utf-8 -*-

import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=40e9fb2c7b31025a79c86057ba4ca90e493a443c8f6d81bbf76965f67acf69580"     # 此处修改改为自己的webhook地址

def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text
        },
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content
    
if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)

  将脚本放入到zabbix server 的alertscripts目录下

# vim /etc/zabbix/zabbix_server.conf 
AlertScriptsPath=/usr/lib/zabbix/alertscripts

 cp dingding.py /usr/lib/zabbix/alertscripts/
 chmod 755 /usr/lib/zabbix/alertscripts/dingding.py 

1.1.3 zabbix web 上配置钉钉告警

    管理---> 报警媒介类型 ---->> 创建媒介类型

    # 注: alert.message,这个仅仅获取告警内容,报警类型选择脚本,脚本名称就是自己写好的脚本名称,

    

    选择: 管理 ---->> 用户 ---->> Admin ---->> 报警媒介 ---->> 添加钉钉告警

    接收人输入all 这样钉钉群下面的成员就都可以接收到报警信息了.

 

    创建动作: 

 

     操作配置如下:

# 默认标题:
故障{TRIGGER.STATUS},服务器:{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}

# 其他配置如下如

    恢复操作:

默认标题:
恢复{TRIGGER.STATUS},服务器:{HOSTNAME1} :{TRIGGER.NAME}已恢复!

# 消息内容
告警主机:{HOST.NAME}
告警地址:{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}

# 其他配置如下图

  

1.1.4 查看报警日志检查

二 邮件报警

2.1.1 配置报警媒介类型

2.1.2 用户添加报警媒介,以admin用户为例

 

 2.1.3 配置动作,操作以及恢复操作

 

posted @ 2019-02-21 10:54  闫世成  阅读(3116)  评论(0编辑  收藏  举报