文章 Github 地址:点我
往往碰到 Zabbix
,我发现配置邮件预警这个坑,我必需要跳进去,跟它是有八辈子的仇哦,哎,接下来数数这些坑。看看你遇到过相似的吗?git
监控项---》触发器---》动做---》报警媒介类型---》用户报警媒介。github
阿里云、腾讯云这些服务器厂商都限制使用 TCP 25 端口链接外部地址。若是咱们一直使用 25 端口进行链接的话,你是永远发送不出邮件的,虽说是能够解封,可是 99.9% 是解封不成功的,若是你解封成功了,多是老天实在是看不下去了,让阿里工做人员犯晕给你解封了。安全
跳坑: 坑是本身掉进去的,爬也要爬出来,使用 465 端口,前提是你的邮件服务器开启了绑定 465 端口。bash
那么若是咱们使用的不知名的服务器厂商,我不知道 25 端口是否被封了,咱们可使用 telnet
,测试下。服务器
示例:ide
[root@iZwz9cdow8llyjlb9lglu4Z ~]# telnet smtp.qq.com 25 Trying 14.18.245.164... telnet: connect to address 14.18.245.164: Connection timed out [root@iZwz9cdow8llyjlb9lglu4Z ~]# telnet smtp.163.com 25 Trying 220.181.12.13... telnet: connect to address 220.181.12.13: Connection timed out [root@iZwz9cdow8llyjlb9lglu4Z ~]# telnet smtp.qq.com 465 Trying 14.17.57.241... Connected to smtp.qq.com. Escape character is '^]'. [root@iZwz9cdow8llyjlb9lglu4Z ~]# telnet smtp.163.com 465 Trying 220.181.12.13... Connected to smtp.163.com. Escape character is '^]'.
阿里云有些比较早建立的 ECS
是没有限制25端口的,咱们是可使用25端口的。测试
有的时候咱们经常忘记配置报警媒介类型,而后咱们就进行预警,可是咱们这里并非讲你是否配置了报警媒介,而是讲邮件配置。ui
咱们这里将示例的是两个配置。阿里云
打开 QQ
邮箱,点击帐户,选择POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。 开启 POP3/SMTP
服务,并生成受权码。咱们这获取到的受权码是 fixleucazfkrbadf
。3d
而后咱们在 Zabbix
报警媒介类型,配置Email。
名称 | 解释 | 值 |
---|---|---|
SMTP服务器 | 设置SMTP服务器来处理传出的消息.通常组成是 smtp + 域名 | smtp.qq.com |
SMTP服务器端口 | 设置SMTP服务器端口来处理传出的消息.Zabbix 3.0版本以后*支持此选项。若是咱们是可使用25的话,咱们尽可能使用25,由于我在使用465的时候,是报错了的 failed to send email: Timeout was reached: Operation timed out after 40001 milliseconds with 0 out of 0 bytes received ,多是发送比较多致使链接超时。用不了25的服务器不要又跳坑了。 |
25,465 |
SMTP HELO | 设置正确的SMTP helo值,一般是域名. | qq.com |
SMTP电邮 | 发送邮件的邮件地址 | 1120336774@qq.com |
安全连接 | 若是须要SSL 认证就勾选,不须要则选择 无。 | 无 |
认证 | 用户和密码 | 用户和密码 |
用户名称 和密码 | 用户名,不要只填个1120336774 啊,我前面就是填了这个,很久才跳出来。要填1120336774@qq.com ,密码填入咱们获取的受权码。 |
用户名:1120336774@qq.com 密码 12456789 |
注意事项:
当咱们使用 QQ 邮件服务器或者163邮件服务器等,咱们若是向同一邮箱发送了比较多的邮件,邮件是很容易被放到垃圾邮箱的。并且当咱们使用的是本身的邮件服务器,咱们发送比较多的邮件到 QQ 邮件服务器时,咱们的邮件服务器会比较容易被 QQ 邮箱标记为 垃圾邮件服务器并加入黑名单。
通常咱们都会建立好,监控项和触发器,可是咱们通常会忘记配置动做和用户报警媒介。
一个动做由操做(例如发出通知)和条件(什么时间进行操做)组成,动做包含 触发动做的条件、触发动做后的操做、恢复操做、更新操做。
咱们通常经过触发器警示度来配置动做,当触发器警示度大于等于警告就发邮件。
具体的动做日志,咱们能够在报表(Reports) → 动做日志(Action log)中查看。
当咱们须要将不一样的严重性的邮件发送给不一样的人,咱们须要给每一个用户配置报警媒介,当咱们配置的预警方式是邮件的时候,咱们须要为用户配置报警媒介。
若是咱们使用的是邮件预警的话,咱们就使用的类型是 Email
而后在收件人里面填入收件邮箱。
当咱们建立了一个用户,而且配置好了,报警媒介,在发生预警的时候,咱们的配置的报警媒介的邮箱没有收到邮件,也排除了上面的问题,最终咱们检查发现该用户没有对该主机没有权限。咱们须要确认你建立的用户对生成事件的主机至少拥有读(read)权限,这样在预警时才能发送到对应用户的报警媒介。