Zabbix — это универсальный инструмент мониторинга, способный отслеживать динамику работы серверов и сетевого оборудования, быстро реагировать на внештатные ситуации и предупреждать возможные проблемы с нагрузкой.
Система мониторинга Zabbix может собирать статистику в указанной рабочей среде и действовать в определенных случаях заданным образом.
У Zabbix есть 4 основных инструмента, с помощью которых можно мониторить определенную рабочую среду и собирать о ней полный пакет данных для оптимизации работы.
1. Сервер — ядро, хранящее в себе все данные системы, включая статистические, оперативные и конфигурацию. Дистанционно управляет сетевыми сервисами, оповещает администратора о существующих проблемах с оборудованием, находящимся под наблюдением.
2. Прокси — сервис, собирающий данные о доступности и производительности устройств, который работает от имени сервера. Все собранные данные сохраняются в буфер и загружаются на сервер.
Нужен для распределения нагрузки на сервер. Благодаря этому процессу можно уменьшить нагрузку на процессор и жесткий диск. Для работы прокси Zabbix отдельно нужна база данных.
3. Агент — программа (демон), которая активно мониторит и собирает статистику работы локальных ресурсов (накопители, оперативная память, процессор и др.) и приложений.
4. Веб-интерфейс — является частью сервера системы и требует для работы веб-сервер. Часто запускается на том же физическом узле, что и Zabbix.
Система мониторинга Zabbix может собирать статистику в указанной рабочей среде и действовать в определенных случаях заданным образом.
У Zabbix есть 4 основных инструмента, с помощью которых можно мониторить определенную рабочую среду и собирать о ней полный пакет данных для оптимизации работы.
1. Сервер — ядро, хранящее в себе все данные системы, включая статистические, оперативные и конфигурацию. Дистанционно управляет сетевыми сервисами, оповещает администратора о существующих проблемах с оборудованием, находящимся под наблюдением.
2. Прокси — сервис, собирающий данные о доступности и производительности устройств, который работает от имени сервера. Все собранные данные сохраняются в буфер и загружаются на сервер.
Нужен для распределения нагрузки на сервер. Благодаря этому процессу можно уменьшить нагрузку на процессор и жесткий диск. Для работы прокси Zabbix отдельно нужна база данных.
3. Агент — программа (демон), которая активно мониторит и собирает статистику работы локальных ресурсов (накопители, оперативная память, процессор и др.) и приложений.
4. Веб-интерфейс — является частью сервера системы и требует для работы веб-сервер. Часто запускается на том же физическом узле, что и Zabbix.
Основные возможности
Функционал включает в себя общие проверки для наиболее распространенных сервисов, в том числе СУБД, SSH, Telnet, VMware, NTP, POP, SMTP, FTP и т.д.
Стандартные функции системы
- Контроль нагрузки на процессор, касается и отдельных процессов;
- Сбор данных об объеме свободной оперативной и физической памяти;
- Мониторинг активности жесткого диска;
- Мониторинг сетевой активности;
- Пинг для проверки доступности узлов в сети.
Установка 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:
![](https://static.tildacdn.com/tild3437-3538-4339-b136-613135383338/zabbix_1.png)
Подключаемся браузером к хост машине по url: http://0.0.0.0
![](https://static.tildacdn.com/tild6261-6131-4930-b062-656238396632/zabbix_0.png)
Вводим Логин: «Admin», пароль: «zabbix». Регистр имеет значение. После ввода данных будет загружена главная страница zabbix:
![](https://static.tildacdn.com/tild3038-6632-4131-b833-653634613635/zabbix-768x366.png)
На этом установка системы мониторинга Zabbix завершена. Подробное изучение системы не входит в данную статью. Если хотите изучать подробнее данную тему, тогда пишите в комментариях.
Когда машина будет выключена, тогда и Zabbix будет не работать. При следующем запуске будет необходимо запустить docker контейнеры для работы zabbix:
Когда машина будет выключена, тогда и Zabbix будет не работать. При следующем запуске будет необходимо запустить docker контейнеры для работы zabbix:
sudo docker start zabbix-postgres
sudo docker start zabbix-server
sudo docker start zabbix-web
Видео по установке Zabbix из контейнера Docker: