Прометей Оповещение
Я пытаюсь заставить Прометея отправлять оповещения через диспетчер оповещений в обоих контейнерах Docker. Prometheus оповещает меня успешно, но эти оповещения не передаются менеджеру оповещений на том же хосте
Оба контейнера нормально работают, а конфигурации монтируются правильно с указанных томов, которые вы можете проверить с помощью WebUI. Однако, когда я запускаю оповещение, и оно отображается как стрельба. В alertmanager не отображаются оповещения
Вот команды docker, которые я использую для запуска обоих контейнеров
docker run -d -p 9090:9090 --name=prom_server -v /prometheus-data/prometheus.yml:/etc/prometheus/prometheus.yml -v /prometheus-data/alert.rules:/etc/prometheus/alert.rules prom/prometheus -config.file=/etc/prometheus/prometheus.yml -alertmanager.url= http://10.1.1.10:9093
Вот экземпляр докера alertmanager
docker run -d -p 9093:9093 --name=prom_alertmanager -v /prometheus-data/alertmanager.conf:/alertmanager.conf prom/alertmanager -config.file=/alertmanager.conf
Когда я проверяю это с помощью Docker, я вижу, что аргументы передаются
[root@myserver]# docker inspect prom_server
...
"Cmd": [
"-config.file=/etc/prometheus/prometheus.yml",
"-alertmanager.url=http://10.196.106.41:9093"
],
...
Я проверил и больше нигде не вижу, вы указываете URL-адрес alertmanager в конфигурации сервера Prometheus. Тем не менее, никакие предупреждения не передаются от одного к другому. У меня нет запуска iptables. Я что-то здесь упускаю?
1 ответ
Мне удалось решить это. Я думал о сети все неправильно. Вместо того, чтобы пытаться маршрутизировать сеть хоста, я должен был связать 2 контейнера вместе с помощью параметра --link
docker run -d -p 9090:9090 --name=prom_server --link prom_alertmanager -v /prometheus-data/prometheus.yml:/etc/prometheus/prometheus.yml -v /prometheus-data/alert.rules:/etc/prometheus/alert.rules prom/prometheus -alertmanager.url= http://promalertmanager:9093 -config.file=/etc/prometheus/prometheus.yml