寫這篇文檔以前查找了不少篇文檔,基本上都是坑,因此踩過坑後打算寫一篇無坑的文檔讓各位博友能夠暢通無阻的搭建 進行監控python
1.telegram搜索框中搜索 @BotFather
2.找到機器人後與其對話輸入 /start
.
3.繼續輸入 /newbot
4.輸入你建立機器人的暱稱,隨便起但不能重複,後面要跟bot
5.t.me/zabbixjkbot第一個紅框就是你的機器人須要點進去發送/start@zabbixjkbot ,第二個框起來的是你的api祕鑰git
6.瀏覽器訪問訪問 https://api.telegram.org/bot替換爲你的祕鑰/getUpdates
出現以下顯示根據瀏覽器不一樣顯示格式也會不一樣紅框處是你的id在服務器curl時候會用到
7.Zabbix服務器中操做,也能夠從瀏覽器操做github
curl -X POST "https://api.telegram.org/bot你的祕鑰/sendMessage" -d "chat_id=你的ID &text=測試123"
8.測試後機器人會收到消息(測試123)web
查找zabbix配置文件查看AlertScriptsPath=/usr/lib/zabbix/alertscripts 該參數是否指定路徑api
sudo find / -name zabbix-server.conf
1.clone 代碼,安裝依賴.瀏覽器
git clone https://github.com/ableev/Zabbix-in-Telegram.git yum install python-pip cd Zabbix-in-Telegram/ pip install -r requirements.txt
2.複製告警腳本至配置路徑服務器
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
3.修改 zbxtg_settings.pycurl
tg_key = "你的api祕鑰" # telegram bot api key zbx_server = "http://zabbix服務器ip或域名/zabbix/" zbx_api_user = "zabbix用戶名" zbx_api_pass = "zabbix密碼"
配置 zabbix-server-web
建立報警媒介類型: 此配置爲 3.0及以上版本配置ide
建立動做,觸發器條件選擇觸發器示警度測試
在操做中,填寫觸發後的消息內容和發送用戶組或用戶,以下
{{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} Last value: {ITEM.LASTVALUE1} ({TIME}) zbxtg;graphs zbxtg;graphs_period=10800 zbxtg;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} Last value: {ITEM.LASTVALUE1} ({TIME}) zbxtg;graphs zbxtg;graphs_period=10800 zbxtg;itemid:{ITEM.ID1} zbxtg;title:{HOST.HOST} - {TRIGGER.NAME}
查看用戶羣組是否有監控羣組若是沒有要添加上
設置用戶報警媒介
收件人爲你的羣組名字
將觸發器修改成告警範圍值,觸發告警檢查是否發送到羣組
踩過的坑:
1.個別博客會將;分號寫成:冒號
zbxtg;graphs zbxtg;graphs_period=10800 zbxtg;itemid:{ITEM.ID1} zbxtg;title:{HOST.HOST} - {TRIGGER.NAME}
會出現沒法顯示圖形的狀況
2.沒法發送到telegram ,管理--用戶--(報警媒介)中的收件名字以及類型要填寫正確
3.配置--動做--(操做)以及(恢復操做) ,用戶羣組要檢查是否正確