Так что давайте разбираться вместе!
Конфигурации установки Zabbix
Zabbix поддерживает широкий выбор операционных систем, СУБД и веб-серверов, поэтому на старте важно определиться с основой: какую ОС выбрать для установки, какой веб-сервер использовать и какую базу данных подключить.
Для операционной системы я остановлюсь на Ubuntu Server 24.04. Почему? Просто потому, что среди Linux-систем мне она нравится больше всего. Простота, стабильность и удобство — всё, что нужно.
Теперь о веб-сервере и СУБД. Тут у меня есть два основных варианта:
- Apache + MySQL — классическая и проверенная временем связка. Надёжная и понятная.
- NGINX + PostgreSQL с расширением TimescaleDB — современное решение с упором на производительность и масштабируемость.
Встает вопрос: А какую конфигурацию выбрать?
Все довольно просто. Если вы новичок в Zabbix или работаете в небольшой компании, я рекомендую остановиться на связке Apache + MySQL. Эта конфигурация проста и интуитивно понятна, а значит, вы быстрее с ней разберётесь.
Но, если вы опытный системный администратор или работаете в крупной компании, где ключевую роль играет производительность, то ваш выбор — это NGINX + PostgreSQL с расширением TimescaleDB. Такая комбинация обеспечит высокую скорость работы и масштабируемость системы.
Чтобы не путать новичков, я решил разделить эти две конфигурации на разные статьи. Если вы опытный пользователь и нацелены на максимальную производительность, то переходите к статье Как установить Zabbix 7 на Ubuntu 24.04 с использованием веб-сервера NGINX, БД PostgreSQL, и расширением TimescaleDB. А вот если вы только начинаете изучать Zabbix и вам нужна конфигурация, которая проста и интуитивно понятна, то продолжайте читать эту статью.
Подготовка сервера
Сначала подготовим серверную систему: обновим все пакеты до актуальных версий и очистим систему.
Начнем с подготовки серверной системы. Для этого обновим список доступных пакетов, установим последние версии программного обеспечения и удалим ненужные компоненты. Всё это можно выполнить одной командой:
apt update -y && apt full-upgrade -y && apt autoremove -y
apt update -y — обновляет список доступных пакетов и их версий.
apt full-upgrade -y — устанавливает все доступные обновления и обновляет пакеты до последних версий, даже если это требует удаления устаревших компонентов.
apt autoremove -y — удаляет ненужные зависимости, которые больше не используются.
Эта команда приведёт систему в актуальное состояние и освободит место за счёт удаления лишних файлов.
Следующим шагом нужно убедиться, что на сервере установлен правильный часовой пояс. Проверить это можно с помощью команды timedatectl:
root@zabbix7:~# timedatectl
Local time: Tue 2024-12-03 20:50:58 UTC
Universal time: Tue 2024-12-03 20:50:58 UTC
RTC time: Tue 2024-12-03 20:50:59
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Как видим, часовой пояс на сервере настроен неверно. Исправим это, установив правильный. В моём случае это часовой пояс +3 (Москва). Для этого используем следующую команду:
timedatectl set-timezone Europe/Moscow
Если ваш часовой пояс отличается от моего и вы не знаете, как его указать, воспользуйтесь командой:
timedatectl list-timezones
Она покажет полный список доступных часовых поясов.
Предварительная настройка сервера завершена — продолжаем дальше!
Установка Zabbix 7
Переходим на официальный сайт Zabbix в раздел загрузок, выбираем операционную систему Ubuntu 24.04 и необходимые компоненты: Server, Frontend, Agent, а также MySQL в качестве базы данных и Apache как веб-сервер.
На этой же странице представлены инструкции по установке Zabbix. Приступим! Первый шаг — установка репозитория Zabbix.
Сначала вводим команду:
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
Эта команда скачивает пакет zabbix-release с официального репозитория Zabbix. Пакет содержит настройки, необходимые для подключения репозитория Zabbix к вашей системе.
Далее устанавливаем этот пакет командой:
dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
Эта команда добавляет репозиторий Zabbix в вашу систему, откуда будут загружаться все нужные компоненты.
После этого обновим список доступных пакетов, включая те, что добавились из репозитория Zabbix, выполнив:
apt update
Теперь система знает о всех доступных пакетах Zabbix.
Далее установим необходимые пакеты для работы Zabbix: сервер, веб-интерфейс и агент. Для этого вводим команду:
apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Эта команда установит всё необходимое для работы Zabbix: сервер с поддержкой MySQL, веб-интерфейс для управления системой, PHP-модуль для взаимодействия с базой данных, конфигурацию для Apache, SQL-скрипты для инициализации базы данных и Zabbix-агент для сбора данных.
Настройка PHP
Давайте настроим PHP, который обеспечивает работу веб-интерфейса Zabbix.
Открываем файл:
nano /etc/apache2/conf-available/zabbix.conf
Изменяем следующие параметры в двух разных секциях:
upload_max_filesize = 128M
upload_max_filesize = 128M
- upload_max_filesize — определяет максимальный размер загружаемого файла.
Эти значения увеличены, чтобы избежать проблем с загрузкой крупных файлов, например, карт или других данных.
После внесения изменений перезапускаем службу Apache:
service apache2 restart
Это базовые настройки, которых достаточно для начала работы.
Установка СУБД MySQL
Чтобы установить актуальную версию MySQL из официального репозитория, выполните следующую команду:
apt install mysql-server
После этого сервер установится и автоматически запустится — никаких дополнительных действий не потребуется!
Для входа в систему управления MySQL достаточно просто выполнить команду mysql.
mysql
Теперь нам нужно создать базу данных с именем zabbix и установить для неё кодировку UTF8mb4. Важно отметить, что точка с запятой в конце команды является обязательным элементом синтаксиса.
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
Далее необходимо создать пользователя для Zabbix с именем zabbix, зарегистрированного на локальном хосте, и назначить ему пароль. Этот пароль будет использоваться для подключения.
CREATE USER zabbix@localhost IDENTIFIED BY 'p@ssw0rd';
Важно помнить, что вы можете задать более сложный пароль для повышения безопасности. Однако, поскольку это тестовая среда, я использую простой и легко запоминающийся пароль.
Теперь необходимо предоставить пользователю zabbix@localhost полный доступ ко всей базе данных zabbix. Для этого выполните следующую команду:
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
Эта команда назначает пользователю zabbix все права на управление таблицами, данными и структурой базы данных zabbix.
Далее необходимо включить логирование бинарных функций. Для этого выполните команду:
SET GLOBAL log_bin_trust_function_creators = 1;
После выполнения настройки выходим из режима управления MySQL с помощью команды:
QUIT;
Теперь необходимо импортировать начальную схему и данные в созданную базу данных. Для этого выполните следующую команду:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Во время выполнения этой команды система запросит ввести пароль, который вы указали для пользователя zabbix на предыдущем шаге. После импорта данных база готова к работе.
Теперь снова заходим в режим управления MySQL, выполнив команду:
mysql
И отключаем логирование бинарных функций с помощью следующей команды:
SET GLOBAL log_bin_trust_function_creators = 0;
Прежде чем выйти из режима управления MySQL, давайте проведём несколько тестов.
Проверяем созданную базу данных
1. Проверим, какие базы данных у нас есть. Для этого вводим команду:
SHOW DATABASES;
Вы увидите список баз данных. Помимо баз данных MySQL, созданных по умолчанию, здесь будет и наша база данных zabbix.
2. Переключимся на базу данных Zabbix. Выполняем:
USE zabbix;
Теперь активной базой данных стала zabbix.
3. Просмотрим список таблиц в базе данных Zabbix. Вводим команду:
SHOW TABLES;
На экране отобразится список всех таблиц. В базе данных Zabbix их достаточно много — 203, и каждая из них играет свою роль в работе сервера Zabbix.
4. Выполним запрос для просмотра данных. Например, выведем всех пользователей из таблицы users:
SELECT * FROM users;
На экране появится информация о пользователях, хранящихся в таблице users.
На этом тестирование завершено. Теперь можно выйти из режима управления MySQL, введя:
QUIT;
Указываем пароль базы данных в Zabbix
Теперь нам нужно сообщить конфигурации Zabbix пароль от пользователя zabbix. Для этого потребуется отредактировать файл конфигурации zabbix_server.conf.
Откройте файл для редактирования:
nano /etc/zabbix/zabbix_server.conf
В этом файле найдите параметр DBPassword (если он закомментирован, уберите символ #) и укажите пароль, который вы назначили ранее:
DBPassword=p@ssw0rd
Сохраните изменения и закройте файл. Теперь Zabbix сервер будет использовать указанный пароль для подключения к базе данных.
Настройка локальных DNS
Чтобы получить доступ к Zabbix по имени, а не по IP-адресу, нужно настроить локальный DNS. Рассмотрим два возможных варианта:
Вариант 1: У вас есть домен и контроллер домена
Если у вас уже настроен внутренний домен и контроллер домена, добавьте A запись о сервере Zabbix в настройки вашего DNS-сервера. Это позволит всем устройствам в домене обращаться к Zabbix по имени.
Вариант 2: У вас нет контроллера домена
Если вы не используете контроллер домена, но всё равно хотите обращаться к Zabbix по имени, можно вручную изменить файл hosts на вашем устройстве.
Для этого откройте файл /etc/hosts (в Linux) или C:\Windows\System32\drivers\etc\hosts (в Windows) и добавьте строку:
192.168.0.50 zabbix7.itadminlab.ru
Замените 192.168.0.50 на IP-адрес вашего сервера, а zabbix7.itadminlab.ru — на желаемое имя.
После этого вы сможете открыть Zabbix по имени zabbix.local, без необходимости вводить IP-адрес.
Завершение установки Zabbix 7
Первое, что нам нужно — это запустить сервис Zabbix. Для этого выполните следующую команду:
service zabbix-server start
После запуска обязательно проверьте его статус, чтобы убедиться, что сервис работает корректно:
service zabbix-server status
Если всё настроено правильно, вы увидите сообщение, подтверждающее, что сервис Zabbix активен и успешно запущен.
Теперь необходимо запустить процессы Zabbix-сервера и агента, а также настроить их автоматический запуск при загрузке операционной системы.
Выполните следующую команду, чтобы перезапустить службы Zabbix-сервера, Zabbix-агента и Apache:
systemctl restart zabbix-server zabbix-agent apache2
Затем настройте их на автоматический запуск при старте системы:
systemctl enable zabbix-server zabbix-agent apache2
После выполнения этих команд Zabbix-сервер, агент и веб-сервер Apache будут запускаться автоматически при каждой загрузке системы.
Первоначальная настройка веб-интерфейса Zabbix
Теперь откройте веб-интерфейс по адресу http://zabbix7.itadminlab.ru/zabbix (здесь укажите свой собственный FQDN для сервера Zabbix) и завершите установку.
Открылся мастер первоначальной настройки Zabbix, который приветствует нас сообщением «Добро пожаловать в Zabbix 7». Здесь можно выбрать язык установки.
Как видно, у меня на сервере доступен только один язык — английский. Однако если вам понадобятся другие языки, вы сможете добавить их позже. На этом этапе оставляем язык по умолчанию — английский, и переходим к следующему шагу.
На следующем шаге мастер выполняет проверку предварительных требований, и, как видно, все они успешно пройдены. Нажимаем Далее.
На следующем экране введите пароль пользователя базы данных, который вы установили при настройке MySQL. Остальные параметры оставляем по умолчанию и нажимаем Далее.
На следующем шаге указываем имя сервера — я использую Zabbix7, вы можете выбрать любое другое. Затем выбираем часовой пояс (я выбираю +3 Москва, вы — свой). В последнем пункте выбираем тему — оставляю голубую по умолчанию, она самая приятная. Нажимаем Далее.
На следующем шаге отображается сводка всех настроек, которые вы выбрали. Проверяем и нажимаем Далее.
Установка веб-интерфейса Zabbix завершена успешно, о чём свидетельствует сообщение на экране. Если потребуется изменить настройки, конфигурационный файл был создан в папке conf. Нажимаем Завершить.
Первый вход в Zabbix 7
Перед нами форма входа в панель управления Zabbix. Для входа используйте имя пользователя Admin (с большой буквы) и пароль zabbix.
Мы успешно вошли в сервер Zabbix. Поскольку имя пользователя и пароль установлены по умолчанию, их нужно сразу изменить.
Переходим в меню Administration → Users, находим нашего пользователя и выбираем его для редактирования.
Теперь нажимаем кнопку Change Password для смены пароля.
Придумываем более сложный пароль и нажимаем кнопку Update для его сохранения.
Вот и все!
Часто задаваемые вопросы
Какую операционную систему мы используем для установки Zabbix 7?
В этой инструкции Zabbix 7 устанавливается на Ubuntu Server 24.04.
Какие веб-сервер и база данных используются в статье?
Используется классическая связка Apache и MySQL. Именно этот вариант я рекомендую начинающим пользователям Zabbix и для небольших инфраструктур.
Как проверить часовой пояс Ubuntu перед установкой Zabbix?
Используйте команду timedatectl. Если часовой пояс необходимо изменить, его можно установить командой timedatectl set-timezone.
Какой пароль используется для пользователя MySQL zabbix в примере?
Поскольку установка выполняется в тестовой среде, в статье используется пароль p@ssw0rd. Для рабочей системы рекомендуется задать более сложный пароль.
Как открыть веб-интерфейс Zabbix после установки?
В моём примере используется адрес http://zabbix7.itadminlab.ru/zabbix. Вместо него необходимо указать собственное DNS-имя или IP-адрес сервера Zabbix.
Какие логин и пароль используются для первого входа в Zabbix?
Для первого входа используется имя пользователя Admin с большой буквы и пароль zabbix. После входа пароль администратора необходимо изменить.
Можно ли вместо Apache и MySQL использовать NGINX и PostgreSQL?
Да. Для варианта с NGINX, PostgreSQL и TimescaleDB у меня есть отдельная инструкция. Ссылка на неё приведена в начале и в конце этой статьи.
Заключение
В этой статье вы узнали, как настроить Zabbix 7 с веб-сервером Apache и базой данных MySQL. Apache обеспечивает стабильную работу веб-интерфейса, а MySQL — надежное хранение и обработку данных. Эта связка проста в установке и настройке, масштабируема, а благодаря широкому сообществу пользователей легко адаптируется под задачи любой сложности, обеспечивая эффективный мониторинг и анализ данных в реальном времени.
Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как установить Zabbix 7 на Ubuntu 24.04 с использованием веб-сервера NGINX, БД PostgreSQL, и расширением TimescaleDB.