Zabbix — описание и установка

Из этой статьи вы узнаете о сервере 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
  • После проделанного у вас в системе появится новый репозиторий.

Установим 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 << 'EOF'
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by '321';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
EOF
  • Мы сделали пользователя базы данных zabbix с паролем 321 - в рабочем сценарии нужно использовать сложный пароль.
  • Такая запись sudo mysql -u root << 'EOF' - называется heredoc, про это я писал здесь .

Импортируем начальную схему и данные:

$ 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 << 'EOF'
set global log_bin_trust_function_creators = 0;
EOF

Настроим базу данных для Zabbix сервера:

$ sudo nano /etc/zabbix/zabbix_server.conf
DBPassword=321

Настроим 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/ и продолжим установку.

Выберем язык по умолчанию:

На следующем шаге будет произведена проверка предварительных условий:

Дальше укажем пароль подключения к базе данные:

Придумаем имя сервера Zabbix и укажем часовой пояс:

Проверим настройки:

И нажмём кнопку «Финиш»:

После чего вы перейдёте на страницу входа, здесь нужно будет ввести логин и пароль, по умолчанию это: Admin и zabbix.

Обзор web-интерфейса

После логина нас встречает такой web-интерфейс:

Слева вы видите меню:

Правее видим информацию о системе. Здесь видно что наш сервер запущен, мониторит 1 узел (самого себя) и другую информацию.

Ещё правее видим информацию по узлам. В нашем случае видно что мониторится 1 узел и у него пока нет никаких проблем.

Ниже расположен блок с последними проблемами, но в нашем случае их нет.

Наш сервер мониторит сам себя, и мы можем посмотреть на последние данные (собранные метрики). Для этого нужно перейти по меню «Мониторинг / Последние данные». По умолчанию Zabbix использовал 2 шаблона чтобы собирать 121 метрику с самого себя. Это очень много и нужно настраивать всё это под ваши нужды.

Изменение пароля

И последнее что желательно сделать сразу, это сменить пароль администратора. Для этого перейдём в меню «Настройки пользователя / Профиль».

Затем, в открывшемся интерфейсе нажмём кнопку «Изменить пароль»:

И введём новый пароль.


Если понравилась статья, подпишись на мой канал в  VK  или  Telegram .