zabbix利用python腳本發(fā)送報(bào)警腳本

在zabbix報(bào)警媒介中,能夠使用腳本、郵件、短信去發(fā)送告警通知,今天我們就來(lái)說(shuō)一下如何利用python去發(fā)送告警通知。



1.首先我們需要查看zabbix-server配置文件中,關(guān)于存放監(jiān)控腳本的目錄存放在哪里?

cat zabbix_server.conf |grep -Ev "^$|[#;]"
...
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
...

那么我們就可以看到目錄是存放在/usr/lib/zabbix/alertscripts下的,那么我們就在這個(gè)目錄下創(chuàng)建python腳本吧。

#!/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=e580dbc9d992b790f86136601d95582630afb345ebbf55b373ef5e2fdc92dd6b"
   
def msg(text):
    json_text= {
     "msgtype": "text",
        "at": {
            "atMobiles": [
                "all"
            ],
            "isAtAll": False
        },
        "text": {
            "content": text
        }
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content
       
if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)

腳本的有兩點(diǎn)需要注意的是:
1.api_url中使用的是自己測(cè)試用的token,那么如果你用你自己的,就需要在釘釘上面創(chuàng)建一個(gè)機(jī)器人;
2.atMobiles中定義的是all,其意味著將@釘釘群里所有人,如果你指向單獨(dú)@某個(gè)人的話,可以使用手機(jī)號(hào)的方式,填寫(xiě)方式為"13003000000",多個(gè)的話需要用,分割開(kāi),格式如下:

"atMobiles": [
    "130xxxxxxxx",
    "135xxxxxxxx"
],



那么當(dāng)我們都配置完成后還需要做什么設(shè)置呢,我們需要在web端配置報(bào)警媒介:

第一步:打開(kāi)瀏覽器進(jìn)入到zabbix的web界面然后找到管理->報(bào)警媒介類(lèi)型


image.png

第二步:設(shè)置報(bào)警媒介名稱(chēng),類(lèi)型選擇腳本,腳本名稱(chēng)選擇在腳本目錄下一樣名字的腳本名,腳本參數(shù)需要添加以下參數(shù):

{ALERT.MESSAGE}
image.png

第三步:那我們就需要配置動(dòng)作,當(dāng)觸發(fā)器示警度大于等于信息的時(shí)候開(kāi)始報(bào)警,僅發(fā)送到腳本中


image.png

然后就可以使用python腳本正常發(fā)送告警信息了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容