Сетевые технологии

Установка системы мониторинга Zabbix

Zabbix — это универсальный инструмент мониторинга, способный отслеживать динамику работы серверов и сетевого оборудования, быстро реагировать на внештатные ситуации и предупреждать возможные проблемы с нагрузкой.

Система мониторинга Zabbix может собирать статистику в указанной рабочей среде и действовать в определенных случаях заданным образом.

У Zabbix есть 4 основных инструмента, с помощью которых можно мониторить определенную рабочую среду и собирать о ней полный пакет данных для оптимизации работы.

1. Сервер — ядро, хранящее в себе все данные системы, включая статистические, оперативные и конфигурацию. Дистанционно управляет сетевыми сервисами, оповещает администратора о существующих проблемах с оборудованием, находящимся под наблюдением.

2. Прокси — сервис, собирающий данные о доступности и производительности устройств, который работает от имени сервера. Все собранные данные сохраняются в буфер и загружаются на сервер.

Нужен для распределения нагрузки на сервер. Благодаря этому процессу можно уменьшить нагрузку на процессор и жесткий диск. Для работы прокси Zabbix отдельно нужна база данных.

3. Агент — программа (демон), которая активно мониторит и собирает статистику работы локальных ресурсов (накопители, оперативная память, процессор и др.) и приложений.

4. Веб-интерфейс — является частью сервера системы и требует для работы веб-сервер. Часто запускается на том же физическом узле, что и Zabbix.

Основные возможности

Функционал включает в себя общие проверки для наиболее распространенных сервисов, в том числе СУБД, SSH, Telnet, VMware, NTP, POP, SMTP, FTP и т.д.

Стандартные функции системы

  1. Контроль нагрузки на процессор, касается и отдельных процессов;
  2. Сбор данных об объеме свободной оперативной и физической памяти;
  3. Мониторинг активности жесткого диска;
  4. Мониторинг сетевой активности;
  5. Пинг для проверки доступности узлов в сети.

Установка Zabbix

В этой статье мы рассмотрим установку zabbix из контейнера Docker. Установка будет проходить на операционной системе Debian 10. В качестве базы данных будет использоваться СУБД PostgreSQL.

Создаем ресурсы для проброса в контейнеры

mkdir /var/lib/zabbix/
cd /var/lib/zabbix/
ln -s /usr/share/zoneinfo/Europe/Kiev localtime
echo 'Europe/Kiev' > timezone
Обязательно укажите свою зону.

Создаем Docker сеть

sudo docker network create zabbix-net

Запускаем контейнер с Postgresql

sudo docker run -d \
--name zabbix-postgres \
--network zabbix-net \
-v /var/lib/zabbix/timezone:/etc/timezone \
-v /var/lib/zabbix/localtime:/etc/localtime \
-e POSTGRES_PASSWORD=zabbix \
-e POSTGRES_USER=zabbix \
-d postgres:alpine

Запускаем контейнер с Zabbix server

sudo docker run \
--name zabbix-server \
--network zabbix-net \
-v /var/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
-v /var/lib/zabbix/timezone:/etc/timezone \
-v /var/lib/zabbix/localtime:/etc/localtime \
-p 10051:10051 -e DB_SERVER_HOST="zabbix-postgres" \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="zabbix" \
-d zabbix/zabbix-server-pgsql:alpine-latest

Запускаем Zabbix web server

sudo docker run \
--name zabbix-web \
-p 80:8080 -p 443:8443 \
--network zabbix-net \
-e DB_SERVER_HOST="zabbix-postgres" \
-v /var/lib/zabbix/timezone:/etc/timezone \
-v /var/lib/zabbix/localtime:/etc/localtime \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="zabbix" \
-e ZBX_SERVER_HOST="zabbix-server" \
-e PHP_TZ="Europe/Kiev" \
-d zabbix/zabbix-web-nginx-pgsql:alpine-latest
После создания всех контейнеров проверяем их с помощью команды sudo docker ps:
Подключаемся браузером к хост машине по url: http://0.0.0.0
Вводим Логин: «Admin», пароль: «zabbix». Регистр имеет значение. После ввода данных будет загружена главная страница zabbix:
На этом установка системы мониторинга Zabbix завершена. Подробное изучение системы не входит в данную статью. Если хотите изучать подробнее данную тему, тогда пишите в комментариях.

Когда машина будет выключена, тогда и Zabbix будет не работать. При следующем запуске будет необходимо запустить docker контейнеры для работы zabbix:
sudo docker start zabbix-postgres
sudo docker start zabbix-server
sudo docker start zabbix-web
Видео по установке Zabbix из контейнера Docker:
Zabbix