zabbix4.0 配置 Zabbix-in-Telegrampython
telegram大概是國外最有逼格的聊天軟件了,下面介紹用zabbix+telegram報警機制,自動給用戶發送報警信息git
國內推薦使用丁丁,微信或者qq等工具.github
申請機器人蔘考: https://core.telegram.org/bots#creating-a-new-botweb
1.訪問 https://telegram.me/botfather ,使用使用 **/newbot **命令建立新的bot.api
2.將新生成的 bot 加入須要被告警的 Tel 羣組.輸入一些文本.稍後獲取信息.ruby
3.而後訪問 https://api.telegram.org/botXXX:YYY/getUpdates 獲取信息.bash
botXXX:YYY 中XXX:YYY 請替換爲獲取的 token
微信
type:group 爲 Tle 的組, title 對應組名,id 爲組 ID.curl
執行 POST 測試機器人是否正常.ide
curl -X POST "https://api.telegram.org/botXXX:YYYY/sendMessage" -d "chat_id=ZZZ&text=my sample text"
ZZZ 替換爲 剛獲取的 組ID 例如 -2788747XXX
text 中爲文本內容
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
複製告警腳本至配置路徑
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 = "XXX:YYY" # 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用戶名密碼必須是可以登錄的,且有權限.能夠使用Admin.
測試腳本是否能夠正常發送告警.
調試
您能夠使用如下命令從命令行發送消息:
./zbxtg.py "@username" "first part of a message" "second part of a message" --debug
@username
是 telgrame 須要接受告警的 用戶名,或者組名.使用組名時,加 --group
參數
./zbxtg.py "@toby" "重要通知" "你的節操餘額不足,請及時充值"
./zbxtg.py "@test" "重要通知" "你的節操 餘額不足,..及時充值" --group
建立 報警媒介類型: 此配置爲 3.0及以上版本配置
建立 動做
在 操做 中,填寫觸發後的消息內容和發送用戶組或用戶,以下
{{fire}}{{fire}}{{fire}}:告警節點:{TRIGGER.NAME}
問題詳情: {ITEM.NAME}:{ITEM.VALUE} 告警主機: {HOST.NAME} 告警時間: {EVENT.DATE} {EVENT.TIME} 告警等級: {TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警項目: {TRIGGER.KEY1} 當前狀態: {TRIGGER.STATUS}.{ITEM.VALUE} 事件ID: {EVENT.ID} zbxtg:graphs zbxtg:graphs_period=10800 zbxtq:itemid:{ITEM.ID1} zbxtg:title:{HOST.HOST} - {TRIGGER.NAME}
在 恢復操做 中,填寫觸發後的消息內容和用戶
{{OK}}{{OK}}{{OK}}:恢復節點:{TRIGGER.NAME}
問題詳情: {ITEM.NAME}:{ITEM.VALUE} 恢復主機: {HOST.NAME} 恢復時間: {EVENT.DATE} {EVENT.TIME} 事件等級: {TRIGGER.SEVERITY} 恢復項目: {TRIGGER.KEY1} 當前狀態: {TRIGGER.STATUS}.{ITEM.VALUE} 事件ID: {EVENT.ID} zbxtg:graphs zbxtg:graphs_period=10800 zbxtq:itemid:{ITEM.ID1} zbxtg:title:{HOST.HOST} - {TRIGGER.NAME}
配置 用戶,爲被告警用戶組添加 報警媒介.
模擬告警, 觀察 Tel 組是否能夠收到告警.