1、编辑zabbix_server.conf文件,修改AlertScriptsPath参数,该参数用于指定外部脚本的绝对路径。
sudo vi /etc/zabbix/zabbix_server.conf
将配置文件中下方的参数AlertScriptsPath修改如下(此路径是zabbix触发警报脚本的路径):
AlertScriptsPath=/usr/lib/zabbix/alertscript
2、上传新增py脚本至AlertScriptsPath参数指定的绝对路径下,py文件如下:
3、修改python脚本的权限
sudo chown -R zabbix:zabbix ysdp_monitor_mails.py
sudo chmod 755 ysdp_monitor_mails.py
4、zabbix web端配置
- Administration –> Media types –> Create media type (管理-报警媒介类型-创建)
- 为新创建的user指定media:Administration –> Users ,选择Admin帐号
- 在“报警媒介”中添加报警媒介
- 创建action实现邮件报警Configuration –> Actions ,新建或者打开已有的动作
- 在 动作的 “操作”页签中,添加步骤
5、zabbix测试发送邮件找一个test的zabbix_agentd,kill掉,查看是否收到报警邮件。再将其恢复,查看是否收到恢复后的邮件。如果一切如预期所想,那么至此就完成了使用python脚本完成zabbix的报警邮件了。
动作内容配置如下:
-------------------------------------------------------------------------------------------------------------------------------------------
主题:
YSDP-ZABBIX::{TRIGGER.STATUS}: {TRIGGER.NAME}
默认信息:
触发器名称:{TRIGGER.NAME} 触发器状态: {TRIGGER.STATUS} 触发器级别: {TRIGGER.SEVERITY}
监控项名称--主机名称:Key--Values
1. {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1};
2. {ITEM.NAME2} ({HOST.NAME2}:{ITEM.KEY2}): {ITEM.VALUE2};
3. {ITEM.NAME3} ({HOST.NAME3}:{ITEM.KEY3}): {ITEM.VALUE3};
源事件 ID: {EVENT.ID}
请至http://172.16.50.156/zabbix中查看警报明细
--------------------------------------------------------------------------------------------------------------------------------------------
图示如下: