无法让 Zabbix 发送电子邮件警报

Can't get Zabbix to email alerts

我最近在 Ubuntu 16.04 上使用 Php 7.0 启动了一个新的 Zabbix 3.0 实例,我 运行 遇到了很多问题,试图让它成为电子版给 Zabbix 管理员发邮件。我们正在尝试使用 Amazon SES 发送电子邮件。对于我们的设置,我们有一个由 SES 生成的用户名和密码,我们使用端口 587 和 SSL/TLS 连接。我已确定警报已启用,并且电子邮件媒体类型也已启用。我还仔细检查了 Zabbix 是使用 SMTP 和 TLS 支持编译的。我还验证了 Zabbix 服务器可以到达端口 587 上的 Amazon SMTP 端点。从消息来看,这似乎是某种形式的通信问题,但我尝试过的一切并没有真正让我到任何地方。

SSL connect error: Encountered end of file

26163:20170515:131115.744 * NSS error -5938 (PR_END_OF_FILE_ERROR)
26163:20170515:131115.744 * Encountered end of file
26163:20170515:131115.744 * Closing connection 0
26163:20170515:131115.744 SSL connect error: Encountered end of file
26163:20170515:131115.744 End of send_email():FAIL
26163:20170515:131115.744 End of execute_action():FAIL
26163:20170515:131115.744 error sending alert ID [812]
26163:20170515:131115.744 query without transaction detected
26163:20170515:131115.744 query [txnlev:0] [update alerts set 
retries=1,error='SSL connect error: Encountered end of file' where 
alertid=812]
26163:20170515:131115.746 In execute_action(): alertid [813] mediatype [0]
26163:20170515:131115.746 In send_email() smtp_server:'email-smtp.us-east-
1.amazonaws.com' smtp_port:587 smtp_security:2 smtp_authentication:1
26163:20170515:131115.750 *   Trying 54.235.77.145...
26163:20170515:131115.752 * Connected to email-smtp.us-east-1.amazonaws.com 
(54.235.77.145) port 587 (#0)
26163:20170515:131115.752 * WARNING: failed to load NSS PEM library 
libnsspem.so. Using OpenSSL PEM certificates will not work.
26166:20170515:131115.761 __zbx_zbx_setproctitle() title:'http poller #1 
[got 0 values in 0.000736 sec, getting values]'
26166:20170515:131115.761 In process_httptests()
26166:20170515:131115.761 query [txnlev:0] [select h.hostid,h.host,h.name,t.httptestid,t.name,t.variables,t.headers,t.agent,t.authentication,t.http_user,t.http_password,t.http_proxy,t.retries,t.ssl_cert_file,t.ssl_key_file,t.ssl_key_password,t.verify_peer,t.verify_host from httptest t,hosts h where t.hostid=h.hostid and t.nextcheck<=1494868275 and mod(t.httptestid,1)=0 and t.status=0 and h.proxy_hostid is null and h.status=0 and (h.maintenance_status=0 or h.maintenance_type=0)]
26166:20170515:131115.762 End of process_httptests()
26166:20170515:131115.762 query [txnlev:0] [select min(t.nextcheck) from httptest t,hosts h where t.hostid=h.hostid and mod(t.httptestid,1)=0 and t.status=0 and h.proxy_hostid is null and h.status=0 and (h.maintenance_status=0 or h.maintenance_type=0)]
26166:20170515:131115.762 No httptests to process in get_minnextcheck.

仅供参考,我有 Zabbix 运行 个 HTTPS。为了进行配置,我刚刚更改了启用 Apache 站点的默认文件以指向本地计算机上的证书。它们是签名证书。我还安装了最新的 openssl 软件包

有没有人运行之前遇到过这个问题或者知道可能会发生什么?

如有任何帮助,我们将不胜感激!

谢谢:)

587 是 STARTTLS,SSL/TSL 使用 465(不要忘记配置安全组):

您可能在 email/email 域验证方面遇到问题。确保没问题。