Задать вопрос
redflasher
@redflasher
Full-stack developer

Как подключить zabbix-мониторинг postgres, запущенные с помощью docker-compose?

Недавно начал осваивать zabbix. Чтобы сразу было "как надо", решил настраивать и устанавливать как часть сборки docker-compose. Локальный zabbix-сервер и удаленный zabbix-агент нормально работают, все данные собираются и отображаются.
Захотел далее подключить мониторинг базы данных PostgreSQL, находящуюся на том же хосте, где и zabbix-сервер.
Все запущено через docker-compose.

Делал по руководству отсюда: https://habr.com/ru/post/234481/
то есть взял файлы из репозитория https://github.com/lesovsky/zabbix-extensions/
для zabbix-агента, расположил в нужную папку - все работает, UserParameter'ы добавились.

Застрял на шаге:
zabbix-get -s 127.0.0.1 -k pgsql.ping['-h 127.0.0.1 -p 5432 -U postgres -d mydb']

(ip и имя базы данных оставил как в примере, у себя использовал правильные, с этим проблем нет).

И проблема в том, что сервис zabbix-agent (из docker-compose который) не содержит в себе psql.
Соответственно, не может корректно выполнить UserParameter "pgsql.ping", который обращается к psql.

Вопрос - как сделать так, чтобы из контейнера zabbix-agent вызвать psql, содержащийся в контейнере db?

(пытался рыть в сторону /var/run/docker.sock, но так и не разобрался, как получить возможность выполнить программу хоста ОС, изнутри docker-контейнера)
  • Вопрос задан
  • 1680 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
Вопрос - как сделать так, чтобы из контейнера zabbix-agent вызвать psql, содержащийся в контейнере db?

Никак. В этом смысл изоляции в отдельные контейнеры. Если вам в контейнере с zabbix-agent нужен psql, то создайте кастомный образ из Dockerfile на базе существующего и поставьте туда psql.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
Захотел далее подключить мониторинг базы данных PostgreSQL, находящуюся на том же хосте, где и zabbix-сервер


Если я правильно понял вопрос - то надо инсталлировать zabbix-agent на том хосте где PostgreSQL.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы