Zabbix 配置Python邮件告警
1.首先你应该注册一个163邮箱,用于发信,再注册时开启SMTP/POP3功能,使用加密密码认证.
2.在Zabbix主机上新建send.py文件,将以下代码复制编辑,设置发件用户、密码.
[root@localhost ~]# vim send.py
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.163.com'
mail_user = 'smtpwho'
mail_pass = '密码'
mail_postfix = '163.com'
def send_mail(to_list,subject,content):
me = "Zabbix 监控告警通知"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
3.紧接着我们给脚本相应的权限测试是否能够发信成功,并拷贝到zabbix的默认脚本目中.
[root@localhost ~]# chmod +x send.py
[root@localhost ~]# python send.py 1181506874@qq.com zabbix checkok
[root@localhost ~]# echo $?
0
[root@localhost ~]# cp -a send.py /usr/lib/zabbix/alertscripts/
[root@localhost ~]# chmod 755 -R /usr/lib/zabbix/alertscripts/
4.登录Zabbix主机,查看配置zabbix_server.conf,找到AlertScriptsPath取消注释.
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
### Option: AlertScriptsPath
# Full path to location of custom alert scripts.
# Default depends on compilation options.
# To see the default path run command "zabbix_server --help".
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts #解除注释,找到配置项
5.点击图形界面,选择管理->报警媒介
.
新增参数:{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE}分别依次加入,然后更新保存.
6.点击图形界面,选择配置->动作->创建动作
,首先创建一个动作.
7.紧接着点击操作->配置
一下故障报警消息格式.
标题改为: 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
信息改为: 告警主机:{HOSTNAME1} 告警地址:{HOST.IP} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件 ID:{EVENT.ID}
8.当我们配置完成一个故障报警后,下面就继续配置一个恢复后的提示.
标题改为: 恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
信息改为: 告警主机:{HOSTNAME1} 告警地址:{HOST.IP} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件 ID:{EVENT.ID}
最终点击小add添加
选项,继续点击大ADD完成动作
增加.
9.配置告警用户,点击管理->用户->Admin->报警媒介
,修改以下内容.
10.强制关闭虚拟机,测试是否有邮件报警即可.
相关文章
- python flask debug_pycharm配置debug
- pycharm中文版怎么配置python环境_python怎么加编译器
- pycharm用anaconda的Python_pycharm配置anaconda环境
- 如何为pycharm配置Python解释器_pycharm选择python解释器
- python语言变量命名规则有什么_Python变量命名规则(超级详细)
- python中矩阵的转置_[转]Python中的矩阵转置[通俗易懂]
- 怎么用python打开csv文件_Python文本处理之csv-csv文件怎么打开[通俗易懂]
- Python元组_python元组的定义方式
- python生成器详解_Python 生成器
- 【说站】python实例方法中self的作用
- Python数组切片_python print数组
- lambda表达式python_Python中的Lambda表达式「建议收藏」
- python attrs_Python attrs作用是什么?
- python编写简单网页_python制作动态数据图
- python递归函数讲解_Python递归函数实例讲解
- 【开发环境】PyCharm 打开现有 Python 工程 ( 配置 Python 编译器版本 )
- Python 安装与环境配置
- Python基础语法-内置函数和模块-loging模块
- Python学习:1.快速搭建python环境详解编程语言
- Python 基于python实现的http+json协议接口自动化测试框架源码(实用改进版)详解编程语言
- 快速安装Python MySQL模块(python安装mysql模块)
- 想学习区块链?那就用 Python 构建一个
- Python实现Oracle数据库连接(python连接oracle数据库)
- python编程-将Python程序转化为可执行程序[整理]
- python创建只读属性对象的方法(ReadOnlyObject)
- Python入门篇之正则表达式