
Configuré Alertmanager de Prometheus para, bueno, administrar alertas de Prometheus. Recibí las alertas provenientes de Prometheus a Alertmanager, pero ahí termina la historia. Alertmanager nunca envía las alertas a mi punto final de correo electrónico.
Para saber exactamente dónde dentro de Alertmanager terminan las alertas, quiero cambiar el nivel de registro de información a depuración, pero no he podido descubrir cómo. Incluso encontrar el registro parece una tarea difícil en este momento, no está /var/log
y journalctl -u alertmanager
contiene tan poco que puede ser que haya otro registro en alguna parte.
La página del manual paraconfigurando el administrador de alertasno menciona el nivel de depuración. Revisé el código fuente en busca de menciones de registro y descubrí que la configuración debería llamarse log.level
. Agregar el siguiente fragmento a la configuración YAML tampoco ayudó:
log:
level: debug
ya que Alertmanager no pudo iniciarse y no se pudo analizar su archivo de configuración.
Respuesta1
La respuesta es que no es posible configurar el nivel de registro de Alertmanagers de Prometheus para que se depure a través del archivo de configuración, solo es posible a través de argumentos de línea de comandos. No me pregunten por qué, estoy seguro de que tenían sus razones.
A través de Puppet agregué el argumento al archivo de unidad Systemd para Alertmanager, de modo que terminó luciendo así:
[Unit]
Description=Prometheus alertmanager
Wants=basic.target
After=basic.target network.target
[Service]
User=alertmanager
Group=alertmanager
EnvironmentFile=/etc/sysconfig/alertmanager
ExecStart=/usr/local/bin/alertmanager \
--config.file=/etc/alertmanager/alertmanager.yaml \
--storage.path=/var/lib/alertmanager \
--log.level=debug
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always
[Install]
WantedBy=multi-user.target
Si está iniciando Alertmanager desde su shell, puede simplemente agregar la bandera --log.level=debug
a su invocación.
Los mensajes de depuración se pueden ver a través journalctl -u alertmanager
de distribuciones de Linux con el sistema de inicio Systemd.
Respuesta2
En sistemas Ubuntu (si prometheus-alertmanager se instaló mediante apt y desde el repositorio oficial).
Abierto
/etc/default/prometheus-alertmanager
Y añadir
ARGS="--log.level=debug"
presentar (reemplazar ARGS="")
Luego reinicie prometheus-alertmanager a través de systemd:
sudo systemctl restart prometheus-alertmanager.service
Mostrar registros a través de journalctl:
journalctl -u prometheus-alertmanager.service --since today
Respuesta3
En mi docker-compose.yml
hice lo siguiente:command: --log.level=debug
Ver detalles:
alertmanager:
restart: unless-stopped
image: prom/alertmanager:latest
command:
- '--config.file=/etc/alertmanager/alertmanager.yml'
- '--storage.path=/alertmanager'
- '--log.level=debug'
volumes:
- ./alertmanager.yml:/etc/alertmanager/alertmanager.yml
expose:
- 9093/tcp
networks:
monitoring-net: