Zabbix報警至釘釘羣配置

Zabbix支持多種自定義報警方式,可以靈活跟你的需求來制定報警方式。常見的有短信,郵件,本文將介紹 如何把zabbix報警信息發送至釘釘羣消息中。

 

zabbix的相關配置不再贅述,直接貼圖講述重點內容。

一.添加釘釘羣報警機器人

二.編寫報警腳本

三.zabbix 添加報警類型

四.測試報警

 

正文:

一:添加釘釘羣報警機器人,機器人類型位自定義機器人,並複製保存機器人的api接口地址

二:編輯報警腳本

我直接貼出腳本全文,方便大家理解。

#!/bin/python
# -*- coding: UTF-8 -*-
#author: Jiang
import requests
import json
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
import os
import urllib2
import urllib
import datetime
date_time = datetime.datetime.now()
msg=sys.argv[1]
url = "機器人地址"
dt = urllib.quote(msg)
#報警內容展示url
url_info = "http://192.168.1.1/msgPage.html?info=" + dt
#根據對項目名稱的判斷,指定@固定的項目負責人
job_a = 'demo-test'
if job_a in msg :
	demo = 'demo-test'
    phone_number = 'demo-test項目負責人手機號碼'
	demo_Name = '姓名'
else:
	demo = ''
        phone_number = ''
	demo_Name = ''
header = {
            "Content-Type": "application/json",
            "charset": "utf-8"
}
data = {
	"msgtype": "markdown",
        "markdown": {
		"title": "ELK - ERROR",
                "text": "## 告警標題!" + "\n\n" +
			"@" + phone_number + "\n\n" +
#			"![](圖片地址,如果想展示圖片,此處貼圖片地址,並取消本行註釋)" + "\n\n" +
			"您好,您負責的工程又雙叒叕來異常報警了,老是報警提醒您,我真是累得筋疲力盡,滿頭大汗,上氣不接下氣!希望您寫點好的代碼,讓我輕鬆輕鬆。" + "\n\n" +
			str(date_time) + "\n\n" +
			"[點擊鏈接查看報警內容](" + url_info + ")"
        },
	"at": {
		"atMobiles": [
			"demo-test項目負責人手機號碼"
		],
		"isAtAll": False
	}
}
sendData = json.dumps(data)
request = urllib2.Request(url, data=sendData, headers=header)
urlopen = urllib2.urlopen(request)
print urlopen.read()

此處的報警內容實例如下:

點擊鏈接後,彈出瀏覽器,並展示zabbix內定義的報警內容。

其中,msgPage.html 內容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>信息頁</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta name="apple-mobile-web-app-capable" content="no">
    <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
</head>
<body >
<div >
 <p id="msg"></p>
</div>
<script>
   function getParam(a){
       var reg = new RegExp('(^|&)' + a + '=([^&]*)(&|$)');
       var r = window.location.search.substr(1).match(reg);
       return (r != null) ? decodeURIComponent(r[2]) : "";
   }
   var hexToDec = function(str) {
   str=str.replace(/\\u/g,"%u");
   return unescape(str);
}
   document.getElementById('msg').innerHTML = hexToDec(getParam('info'))
</script>
</body>
</html>

三:zabbix 添加報警類型

四:測試報警

觸發報警,查看釘釘羣是否收到消息即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章