zabbix邮件报警
一、安装软件使用脚本发送
-
安装软件包
yum -y install mailx #选做:给/bin目录下设置权限 Chown -R zabbix.zabbix /bin/mail
-
编辑/etc/mail.rc
1).smtps方式发送邮件
set from=397011884@qq.com #阿里云默认禁用25端口,不给开放所以使用465端口发送 set smtp=smtps://smtp.qq.com:465 set smtp-auth-user=397011884@qq.com set smtp-auth-password=rikvwnuqdfnpbgce set smtp-auth=login set ssl-verify=ignore set nss-config-dir=/etc/pki/nssdb #参数说明 from是发送的邮件地址 smtp是发生的外部smtp服务器的地址 smtp-auth-user是外部smtp服务器认证的用户名。注意一定要填写邮件全称!! smtp-auth-password是外部smtp服务器认证的用户密码 smtp-auth是邮件认证的方式
#提示 “Error in certificate: Peer’s certificate issuer is not recognized #解决方法: mkdir -p /root/.certs/ echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt #添加一个证书到证书数据库中 certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt certutil -L -d /root/.certs #生成完成之后,修改 mail.rc 邮件配置,修改 nss-config-dir 为上面命令生成的 /root/.certs,保存 certutil -L -d /root/.certs #列出目录下证书 Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI GeoTrust SSL CA
# Error in certificate: Peer's certificate issuer is not recognized. cd /root/.certs/ ll certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt
-
测试
echo "zabbix" | mail -s 'zabbix' 397011884@qq.com
二、直接填写使用
邮箱设置的原理是Zabbix服务中集成了邮箱客户端功能,登录一个网络邮箱账号(因此必须事先注册一个网络邮箱地址),然后以此邮箱地址为发件地址向需要接收报警的邮箱发送报警邮件
创建完报警媒介先测试一下:
来到主界面,点击测试,并发送邮件看是否成功,建议使用同域名邮箱
配置账号访问时发送邮件
如果要监控所有账号登陆,配置/etc/bashrc;监控指定账号,在该账号默认目录下,编辑.bashrc,我要监控的是root,加入如下内容
echo "ALERT - Root Shell Access (`hostname`) on:" `date` `who` | mail -s "`hostname` Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" samgg@domainname.com
即时生效:source .bashrc
再次使用root登录时,samgg@domainname.com即可收到来自server@domainname.com的邮件。
ERROR错误:
#页面提示:Login denied: Authentication failed: 550
#日志提示:failed to send email: Login denied: Authentication failed: 550
#原因:
邮箱服务器没有开启第三方授权码
#解决:
启用授权码
#页面提示: Login denied: Authentication failed: 535
#日志提示:failed to send email: Login denied: Authentication failed: 535
#原因:
密码错误:(注意密码不是邮箱登录密码,是邮箱系统设置的第三方程序登录的授权码)
用户名称错误:(应填写@符号以前部分,或者完整邮箱地址)
SMTP服务器端口错误:(注意安全链接类型,如果选无端口为25;选SSL/TLS 得根据具体邮箱使用协议而定,如果是SSL端口为465,如果是TLS端口是587)
SMTP服务器错误:(填写正确的服务器地址,必须选择发件服务器地址,例如163邮箱为:smtp.163.com qq邮箱为:smtp.qq.com)
SMTP HELO 错误:(填写邮箱域名例如163.com qq.com 或者填写SMTP服务器地址)
#解决:
应该输入授权码,正确的用户名称和正确的端口号。
注意配置完成后重启zabbix-Server 服务。
#页面提示:连接超时 3 秒超出当连接Zabbix 服务器 "localhost".
#原因:
服务器配置没有生效。
#解决:
#重启zabbix-Server 服务。(Centos7:# systemctl restart zabbix-server)
#页面提示:Support for SMTP authentication was not compiled in
#日志提示:failed to send email: Support for SMTP authentication was not compiled in
#原因:
SMTP协议没有zabbix server 中编译,打开日志文件,在zabbix-server刚启动后可以看到下面日志,
12801:20190513:141300.293 Starting Zabbix Server. Zabbix 4.2.1 (revision 92832).
12801:20190513:141300.293 ****** Enabled features ******
12801:20190513:141300.293 SNMP monitoring: YES
12801:20190513:141300.293 IPMI monitoring: YES
12801:20190513:141300.293 Web monitoring: YES
12801:20190513:141300.293 VMware monitoring: YES
12801:20190513:141300.293 SMTP authentication: NO
12801:20190513:141300.293 Jabber notifications: NO
12801:20190513:141300.293 Ez Texting notifications: YES
12801:20190513:141300.293 ODBC: YES
12801:20190513:141300.293 SSH2 support: YES
12801:20190513:141300.293 IPv6 support: YES
12801:20190513:141300.293 TLS support: YES
#主要原因是主机的系统是Centos 6 ,Centos 6支持的最新版本的curl 版本是7.19.7(# curl -V 可以查看下), Zabbix server 如果要支持 SMTP authentication ,需要 libcurl version 7.20 或以上版本,因此需要安装 7.20以上的libcurl,
#解决:
更新cuel ,然后下载rpm,重新安装Zabbix-server。