Zabbix配置企業釘釘報警
一、Zabbix簡介
1、zabbix(音同 zæbix)是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。
2、zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
3、zabbix由2部分構成,zabbix server與可選組件zabbix agent。
4、zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平臺上。
二、完整的Zabbix監控平臺包括:Zabbix-Server、Zabbix-DB、Zabbix-WEB、Zabbix-Client、Zabbix-Proxy;
二、釘釘告警配置
1、添加釘釘機器人
![](https://s4.51cto.com/images/blog/202004/03/efa518bec74cbaf8923f30ad89a913d5.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
選擇釘釘自定義機器人
2、配置服務器
3、創建釘釘文件夾
/usr/local/zabbix/share/zabbix/alertscripts/dingding.py
將以下內容複製的dingding.py文件夾
#!/usr/bin/python3
import requests
import json
import sys
#告警羣,測試環境
url = 'https://oapi.dingtalk.com/robot/send?access_token=41f44092c9868f58f6637cf938de2adca0104bc06ff4bde85a133c17aa7b4a6f'
def send_msg(msg):
"""
:param msg: 要發送的消息
:return: 200 or False
"""
#url = url
program = {"msgtype": "text", "text": {"content": msg}, }
headers = {'Content-Type': 'application/json'}
try:
f = requests.post(url, data=json.dumps(program), headers=headers)
except Exception as e:
return False
return f.status_code
def main():
msg = sys.argv[1]
send_msg(msg)
if __name__ == '__main__':![](https://s4.51cto.com/images/blog/202004/03/ed5aadfd8682c18967dc8caf765f6998.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
main()
三、配置zabbix監控平臺
1)創建報警媒介
2)添加報警媒介
3)添加動作
4)默認信息
故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
故障{TRIGGER.STATUS},服務器:{HOSTNAME1}:{TRIGGER.NAME}已恢復!
故障{TRIGGER.STATUS},服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
服務器:{HOST.NAME}: 報警確認!
確認信息:"{ACK.MESSAGE}"
服務器:{HOST.NAME}發生: {TRIGGER.NAME}故障!
確認人:{USER.FULLNAME}
時間:{ACK.DATE} {ACK.TIME}
當前的問題是: {TRIGGER.NAME}
時間ID:{EVENT.ID}
5) 配置用戶報警媒介
6、測試發送釘釘信息