Zabbix — описание и установка
О приложении
Сервер 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 .