来自 Grafana 的电子邮件警报在 docker 容器内不起作用
Posted
技术标签:
【中文标题】来自 Grafana 的电子邮件警报在 docker 容器内不起作用【英文标题】:Email Alerting from Grafana is not working inside the docker container 【发布时间】:2019-04-06 13:14:42 【问题描述】:我在 docker-compose 文件中有 prometheus 和 Grafana。 我可以在 grafana 中可视化所有 docker 容器指标和主机指标。 但是电子邮件警报不起作用。我已经在 Grafana 的 defaults.ini 中配置了 smtp 配置。
以下是我使用测试警报向我的公司邮件 ID 发出错误警报时遇到的错误。 SMTP 服务器是一个内部服务器,因此它可以在公司内部发送电子邮件。
2018-11-02T09:08:11+0000 lvl=eror msg="发送通知失败" logger=alerting.notifier id=1 error="gomail: 无法发送电子邮件 1: 读取 tcp 172.20.0.8:42386->10.5.10.160:25: i/o timeout"
你能告诉我为什么我的 grafana 容器不能发送电子邮件吗?我还尝试了 prometheus alertmanager 来发送邮件。它也不起作用。
【问题讨论】:
错误信息似乎很清楚。 Grafana 无法访问您的电子邮件服务器。可能是 DNS 或防火墙问题。 您是否从 Docker 容器中打开了正确的端口。从日志看,应该是:42386
。
只暴露端口:docker run [...] -p 42386:42386
现在端口已更改为 49604 并显示相同的错误.. 它随机分配端口
【参考方案1】:
-
您确定您的计算机可以访问“10.5.10.160:25”的 SMTP 服务器吗?
您是否尝试过从 grafana 容器内 ping 服务器?
也许您的计算机无法访问该 IP。
也许可以访问该 IP,但您的 SMTP 服务器仅在端口 465 和 587 上打开,而不是 25,并且可能需要一些身份验证。
Just expose the port: docker run [...] -p 42386:42386
tcp 172.20.0.8:42386
是您调用的 IP:port;你不需要暴露这一点,这与 Mornor 在 cmets 中所说的相反
【讨论】:
以上是关于来自 Grafana 的电子邮件警报在 docker 容器内不起作用的主要内容,如果未能解决你的问题,请参考以下文章
从 Azure kubernetes 集群中托管的 grafana 发送电子邮件警报
如何在 Grafana 的单个警报通知电子邮件中发送多个值?
如何在使用 grafana 和 prometheus-operator 时配置电子邮件警报