由于版本python版本问题centos7已经失效,更新此版本

一、创建机器人

Telegram搜索botfather 

1.输入newbot

2.输入机器人名字

3.输入机器人账号必须以bot结尾

4.成功会获得

这个api就是下面需要的

 

 

 

 

 

 

 

 

 

 

 

 

二.安装环境 


yum -y install epel-release git

yum -y install python3 git python3-pip

 

  1. 打开zabbix_server配置,查看vim /etc/zabbix/zabbix_server.conf

AlertScriptsPath=/usr/lib/zabbix/alertscripts

  1. 映射Python3路径 ln -fs /usr/bin/python3 /usr/bin/python

映射pip3路径    ln -s /usr/bin/pip3 /usr/bin/pip

  1. clone 代码,安装依赖.

  2. git clone https://github.com/ableev/Zabbix-in-Telegram.git

  3. cd Zabbix-in-Telegram/

pip install -r requirements.txt

  1. 复制告警脚本至配置路径

  2. cp zbxtg.py zbxtg_settings.example.py zbxtg_group.py /usr/lib/zabbix/alertscripts/

  3. cd /usr/lib/zabbix/alertscripts/

mv zbxtg_settings.example.py zbxtg_settings.py

  1. 修改zbxtg_settings.py

  2. tg_key="XXX:YYY" # telegram bot api key

  3. zbx_server="http://youip:port/zabbix/" # zabbix server full url

zbx_api_user="Admin"

zbx_api_pass="zabbix"

tg_key 是生成的 Tel Token.

zabbix用户名密码必须是能够登陆的,且有权限.可以使用Admin.

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

调试

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

./zbxtg.py"@username""first part of a message""second part of a message"--debug

@username 是 telgrame 需要接受告警的 用户名 ,或者 组名 .使用组名时,加 --group 参数

./zbxtg.py"@用户""重要通知""你的节操余额不足,请及时充值"

./zbxtg_group.py"群组名" "重要通知""你的节操 余额不足,..及时充值" 

 

./zbxtg.py "群组名""重要通知" "你的节操 余额不足,..及时充值" –group

 

须在群组用/start@botname 个人消息须在机器人聊天窗口发送/start











三.网页配置

  1. 创建 报警媒介类型: 此配置为 3.0及以上版本配置 

 

脚本名zbxtg_group.py

参数1 {ALERT.SENDTO}

参数2 {ALERT.SUBJECT}

参数3 {ALERT.MESSAGE}

 

  1. 创建 动作

  1. 在 操作 中,填写触发后的消息内容和发送用户组或用户,如下

 

{{fire}}{{fire}}{{fire}}:告警节点:{TRIGGER.NAME}{{fire}}{{fire}}{{fire}}

问题详情: {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

zbxtg;itemid:{ITEM.ID1}

zbxtg;title:{HOST.HOST} - {TRIGGER.NAME}

 

 

 

 

 

 

 

 

  1. 在 恢复操作 中,填写触发后的消息内容和用户

{{OK}}{{OK}}{{OK}}:恢复节点:{TRIGGER.NAME}{{OK}}{{OK}}{{OK}}

问题详情: {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

zbxtg;itemid:{ITEM.ID1}

zbxtg;title:{HOST.HOST} - {TRIGGER.NAME}

 

 

 

 

 

 

 

 

 

  1. 配置 用户,为被告警用户组添加 报警媒介.

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

配置zabbix+telegram告警