实战:Zabbix 3.4邮件报警配置
实战:Zabbix 3.4邮件报警配置
环境:CentOS 7.5 + Zabbix 3.4
如果只是监测并不能满足需求,还需要通过邮件的方式对问题进行报警。接下来进行实战操作:
一、安装邮件发送工具 mailx
如果CentOS 有邮件服务,关闭邮件服务:
service sendmail stop #关闭
chkconfig sendmail off #禁止开机启动
service postfix stop
chkconfig postfix off
由于本次 CentOS 7 采用的是basic LSB 安装,所以直接安装发送邮件的工具
yum -y install mailx
yum -y install sendmail
启动sendmail
systemctl start sendmail.service
查看sendmail 状态
service sendmail status
[[email protected] init.d]# service sendmail status
Redirecting to /bin/systemctl status sendmail.service
* sendmail.service - Sendmail Mail Transport Agent
Loaded: loaded (/usr/lib/systemd/system/sendmail.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Tue 2018-07-17 16:27:16 CST; 44s ago
Process: 10222 ExecStart=/usr/sbin/sendmail -bd $SENDMAIL_OPTS $SENDMAIL_OPTARG (code=exited, status=0/SUCCESS)
Process: 10216 ExecStartPre=/etc/mail/make aliases (code=exited, status=0/SUCCESS)
Process: 10213 ExecStartPre=/etc/mail/make (code=exited, status=0/SUCCESS)
Main PID: 10912 (code=exited, status=0/SUCCESS)
Jul 17 16:20:03 tslave systemd[1]: Starting Sendmail Mail Transport Agent...
Jul 17 16:20:03 tslave sendmail[10222]: My unqualified host name (tslave) unknown; sleeping for retry
Jul 17 16:21:03 tslave sendmail[10222]: unable to qualify my own domain name (tslave) -- using short name
Jul 17 16:21:03 tslave sendmail[10912]: starting daemon (8.14.7): [email protected]:00:00
Jul 17 16:21:03 tslave systemd[1]: PID file /run/sendmail.pid not readable (yet?) after start.
Jul 17 16:21:03 tslave systemd[1]: Started Sendmail Mail Transport Agent.
Jul 17 16:27:16 tslave systemd[1]: Stopping Sendmail Mail Transport Agent...
Jul 17 16:27:16 tslave systemd[1]: Stopped Sendmail Mail Transport Agent.
二、配置zabbix服务端发送邮件
vi /etc/mail.rc #编辑文件,如果没有,就手动创建,如下:
set sendcharsets=iso-8859-1,utf-8
set [email protected]
set smtp=smtp.XXX.com:25
set [email protected] #认证用户
set smtp-auth-password=xxx #认证密码
三、测试邮件是否能够发送
echo"zabbix test " |mail -s "zabbix" [email protected] #如果邮箱中能收到邮件,表示测试成功。
四、配置Zabbix Web端
1)配置SMTP server的 Media信息
其中有个默认的Email项,无需新建Media type,更改这个项目即可,如下图:
2)配置用户的收件邮箱
此次配置“Admin”的邮箱,如果新建了其他用户,点击"Create user"配置即可。
点击“Media”->点击"Add"
在"Send to" 中,填入有效的IP地址后,点击"Add"添加。
3)配置触发条件发邮件
点击"Configuration"->“Actions”->更改默认的“Report problems to Zabbix administrators”
添加想要监控的内容:点击“Action”->在“New Condition”中输入内容后,本次添加: Host = XXXX点击"Add"按钮。Condition的条件有很多,可以是主机名,可以是服务,可以是进程等,取决于你要监控哪些内容。
接下来点击"Operations" 选项卡,添加动作。
在Send to User groups 或 Send to Users 点击"Add"
在弹出的对话框中,勾选一个要添加的用户,然后点击"Select"按钮
注意下面的界面中,要选择“Send message” 以便发送邮件。如果有其他脚本需要执行,可选择"Remote Command"。最后选择“Update”按钮。其他选项都是默认即可。
至此,如果触发了报警,一封邮件就能发送到管理员用户配置的邮箱里了。
4)排错
查看zabbix的日志:
tail -f /var/log/zabbix/zabbix_server.log
查linux邮件日志看邮件是否发出:
tail -f /var/log/maillog
执行这两个日志检查,通过能找到问题。如果仍有问题,检查SMTP邮件服务器的设置、用户及密码、是否被防火墙判定垃圾邮件等。