zabbix 配置 telgram 告警
zabbix 配置 Zabbix-in-Telegram
國內(nèi)推薦使用丁丁,微信或者qq等工具.
1. 申請 Telegram 機器人
申請機器人參考: https://core.telegram.org/bots#creating-a-new-bot
- 訪問 https://telegram.me/botfather ,使用使用 **/newbot **命令創(chuàng)建新的bot.

將新生成的 bot 加入需要被告警的 Tel 群組.輸入一些文本.稍后獲取信息.
botXXX:YYY 中XXX:YYY 請?zhí)鎿Q為獲取的 token

type:group 為 Tle 的組, title 對應(yīng)組名,id 為組 ID.
-
執(zhí)行 POST 測試機器人是否正常.
curl -X POST "https://api.telegram.org/botXXX:YYYY/sendMessage" -d "chat_id=ZZZ&text=my sample text"ZZZ 替換為 剛獲取的 組ID 例如 -2788747XXX
text 中為文本內(nèi)容
2. 配置 Zabbix-in-Telegram
zabbix in Telegram 配置: https://github.com/ableev/Zabbix-in-Telegram
-
打開zabbix_server配置,查看
AlertScriptsPath=/usr/lib/zabbix/alertscripts -
clone 代碼,安裝依賴.
git clone https://github.com/ableev/Zabbix-in-Telegram.git yum install python-pip cd Zabbix-in-Telegram/ pip install -r requirements.txt -
復(fù)制告警腳本至配置路徑
cp zbxtg.py zbxtg_settings.example.py zbxtg_group.py /usr/lib/zabbix/alertscripts/ cd /usr/lib/zabbix/alertscripts/ mv zbxtg_settings.example.py zbxtg_settings.py -
修改 zbxtg_settings.py
tg_key = "KEY" # telegram bot api key zbx_server = "http://youip:port/zabbix/" # zabbix server full url zbx_api_user = "Admin" zbx_api_pass = "zabbix"tg_key 是生成的 Tel Token.zabbix用戶名密碼必須是能夠登陸的,且有權(quán)限.可以使用Admin.
-
測試腳本是否可以正常發(fā)送告警.
調(diào)試
-
您可以使用以下命令從命令行發(fā)送消息:
./zbxtg.py "@username" "first part of a message" "second part of a message" --debug -
@username是 telgrame 需要接受告警的 用戶名,或者組名.使用組名時,加--group參數(shù)./zbxtg.py "@dave99" "重要通知" "你的節(jié)操余額不足,請及時充值"./zbxtg.py "Myball-Warning" "@brock" "你的節(jié)操 余額不足,..及時充值" --group
-
3.配置 zabbix-server-web
-
創(chuàng)建 Media types: 此配置為 3.0及以上版本配置
1557134307629 -
創(chuàng)建 action
登錄到頁面中在configuration->Actions->Triggers->Create action創(chuàng)建一個action
1557134537805創(chuàng)建新的時候注意可以設(shè)置觸發(fā)器級別,下圖配置為超過infomation級別就會觸發(fā)此動作
1557134688635在Operations中,填寫觸發(fā)后的message,內(nèi)容如下
1557134833494{{fire}}{{fire}}{{fire}}:告警節(jié)點:{TRIGGER.NAME}問題詳情: {ITEM.NAME}:{ITEM.VALUE} 告警主機: {HOST.NAME} 告警時間: {EVENT.DATE} {EVENT.TIME} 告警等級: {TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警項目: {TRIGGER.KEY1} 當(dāng)前狀態(tài): {TRIGGER.STATUS}.{ITEM.VALUE} 事件ID: {EVENT.ID} zbxtg:graphs zbxtg:graphs_period=10800 zbxtq:itemid:{ITEM.ID1} zbxtg:title:{HOST.HOST} - {TRIGGER.NAME}設(shè)置 Operations 中,發(fā)送的組或用戶,指定使用 Media TYPES.
1557134967723在 Recovery operrations 中,填寫觸發(fā)后的message,和Details
1557135056672{{OK}}{{OK}}{{OK}}:恢復(fù)節(jié)點:{TRIGGER.NAME}問題詳情: {ITEM.NAME}:{ITEM.VALUE} 恢復(fù)主機: {HOST.NAME} 恢復(fù)時間: {EVENT.DATE} {EVENT.TIME} 事件等級: {TRIGGER.SEVERITY} 恢復(fù)項目: {TRIGGER.KEY1} 當(dāng)前狀態(tài): {TRIGGER.STATUS}.{ITEM.VALUE} 事件ID: {EVENT.ID} zbxtg:graphs zbxtg:graphs_period=10800 zbxtq:itemid:{ITEM.ID1} zbxtg:title:{HOST.HOST} - {TRIGGER.NAME} -
配置User,為被告警用戶組添加 Media.
1557135360593 模擬告警, 觀察 Tel 組是否可以收到告警.






