配置zabbix+telegram告警

zabbix 配置 telgram 告警

zabbix4.0 配置 Zabbix-in-Telegram

telegram大概是國外最有逼格的聊天軟件了,下面介紹用zabbix+telegram報警機制,自動給用戶發送報警信息

國內推薦使用丁丁,微信或者qq等工具.



1. 申請 Telegram 機器人

申請機器人蔘考: https://core.telegram.org/bots#creating-a-new-bot

1.訪問 https://telegram.me/botfather ,使用使用 **/newbot **命令創建新的bot.

image.png


2.將新生成的 bot 加入需要被告警的 Tel 羣組.輸入一些文本.稍後獲取信息.

3.然後訪問 https://api.telegram.org/botXXX:YYY/getUpdates 獲取信息.

botXXX:YYY 中XXX:YYY 請替換爲獲取的 token

webp



  1. type:group 爲 Tle 的組, title 對應組名,id 爲組 ID.

  2. 執行 POST 測試機器人是否正常.

    curl -X POST "https://api.telegram.org/botXXX:YYYY/sendMessage" -d "chat_id=ZZZ&text=my sample text"

    ZZZ 替換爲 剛獲取的 組ID 例如 -2788747XXX

    text 中爲文本內容

    image.png

    image.png

2. 配置 Zabbix-in-Telegram

zabbix in Telegram 配置: https://github.com/ableev/Zabbix-in-Telegram

  1. 打開zabbix_server配置,查看

    AlertScriptsPath=/usr/lib/zabbix/alertscripts
  2. clone 代碼,安裝依賴.

    git clone https://github.com/ableev/Zabbix-in-Telegram.git
    yum install python-pip
    cd Zabbix-in-Telegram/
    pip install -r requirements.txt
  3. 複製告警腳本至配置路徑

    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
  4. 修改 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.

  5. 測試腳本是否可以正常發送告警.

    調試

    您可以使用以下命令從命令行發送消息:

    ./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.配置 zabbix-server-web

  1. 創建 報警媒介類型: 此配置爲 3.0及以上版本配置

    image.png

  2. 創建 動作

    image.png

  3. 在 操作 中,填寫觸發後的消息內容和發送用戶組或用戶,如下


    image.png

    {{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}


  4. 在 恢復操作 中,填寫觸發後的消息內容和用戶

    image.png

    {{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}
  5. 配置 用戶,爲被告警用戶組添加 報警媒介.

    image.png

  6. 模擬告警, 觀察 Tel 組是否可以收到告警.

    image.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章