Категории

Установка и начальная настройка сервера мониторинга Zabbix 6 / 7 на Ubuntu

2025-10-13 09:58:33 | Статья из категории: Linux

Процесс установки забикса для мониторинга, дополняю свой блог. Есть и другие сревры мониторинга, но забикс самый популярный, я им и пользуюсь.

Сервер Zabbix используется для сбора и анализа информации о состоянии узлов сети. В данной статье будет рассмотрен процесс его установки и развертывания веб-интерфейса для его управления. В качестве сервера баз данных мы будем использовать MariaDB/MySQL. Версия операционной системы, которая использовалась для написания инструкции — 20.04 LTS (также протестировано на 22.04 / 24.04 и на Debian 12), версия устанавливаемого Zabbix — 6 (также протестирован Zabbix 7).

Подготовка сервера

Перед установкой Zabbix выполняем подготовительные процедуры.

1. Правильное время

Для получения актуальной информации необходимо, чтобы на сервере было правильное время.

Для этого сначала задаем правильную временную зону:

timedatectl set-timezone Europe/Moscow

Затем устанавливаем и запускаем сервис синхронизации времени:

apt install chrony
systemctl enable chrony
systemctl start chrony

2. Настройка брандмауэра

Для работы сервера, открываем следующие порты:

iptables -I INPUT -p tcp --match multiport --dports 80,443 -j ACCEPT
iptables -I INPUT -p tcp --match multiport --dports 10050,10051 -j ACCEPT
iptables -I INPUT -p udp --match multiport --dports 10050,10051 -j ACCEPT

Для сохранения правил используем:

apt install iptables-persistent
netfilter-persistent save

3. Обновляем список пакетов в репозитории:

apt update

Если наша система чистая и на ней не работают критически важные сервисы, стоит обновить установленные пакеты:

apt upgrade

Установка веб-сервера

Управление сервером Zabbix будет осуществляться посредством веб-интерфейса. Для этого необходимо установить и настроить веб-сервер, СУБД и PHP.

СУБД

В данной инструкции мы будем использовать сервер баз данных MariaDB. Zabbix версии 6 требует MariaDB версии 10.05.00 и выше.

Создаем файл репозитория:

vi /etc/apt/sources.list.d/mariadb.list

Содержимое файла:

# MariaDB 10.8 repository list - created UTC
# https://mariadb.org/download/
deb [arch=amd64,arm64,ppc64el,s390x] https://mirror.docker.ru/mariadb/repo/10.8/ubuntu focal main
deb-src https://mirror.docker.ru/mariadb/repo/10.8/ubuntu focal main

Импортируем ключ репозитория:

apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'

Обновляем кэш пакетов:

apt update

Устанавливаем СУБД:

apt install mariadb-server
systemctl enable mariadb
systemctl start mariadb

Задаем пароль для суперпользователя СУБД:

mysqladmin -u root password

Веб-сервер

Устанавливаем и запускаем NGINX:

apt install nginx
systemctl enable nginx
systemctl start nginx

PHP и PHP-FPM

Устанавливаем нужную версию PHP (в примере — 8.3):

export PHP_VER=8.3

Устанавливаем компоненты PHP:

apt install php${PHP_VER}-fpm php${PHP_VER}-mysql php${PHP_VER}-pear php${PHP_VER}-cgi php${PHP_VER}-common php${PHP_VER}-ldap php${PHP_VER}-mbstring php${PHP_VER}-snmp php${PHP_VER}-gd php${PHP_VER}-xml php${PHP_VER}-bcmath --no-install-recommends

Редактируем /etc/php/${PHP_VER}/fpm/php.ini:

date.timezone = "Europe/Moscow"
max_execution_time = 300
post_max_size = 16M
max_input_time = 300
max_input_vars = 10000

Запускаем PHP-FPM:

systemctl enable php${PHP_VER}-fpm
systemctl restart php${PHP_VER}-fpm

NGINX + PHP

Редактируем /etc/nginx/sites-enabled/default:

index index.php index.html;

location ~ \.php$ {
    set $root_path /var/www/html;
    fastcgi_buffer_size 32k;
    fastcgi_buffers 4 32k;
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_param DOCUMENT_ROOT $root_path;
}

Проверяем и перезапускаем NGINX:

nginx -t && nginx -s reload

Создаем тестовый файл:

vi /var/www/html/index.php

Содержимое:


Установка и настройка сервера Zabbix

Установка

Добавляем репозиторий Zabbix:

curl -sLO https://repo.zabbix.com/zabbix/6.1/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.1-1%2Bubuntu20.04_all.deb
dpkg -i zabbix-release_*.deb
apt update
apt install zabbix-server-mysql zabbix-frontend-php zabbix-get zabbix-sql-scripts

Настройка базы данных

Создаем базу и пользователя:

mysql -uroot -p

Внутри MySQL:

CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbixpassword';
quit

Импортируем схему:

cd /usr/share/zabbix-sql-scripts/mysql
gunzip server.sql.gz
mysql -u root -p zabbix < server.sql

Настройка zabbix

Редактируем /etc/zabbix/zabbix_server.conf:

DBName=zabbix
DBUser=zabbix
DBPassword=zabbixpassword

Создаем каталог (если отсутствует):

mkdir /etc/zabbix/zabbix_server.conf.d

Запуск zabbix-server

systemctl enable zabbix-server
systemctl start zabbix-server

Настройка nginx

Меняем корневой каталог в /etc/nginx/sites-enabled/default:

root /usr/share/zabbix;

location ~ \.php$ {
    set $root_path /usr/share/zabbix;
    ...
}

Перезапускаем NGINX:

systemctl restart nginx

Установка портала управления

Открываем в браузере http:///, проходим мастер установки, указываем:

После завершения вход в веб-интерфейс:

Настройка Zabbix агента на сервере

Установка агента

apt install zabbix-agent2

Редактируем /etc/zabbix/zabbix_agent2.conf:

Server=127.0.0.1

Запускаем агент:

systemctl enable zabbix-agent2
systemctl restart zabbix-agent2

Включение шифрования

В том же конфиге добавляем:

TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PSK 001
TLSPSKFile=/etc/zabbix/agent_key.psk

Генерируем ключ:

openssl rand -hex 32 > /etc/zabbix/agent_key.psk
cat /etc/zabbix/agent_key.psk

Перезапускаем агент:

systemctl restart zabbix-agent2

В веб-интерфейсе Zabbix: Настройка → Узлы сети → ваш сервер → вкладка «Шифрование» → указываем PSK-идентификатор и ключ → Обновить.

Читайте также

  1. Установка и настройка Zabbix-агента на CentOS.
  2. Установка Zabbix agent на Windows.
  3. Настройка сервера Zabbix 5 на CentOS 8.
  4. Установка и начальная настройка сервера мониторинга Zabbix на CentOS 7.
  5. Активация/деактивация узлов Zabbix с помощью API на PHP.

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

Важно: Блог-эксперимент

Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.

Посетителей сегодня: 0


Кто я | Контакты и регион

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA