本片博客主要介绍了[Zabbix] Centos 6下 Zabbix 3.4邮件报警配置及Zabbix邮件故障解决方法 ;分别介绍了zabbix使用本地账号发送邮件报警及使用互联网账号发送邮件报警配置,并处理邮件发送故障“cannot connect to S...

本片博客主要介绍了[Zabbix] Centos 6下 Zabbix 3.4邮件报警配置及Zabbix邮件故障解决方法 ;分别介绍了zabbix使用本地账号发送邮件报警及使用互联网账号发送邮件报警配置,并处理邮件发送故障“cannot connect to SMTP server "zabbix.itwish.cn": cannot connect to [[zabbix.itwish.cn]:25]: [111] Connection refused”及“Support for SMTP authentication was not compiled in”。
Zabbix Server报警
说明:
Zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常。Zabbix配置监控方式请参照前文:http://blog.51cto.com/itwish/2288052
实现:
在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。
Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号,只能发送,不能接收外部邮件。
使用互联网上可正常收发邮件的邮箱账号(例如:xxx@qq.com),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱。
Zabbix 使用本地账号发送邮件报警配置
一、安装邮件服务poxfix
[root@zabbix ~]# yum install postfix # 安装postfix [root@zabbix ~]# service postfix start # 启动postfix服务 [root@zabbix ~]# chkconfig postfix on # 开机自启动 [root@zabbix mail]# ss -tunl # SMTP 25端口启用 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port ... tcp LISTEN 0 100 ::1:25 :::* tcp LISTEN 0 100 127.0.0.1:25 *:*
二、安装邮件发送工具mailx
[root@zabbix ~]# yum install mailx # 安装邮件发送工具 [root@zabbix ~]# echo "Hello word" | mailx -s "hello" 345876547@qq.com # 测试发送邮件
注:
mailx是UNIX系统上用来处理邮件的工具,使用它可以发送,读取邮件。
发送格式: mailx -s subject XXX@163.com < message_file 假设邮件内容存储于msg文件中,用如下方法: mailx -s "test mail" XXX@163.com < msg 或者 cat msg | mailx -s "test mail" XXX@163.com 多个收件人之间用逗号分隔 cat msg | mailx -s "test mail" XXX@163.com,XX2@163.com 也可以直接从命令行输入邮件内容: mailx -s "test" XXX@163.com 上面这条命令会进入命令行输入状态,此时可以输入内容,按Ctrl+d键来结束输入。
三、配置zabbix邮件报警
报警介质类型配置:登陆web管理界面,进入“管理”——“报警媒介类型”——“Email”选项
名称: Email
SMTP服务器: zabbix.itwish.cn (为zabbix主机名称)
SMTP服务器端口: 25
SMTP HELO: itwish.cn
SMTP电邮: zabbix@itwish.cn
勾选“已启用”
点击更新
用户配置(收件人邮箱配置):登陆web管理界面,进入“管理”——“用户”——“Admin”——“报警媒介”选项
类型: Email
收件人: ***@qq.com
勾选“如果存在严重性则使用”相关选项
勾选“已启用”
点击更新
动作配置:登陆web管理界面,进入“配置”——“动作”——“Report problems to Zabbix administrators”选项
名称:Report problems to Zabbix administrators
添加触发条件:“触发器示警度 = **”
勾选”已启用“
点击更新
"操作"配置:登陆web管理界面,进入“配置”——“动作”——“Report problems to Zabbix administrators”——“操作”选项
默认操作时间: 1h
默认标题: 主机 {HOSTNAME} 在 {EVENT.DATE} {EVENT.TIME} 发生故障 {TRIGGER.NAME} {ITEM.VALUE}
告警主机:{HOSTNAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE}
事件ID:{EVENT.ID}
勾选“维护期间暂停操作”
点击 “新的”
"操作细节"配置:
步骤:1 -1
操作类型:发送消息
发送到用户:添加指定用户
仅送到:Email
条件:“条件已确认 = 非确认”
点击 "添加"
点击“更新”
恢复配置:登陆web管理界面,进入“配置”——“动作”——“Report problems to Zabbix administrators”——“恢复操作”选项
默认操作时间: 1h
默认标题: 主机 {HOSTNAME} 于 {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} 恢复故障 ,当前状态是 {ITEM.NAME} {ITEM.VALUE}
恢复主机:{HOSTNAME}
恢复时间:{EVENT.DATE} {EVENT.TIME}
恢复故障:{ITEM.NAME}:{ITEM.VALUE}
告警等级:{TRIGGER.SEVERITY}
恢复信息: {TRIGGER.NAME}
恢复项目:{TRIGGER.KEY}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE}
事件ID:{EVENT.ID}
点击 “新的”
"操作细节"配置
操作类型:发送消息
发送到用户:添加指定用户
仅送到:Email
点击 "添加"
点击“更新”
四、测试zabbix报警
关闭zabbix server 中zabbix_agentd 服务测试,关闭网络设备端口测试
发送邮件报错:cannot connect to SMTP server "zabbix.itwish.cn": cannot connect to [[zabbix.itwish.cn]:25]: [111] Connection refused
故障原因: SMTP 25 端口未监听zabbix.itwish.cn 主机ip
解决方法:配置postfix 脚本配置文件,对zabbix.itwish.cn 主机ip 地址进行监听
[root@zabbix ~]# vi /etc/postfix/ # 调整postfix 脚本配置文件 inet_interfaces = localhost,zabbix.itwish.cn,172.16.10.5 # 修改该项,把localhost 修改为localhost,zabbix.itwish.cn,172.16.10.5 [root@zabbix ~]# service postfix restart Shutting down postfix: [ OK ] Starting postfix: [ OK ] [root@zabbix ~]# ss -tunl # 服务器监听本机ip 25端口 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp LISTEN 0 100 172.16.10.5:25 *:* tcp LISTEN 0 100 127.0.0.1:25 *:*
邮箱验证
Zabbix Server使用互联网邮箱账号发送邮件报警
一、安装邮件发送工具mailx
[root@zabbix ~]# service postfix stop # 关闭postfix 服务 Shutting down postfix: [ OK ] [root@zabbix ~]# chkconfig postfix off [root@zabbix ~]# yum install mailx # 安装邮件发送工具 [root@zabbix ~]# echo "Hello word" | mailx -s "hello" 345876547@qq.com # 测试发送邮件 [root@zabbix ~]# whereis mailx # 查看mailx路径 mailx: /bin/mailx /usr/share/man/man1/mailx.1.gz /usr/share/man/man1p/mailx.1p.gz [root@zabbix ~]# mailx -V # 查看mailx版本 12.4 7/29/08
二、配置Zabbix服务端外部邮箱
配置mailx配置文件mail.rc
[root@zabbix ~]# vi /etc/mail.rc #编辑,添加以下信息 set from=xxx@qq.com smtp=smtp.qq.com set smtp-auth-user=xxx@qq.com smtp-auth-password=123456 # 分别为邮箱账号及邮箱密码 set smtp-auth=login :wq! #保存退出 [root@zabbix ~]# echo "zabbix test mail" |mail -s "zabbix" 345876547@qq.com #测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:345876547@qq.com
邮箱测试 ,
三、配置zabbix邮件报警
报警介质类型配置:登陆web管理界面,进入“管理”——“报警媒介类型”——“Email”选项
名称 Email
SMTP服务器smtp.qq.com
SMTP服务器端口 25
SMTP HELO qq.com
SMTP电邮 345876547@qq.com
勾选“已启用”
点击更新
用户配置:进入“管理”——“用户”——“Admin”——“报警媒介”选项
类型 Email
收件人 ***@qq.com
勾选“如果存在严重性则使用”相关选项
勾选“已启用”
点击更新
动作配置:登陆web管理界面,进入“配置”——“动作”——“Report problems to Zabbix administrators”选项
名称:Report problems to Zabbix administrators
添加触发条件:“触发器示警度 = **”
勾选”已启用“
点击更新
"操作"配置:登陆web管理界面,进入“配置”——“动作”——“Report problems to Zabbix administrators”——“操作”选项
默认操作时间: 1h
默认标题: 主机 {HOSTNAME} 在 {EVENT.DATE} {EVENT.TIME} 发生故障 {TRIGGER.NAME} {ITEM.VALUE}
告警主机:{HOSTNAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE}
事件ID:{EVENT.ID}
勾选“维护期间暂停操作”
点击 “新的”
"操作细节"
步骤:1 -1
操作类型:发送消息
发送到用户:添加指定用户
仅送到:Email
条件:“条件已确认 = 非确认”
点击 "添加"
点击“更新”
恢复配置:登陆web管理界面,进入“配置”——“动作”——“Report problems to Zabbix administrators”——“恢复操作”选项
默认操作时间: 1h
默认标题: 主机 {HOSTNAME} 于 {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} 恢复故障 ,当前状态是 {ITEM.NAME} {ITEM.VALUE}
恢复主机:{HOSTNAME}
恢复时间:{EVENT.DATE} {EVENT.TIME}
恢复故障:{ITEM.NAME}:{ITEM.VALUE}
告警等级:{TRIGGER.SEVERITY}
恢复信息: {TRIGGER.NAME}
恢复项目:{TRIGGER.KEY}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE}
事件ID:{EVENT.ID}
点击 “新的”
"操作细节"
操作类型:发送消息
发送到用户:添加指定用户
仅送到:Email
点击 "添加"
点击“更新”
四、测试zabbix 报警
模拟关闭监控的网络设备端口 ,观察zabbix报警状态
故障:Support for SMTP authentication was not compiled in ,无法正常发送邮件
解决办法:升级curl ,并重新编译zabbix
[root@zabbix ~]# vi /etc/yum.repos.d/CentOS-Base.repo # 添加如下内容,curl源 [city-fan] name=CentOS -$releasever - City-fan baseurl=http://mirror.city-fan.org/ftp/contrib/yum-repo/rhel6Server/x86_64/ gpgcheck=0 enabled=1 [root@zabbix ~]# yum upgrade libcurl # 升级libcurl [root@zabbix zabbix]# cd zabbix-3.4.14 # 进入zabbix解压包 ,重新编译安装 [root@zabbix zabbix-3.4.14]# ./configure \--prefix=/usr/local/zabbix \ --enable-server \ --enable-agent \ --enable-ipv6 \ --with-mysql \ --with-libxml2 \ --with-net-snmp \ --with-libevent \ --with-openssl \ --with-libcurl \ --with-libpcre \ --with-iconv \ --with-ssh2 \ --with-ldap \ --with-openipmi [root@zabbix zabbix-3.4.14]# make && make install [root@zabbix zabbix]# service zabbix_server restart # 重启zabbix_server 服务 Shutting down zabbix_server: [ OK ] Starting zabbix_server: [ OK ]
故障解决:邮件可正常发送
至此,通过配置两种方式,实现了邮件报警功能。分别是通过本地服务器发送邮件报警配置 及互联网邮箱账号发送邮件报警配置。
转载请注明出处:http://blog.51cto.com/itwish
本文标题为:[Zabbix] Centos 6下 Zabbix 3.4邮件报警配置及Zabbix邮件故障处理方法


基础教程推荐
- RFO SIG之openEuler AWS AMI 制作详解 2022-12-28
- Apache Kafka 2.5 稳定版发布,新特性抢先看 2023-09-11
- 为Win2003服务器打造铜墙铁壁的方法步骤 2022-09-01
- Centos7 nginx的安装以及开机自启动的设置 2023-09-22
- Centos 安装Django2.1 2023-09-24
- P3 利用Vulnhub复现漏洞 - Apache SSI 远程命令执行漏洞 2023-09-10
- Docker容器操作方法详解 2022-11-13
- 通过StatefulSet部署有状态服务应用实现方式 2022-10-01
- windows环境下apache-apollo服务器搭建 2023-09-10
- Apache CarbonData 1.0.0发布及其新特性介绍 2023-09-11