我已经设置了 Prometheus 的 Alertmanager 来管理来自 Prometheus 的警报。我收到了从 Prometheus 到 Alertmanager 的警报,但故事到此结束。Alertmanager 永远不会将警报发送到我的电子邮件端点。
为了弄清楚警报在 Alertmanager 内部的确切位置结束了它们的旅程,我想将日志级别从 info 转换为 debug,但一直无法弄清楚如何。即使现在找到日志似乎也是一个艰难的问题,它不在/var/log
并且journalctl -u alertmanager
包含的内容太少,以至于可能在某个地方还有另一个日志。
配置 Alertmanager的手册页没有提到调试级别。我查看了提到 log 的源代码,发现该设置应该命名为log.level
. 将以下代码段添加到配置 YAML 也无济于事:
log:
level: debug
因为 Alertmanager 无法启动,无法解析其配置文件。
答案是无法通过配置文件将 Prometheus 的 Alertmanagers 日志级别设置为调试,只能通过命令行参数进行调试。不要问我为什么,我相信他们有他们的理由。
通过 Puppet,我将参数添加到 Alertmanager 的 Systemd 单元文件中,因此它最终看起来像这样:
如果您从 shell 启动 Alertmanager,您只需将标志添加
--log.level=debug
到您的调用中。然后可以通过
journalctl -u alertmanager
带有 Systemd init 系统的 Linux 发行版查看调试消息。在 Ubuntu 系统上(如果 prometheus-alertmanager 是通过 apt 和官方 repo 安装的)。
打开
并添加
归档(替换 ARGS="")
然后通过 systemd 重启 prometheus-alertmanager:
通过 journalctl 显示日志: