美文网首页
zabbix 配置 telgram 告警

zabbix 配置 telgram 告警

作者: Kokoronashi | 来源:发表于2019-05-06 19:12 被阅读0次

    zabbix 配置 telgram 告警

    zabbix 配置 Zabbix-in-Telegram

    国内推荐使用丁丁,微信或者qq等工具.

    1. 申请 Telegram 机器人

    申请机器人参考: https://core.telegram.org/bots#creating-a-new-bot

    1. 访问 https://telegram.me/botfather ,使用使用 **/newbot **命令创建新的bot.
    1557131783149
    1. 将新生成的 bot 加入需要被告警的 Tel 群组.输入一些文本.稍后获取信息.

    2. 然后访问 https://api.telegram.org/botXXX:YYY/getUpdates 获取信息.

    botXXX:YYY 中XXX:YYY 请替换为获取的 token

    1557132763450
    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 中为文本内容

    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 = "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用户名密码必须是能够登陆的,且有权限.可以使用Admin.

    5. 测试脚本是否可以正常发送告警.

      调试

      • 您可以使用以下命令从命令行发送消息:

        ./zbxtg.py "@username" "first part of a message" "second part of a message" --debug
        
      • @username 是 telgrame 需要接受告警的 用户名,或者组名.使用组名时,加 --group参数

        ./zbxtg.py "@dave99" "重要通知" "你的节操余额不足,请及时充值"
        
        ./zbxtg.py "Myball-Warning" "@brock" "你的节操 余额不足,..及时充值" --group
        

    3.配置 zabbix-server-web

    1. 创建 Media types: 此配置为 3.0及以上版本配置

      1557134307629
    2. 创建 action

      登录到页面中在configuration->Actions->Triggers->Create action创建一个action

      1557134537805

      创建新的时候注意可以设置触发器级别,下图配置为超过infomation级别就会触发此动作

      1557134688635

      在Operations中,填写触发后的message,内容如下

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

      设置 Operations 中,发送的组或用户,指定使用 Media TYPES.

      1557134967723

      在 Recovery operrations 中,填写触发后的message,和Details

      1557135056672
      {{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}
      
    3. 配置User,为被告警用户组添加 Media.

      1557135360593
    4. 模拟告警, 观察 Tel 组是否可以收到告警.

    相关文章

      网友评论

          本文标题:zabbix 配置 telgram 告警

          本文链接:https://www.haomeiwen.com/subject/rdodoqtx.html