В данной заметке разберем как мониторить Docker и всех его контейнеров с помощью Zabbix Agent 2, я буду использовать Zabbix Server 6.4 и VPS с Debian 12, с парочкой развернутых контейнеров Docker
Настройка мониторинга Docker с помощью Zabbix
1. Начнем с установки и первоначальной настройки Zabbix Agent 2 на целевом хосте где находится Docker , я буду устанавливать на Debian 12:
wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian12_all.debdpkg -i zabbix-release_6.4-1+debian12_all.debapt updateapt install zabbix-agent2 zabbix-agent2-plugin-*systemctl restart zabbix-agent2systemctl enable zabbix-agent2
2. Открываем конфигурационный файл zabbix_agent2.conf:
nano /etc/zabbix/zabbix_agent2.conf
Находим, раскомментируем и заполняем пункты ниже:
- Server=IP вашего Zabbix сервера
- ServerActive=IP вашего Zabbix сервера для активных проверок
- Hostname=Указываем наш hostname или другое осознанное название, которое будет использоваться для идентификации нашей машины на Zabbix-сервере.
Сохраняем и перезапускаем службу Zabbix agent 2:
systemctl restart zabbix-agent2
3. С Zabbix сервера делаем проверку zabbix get до нашего хоста с Docker, что бы убедится что у пользователя Zabbix есть права доступа к сокету Docker (иначе все проверки завалятся в ошибки):
zabbix_get -s IP_ZABBIX.AGENT2 -k docker.info
Проверка доступа к сокету Docker пользователя Zabbix
Если получаем ошибку такого вида:
Get http://1.28/info: dial unix /var/run/docker.sock: connect: permission denied
То, идем на хост с Docker и добавляем нашего пользователя Zabbix в группу Docker, перезагружаемся и снова пробуем zabbix_get -s IP_ZABBIX.AGENT2 -k docker.info:
usermod -aG docker zabbix
Добавление нового узла сети для нашего хоста и шаблон для мониторинга Docker
1. Скачиваем и импортируем шаблон template_app_docker.yaml (если у вас более менее свежая версия Zabbix сервера, то он уже там присутствует с названием Docker by Zabbix agent 2, данный пункт можно пропустить)
2. Создаем новый Узел сети:
- Имя узла сети — Указываем имя которое мы казали в Hostname в Zabbix Agent 2 выше
- Шаблоны — Выбираем Docker by Zabbix agent 2 и Linux by Zabbix agent
- Группы узлов сети — выбираем любую группу
- Интерфейсы — добавляем Агент и указываем IP адрес хоста с Zabbix Agent 2
Добавление нового Узла сети в Zabbix server для мониторинга Docker
На этом настройка мониторинга Docker с помощью Zabbix закончена, ждем получения первых метрик
Немного графиков снятых метрик с Docker контейнеров
Заключение
В данной заметке разобрали как с помощью Zabbix сервера можно мониторить Docker. спасибо за потраченное время на чтение и доброго времени суток!)