Мониторинг Docker и его контейнеров с помощью Zabbix

Введение

В данной заметке разберем как мониторить 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, спасибо за потраченное время на чтение и доброго времени суток!)

Оставьте комментарий