# Система мониторинга Zabbix. Часть 1. Установка и запуск сервера

Zabbix — система для мониторинга различных сервисов и приложений. Это удобный инструмент, позволяющий собрать в одном месте всю необходимую информацию. Zabbix работает с очень широким спектром задач и может отслеживать практически всё — от температуры ядер центральных процессоров до количества подписчиков в Telegram-канале.

В этой инструкции мы установим Zabbix на наш сервер, настроим и запустим виртуальную машину Zabbix и установим веб-интерфейс.

Zabbix работает на большинстве современных операционных систем, с самыми распространёнными СУБД (MySQL и PostgreSQL) и веб-серверами (Nginx и Apache).

Мы будем устанавливать Zabbix на подготовленный к работе сервер на Ubuntu с предустановленным программным стеком LEMP (здесь в качестве веб-сервера используется Nginx).

# Установка Zabbix

Начнём установку с добавления официального репозитория Zabbix в список apt. Скачаем его из официального источника, распакуем и сразу же обновим список репозиториев:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb

sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb

sudo apt update

Теперь всё готово к установке.

Установим не только сам Zabbix, но и несколько приложений, которые нужны ему для полноценной работы:

sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

Здесь мы установили:

  • агента Zabbix zabbix-agent;

  • дополнительные модули для работы с MySQL zabbix-server-mysql;

  • пакет для поддержки работы с PHP zabbix-frontend-php (нужен для работы веб-интерфейса Zabbix);

  • пакет для поддержки работы Nginx zabbix-nginx-conf;

  • поддержку sql-скриптов для создания и управления базами данных zabbix-sql-scripts.

После завершения установки всех необходимых приложений перейдём к настройке работы бэкэнд-части Zabbix-сервера.

# Настройка бэкэнда

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

Заходим в установленную MySQL:

sudo mysql

В запустившемся интерфейсе работы с MySQL создаём новую базу данных «zabbix» и указываем тип её кодировки:

create database zabbix character set utf8mb4 collate utf8mb4_bin;

После этого создаём нового пользователя и передаём ему все права на управление только что созданной базой:

create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;

Вместо password необходимо ввести новый пароль для пользователя базы. Будьте внимательны: если в процессе установки MySQL вы запускали скрипт, отвечающий за первичную настройку базы, то пароль нового пользователя должен соответствовать требованиям безопасности, заданным при первичной настройке.

Теперь осталось только обновить права всех пользователей, и можно выходить из MySQL:

flush privileges;
quit

После создания новой базы импортируем в неё начальную схему и основные данные:

zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

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

Когда импорт схем завершится, можно переходить к настройке серверной конфигурации. Для этого откроем конфигурационный файл в любом текстовом редакторе:

sudo vim /etc/zabbix/zabbix_server.conf

Здесь в строке Password= нужно указать пароль для доступа к базе данных.

Это единственное изменение, которое нужно сделать в конфигурационном файле.

После этого переходим к настройке работы Nginx:

sudo vim /etc/zabbix/nginx.conf

Раскомментируем строки # listen 80; и # server_name example.com; и укажем нужные нам параметры: номер порта, на котором будет работать наш Zabbix-сервер, и доменное имя.

Если для размещения Zabbix вы используете поддомен своего основного домена (zabbix.example.com), то номер порта можно оставить 80.

Сохраняем изменения и закрываем файл.

Готово! Бэкэнд готов к старту Zabbix-сервера. Осталось только перезапустить службы, чтобы изменения вступили в силу. Одновременно с этим добавим их в автозагрузку:

systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm
systemctl enable zabbix-server zabbix-agent nginx php7.4-fpm

Теперь можно переходить к настройке основного рабочего инструмента Zabbix — веб-интерфейса.

# Настройка веб-интерфейса

Для начала работы с веб-интерфейсом Zabbix в адресной строке браузера введите имя сервера, которое указывали в конфигурационном файле Nginx zabbix.example.com.

Если настройка бэкэнда была верной, и все сервисы работают правильно, то вы увидите стартовое окно работы с Zabbix — окно установки веб-интерфейса:

«zabbix_start»

Выполните установку согласно указаниям мастера установки. На этапе проверки соединения с базой данных также проверьте, что все данные указаны верно, и введите пароль пользователя:

«zabbix_db»

После завершения установки можно заходить в Zabbix:

«zabbix_start»

Для первого входа используйте параметры стандартного администратора Zabbix:

  • Имя: Admin
  • Пароль: zabbix

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