Из этой статьи вы узнаете о сервере Zabbix, я продемонстрирую его установку в систему Debian 12 и покажу web-интерфейс данного решения.
О приложении
Сервер Zabbix — это сервер мониторинга. Он умеет:
- собирать метрики с различных устройств (роутеры, телефоны, принтеры, компьютеры, сервера и подобное);
- обнаруживать проблемы, проблемой считается превышение метрики каких-то порогов;
- высылать уведомления если появляются проблемы на наблюдаемом устройстве;
- визуализировать данные, то есть рисовать графики, составлять комплексные экраны.
Zabbix — это веб приложение, оно написано на PHP и ему нужен web-сервер и база данных. В качестве web-сервера вы можете использовать Apache или Nginx. А в качестве СУБД — MySQL или PostgreSQL. В этой статье я буду использовать Nginx и MySQL.
Мониторинг устройств осуществляется в основном с помощью агентов, но не только. То есть на наблюдаемый сервер или пользовательский компьютер вы устанавливаете агент и тот собирает метрики и отправляет их на сервер мониторинга Zabbix. Все соединения между агентами и сервером поддерживают шифрование.
Для ускорения работы вы можете использовать готовые шаблоны или создавать свои. Второй функцией, которая призвана ускорить работу — это сетевое обнаружение.
Официальные источники информации по Zabbix:
Установка
Установим репозиторий:
$ wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-5+debian12_all.deb $ sudo dpkg -i zabbix-release_6.0-5+debian12_all.deb $ sudo apt update
После проделанного у вас в системе появится новый репозиторий. Посмотрим на него с помощью grep -v '^$|^#'
(это уберёт все закомментированные строки):
$ grep -v '^$\|^#' /etc/apt/sources.list.d/zabbix.list deb https://repo.zabbix.com/zabbix/6.0/debian bookworm main deb-src https://repo.zabbix.com/zabbix/6.0/debian bookworm main
Установим Zabbix сервер, web-интерфейс и агент:
$ sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
Установим и настроим СУБД:
$ sudo apt -y install mariadb-server $ sudo mariadb-secure-installation Enter current password for root (enter for none): <PRESS ENTER> Switch to unix_socket authentication [Y/n] y Change the root password? [Y/n] y Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y
После проделанного root пользователь сможет подключаться к СУБД без пароля, другим пользователям нужно будет вводить пароль.
Создадим базу данных:
$ sudo mysql -u root mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; mysql> create user zabbix@localhost identified by '321'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> set global log_bin_trust_function_creators = 1; mysql> \q
Обратите внимание, выше мы сделали пользователя базы данных zabbix с паролем 321.
Импортируем начальную схему и данные:
$ zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Выключим опцию log_bin_trust_function_creators после импорта схемы базы данных:
$ sudo mysql -u root mysql> set global log_bin_trust_function_creators = 0; mysql> \q
Настроим базу данных для Zabbix сервера:
$ sudo nano /etc/zabbix/zabbix_server.conf DBPassword=321
Настроим PHP для web-интерфейса:
$ sudo nano /etc/zabbix/nginx.conf listen 8080; server_name 192.168.0.25;
В конфиге выше я вместо имени хоста указал ip-адрес хоста. И буду открывать сайт по его ip-адресу (http://192.168.0.25:8080).
Запустим необходимые службы и настроим им автозапуск:
$ sudo systemctl enable --now zabbix-server zabbix-agent nginx php8.2-fpm
До-установка из web-интерфейса
Дальше откроем с помощью браузера наш Zabbix сервер — http://<ip-address>:8080/. И продолжаем установку из web-интерфейса.
Выберем язык по умолчанию:
На следующем шаге будет произведена проверка предварительных условий:
Дальше укажем пароль подключения к базе данные:
Придумаем имя сервера Zabbix и укажем часовой пояс:
Проверим настройки:
И нажмём кнопку «Финиш»:
После чего вы перейдёте на страницу входа, здесь нужно будет ввести логин и пароль, по умолчанию это: Admin и zabbix.
Обзор web-интерфейса
После логина нас встречает такой web-интерфейс:
Слева вы видите меню:
Правее видим информацию о системе. Здесь видно что наш сервер запущен, мониторит 1 узел (самого себя) и другую информацию.
Ещё правее видим информацию по узлам. В нашем случае видно что мониторится 1 узел и у него пока нет никаких проблем.
Ниже расположен блок с последними проблемами, но в нашем случае их нет.
Наш сервер мониторит сам себя, и мы можем посмотреть на последние данные (собранные метрики). Для этого нужно перейти по меню «Мониторинг / Последние данные». По умолчанию Zabbix использовал 2 шаблона чтобы собирать 121 метрику с самого себя. Это очень много и нужно настраивать всё это под ваши нужды.
Изменение пароля
И последнее что желательно сделать сразу, это сменить пароль администратора. Для этого перейдём в меню «Настройки пользователя / Профиль».
Затем, в открывшемся интерфейсе нажмём кнопку «Изменить пароль»:
И введём новый пароль.
Это первая статья по Zabbix. Но я планирую написать несколько:)
Если понравилась статья, подпишись на наше сообщество VK.