Введение
В данной заметке разберем как мониторить Docker и всех его контейнеров с помощью Zabbix Agent 2, я буду использовать Zabbix Server 6.4 и VPS с Debian 12, с парочкой развернутых контейнеров Docker
Настройка мониторинга Docker с помощью Zabbix
1. Начнем с установки и первоначальной настройки Zabbix Agent 2 на целевом хосте где находится Docker (про установку Zabbix Agent 2 можно посмотреть в данной заметке), я буду устанавливать на Debian 12:
wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian12_all.deb
dpkg -i zabbix-release_6.4-1+debian12_all.deb
apt update
apt install zabbix-agent2 zabbix-agent2-plugin-*
systemctl restart zabbix-agent2
systemctl 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
Если получаем ошибку такого вида:
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
На этом настройка мониторинга Docker с помощью Zabbix закончена, ждем получения первых метрик
Заключение
В данной заметке разобрали как с помощью Zabbix сервера можно мониторить Docker
Что бы не потерять инструкцию рекомендую подписаться на мой личный блог-канал в Telegram в котором я делюсь в формате заметок своими знаниями и интересным из мира IT, спасибо за потраченное время на чтение и доброго времени суток!)