前言
總結一下自己剛學習時所入的坑,看完了就注意不要在跳了。
-
關鍵字
一定要加關鍵字,而且網頁發送內容也要加,否則會出現web端顯示已發送
,但是釘釘接收不到
,加在動作——操作(恢復操作)——消息內容裏
關鍵字如下自定義
-
python模塊
centos7圖形化界面一般安裝時默認自帶python2.x版本,可以使用
python -V
查看,腳本里的import
命令都可以用,一般都是沒添加的,都得加上
注意這兩點以後,開始釘釘建立一個羣,(至少3人才能組羣),選擇自定義創建機器人
最後點擊完成機器人就創建ok啦!
準備好測試的鍵值,也可以選擇已經有的,咱們這裏自定義
先在在client002端建立一個測試的鍵值login_users
[root@localhost ~]# grep -Ev '^$|#' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.10.7
ServerActive=192.168.10.7
Hostname=zabbix_client002
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UserParameter=login_users,who|wc -l
[root@localhost ~]#
zabbix_server端開始針對client002創建監控項和觸發器
更新數據間隔和歷史數據保留時長都可以在設置,一般歷史數據保留3-7d就可以了,否則太浪費資源
觸發器表達式如下
定義報警類型
定義收件人
最後不要忘了開啓動作,默認是關閉的,手動開啓
優化發送的內容,不要忘了在內容里加關鍵字
服務器:{HOST.NAME} 發生:{TRIGGER.NAME}故障!dingding
{
告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
當前狀態:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
}
把腳本放到/usr/lib/zabbix/alertscripts/
裏,
並賦予x權限
chmod +x /usr/lib/zabbix/alertscripts/dingding.py
#!/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=xxxxxxxxxxxxxx"
def msg(text):
json_text= {
"msgtype": "text",
"at": {
"atMobiles": [
"17xxxxxxx46"
],
"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)
測試一下腳本是否可用,發送時也要加關鍵字
釘釘裏會受到消息
測試釘釘能不能收到zabbix消息,xshell登錄client002,開啓 多用戶登錄
在報表——動作日誌 可以查看狀態
看都看完了