Поиск по сайту
Интересуешься IT и системным администрированием? Подпишись на наш канал, где мы делимся инсайдами, новостями и практическими советами! Прокачай свои навыки вместе с нами!
Как установить Zabbix 7 на Ubuntu 24.04 с использованием веб-сервера Apache и базы данных MySQL
Zabbix — это мощная и популярная платформа для мониторинга и управления инфраструктурой. Она позволяет собирать данные о состоянии серверов, сетевых устройств, приложений, баз данных и других компонентов IT-инфраструктуры. Zabbix хоть и популярен, но достаточно сложен, и разобраться с ним на ходу вряд ли получится.
Так что давайте разбираться вместе!
Онлайн-курс: Zabbix 6. Мониторинг IT инфраструктуры предприятия.
Курс предлагает глубокое изучение Zabbix 6 и охватывает все ключевые аспекты: от установки и конфигурации до продвинутого мониторинга и автоматизации. Курс подходит как для начинающих, так и для опытных администраторов.
Содержание:
Конфигурации установки 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 и вам нужна конфигурация, которая проста и интуитивно понятна, то продолжайте читать эту статью.
Важно: Все последующие команды нужно выполнять с правами суперпользователя (root).
Подготовка сервера
Сначала подготовим серверную систему: обновим все пакеты до актуальных версий и очистим систему.
Начнем с подготовки серверной системы. Для этого обновим список доступных пакетов, установим последние версии программного обеспечения и удалим ненужные компоненты. Всё это можно выполнить одной командой:
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.
Важно: Инструкции по установке 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 — определяет максимальный размер загружаемого файла.
Чтобы сохранить файл в Ubuntu, нажмите сочетание клавиш CTRL + X, затем Y для подтверждения сохранения и ENTER для завершения.
Эти значения увеличены, чтобы избежать проблем с загрузкой крупных файлов, например, карт или других данных.
После внесения изменений перезапускаем службу Apache:
service apache2 restart
Это базовые настройки, которых достаточно для начала работы.
Установка СУБД MySQL
Чтобы установить актуальную версию MySQL из официального репозитория, выполните следующую команду:
apt install mysql-server
После этого сервер установится и автоматически запустится — никаких дополнительных действий не потребуется!
Для входа в систему управления MySQL достаточно просто выполнить команду mysql.
mysql
Важно: Если вы используете учетную запись, отличную от суперпользователя root, для входа в MySQL вам нужно использовать немного другую команду: mysql -uroot -p.
-u — указывает имя пользователя, в данном случае это root.
-p — запрашивает ввод пароля для указанной учетной записи.
Теперь нам нужно создать базу данных с именем 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, давайте проведём несколько тестов.
- Проверим, какие базы данных у нас есть. Для этого вводим команду:
SHOW DATABASES;
Вы увидите список баз данных. Помимо баз данных MySQL, созданных по умолчанию, здесь будет и наша база данных zabbix.
- Переключимся на базу данных Zabbix. Выполняем:
USE zabbix;
Теперь активной базой данных стала zabbix.
- Просмотрим список таблиц в базе данных Zabbix. Вводим команду:
SHOW TABLES;
На экране отобразится список всех таблиц. В базе данных Zabbix их достаточно много — 203, и каждая из них играет свою роль в работе сервера Zabbix.
- Выполним запрос для просмотра данных. Например, выведем всех пользователей из таблицы users:
SELECT * FROM users;
На экране появится информация о пользователях, хранящихся в таблице users.
На этом тестирование завершено. Теперь можно выйти из режима управления MySQL, введя:
QUIT;
Теперь нам нужно сообщить конфигурации 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 сервера и вернуться в окно командной строки, просто нажмите CTRL + C. Это прервет отображение статуса и вернет вас в стандартный режим работы терминала.
Теперь необходимо запустить процессы Zabbix-сервера и агента, а также настроить их автоматический запуск при загрузке операционной системы.
Выполните следующую команду, чтобы перезапустить службы Zabbix-сервера, Zabbix-агента и Apache:
systemctl restart zabbix-server zabbix-agent apache2
Затем настройте их на автоматический запуск при старте системы:
systemctl enable zabbix-server zabbix-agent apache2
После выполнения этих команд Zabbix-сервер, агент и веб-сервер Apache будут запускаться автоматически при каждой загрузке системы.
Теперь откройте веб-интерфейс по адресу http://zabbix7.itadminlab.ru/zabbix (здесь укажите свой собственный FQDN для сервера Zabbix) и завершите установку.
Открылся мастер первоначальной настройки Zabbix, который приветствует нас сообщением «Добро пожаловать в Zabbix 7». Здесь можно выбрать язык установки.
Как видно, у меня на сервере доступен только один язык — английский. Однако если вам понадобятся другие языки, вы сможете добавить их позже. На этом этапе оставляем язык по умолчанию — английский, и переходим к следующему шагу.
Рекомендую использовать Zabbix, а также другие продукты, на языке оригинала — то есть на английском. Это обеспечит лучшую совместимость с документацией и упростит поиск решений и настройку.
На следующем шаге мастер выполняет проверку предварительных требований, и, как видно, все они успешно пройдены. Нажимаем Далее.
На следующем экране введите пароль пользователя базы данных, который вы установили при настройке MySQL. Остальные параметры оставляем по умолчанию и нажимаем Далее.
На следующем шаге указываем имя сервера — я использую Zabbix7, вы можете выбрать любое другое. Затем выбираем часовой пояс (я выбираю +3 Москва, вы — свой). В последнем пункте выбираем тему — оставляю голубую по умолчанию, она самая приятная. Нажимаем Далее.
На следующем шаге отображается сводка всех настроек, которые вы выбрали. Проверяем и нажимаем Далее.
Установка веб-интерфейса Zabbix завершена успешно, о чём свидетельствует сообщение на экране. Если потребуется изменить настройки, конфигурационный файл был создан в папке conf. Нажимаем Завершить.
Перед нами форма входа в панель управления Zabbix. Для входа используйте имя пользователя Admin (с большой буквы) и пароль zabbix.
Мы успешно вошли в сервер Zabbix. Поскольку имя пользователя и пароль установлены по умолчанию, их нужно сразу изменить.
Переходим в меню Administration → Users, находим нашего пользователя и выбираем его для редактирования.
Теперь нажимаем кнопку Change Password для смены пароля.
Придумываем более сложный пароль и нажимаем кнопку Update для его сохранения.
Вот и все!
Заключение
В этой статье вы узнали, как настроить Zabbix 7 с веб-сервером Apache и базой данных MySQL. Apache обеспечивает стабильную работу веб-интерфейса, а MySQL — надежное хранение и обработку данных. Эта связка проста в установке и настройке, масштабируема, а благодаря широкому сообществу пользователей легко адаптируется под задачи любой сложности, обеспечивая эффективный мониторинг и анализ данных в реальном времени.
Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как установить Zabbix 7 на Ubuntu 24.04 с использованием веб-сервера NGINX, БД PostgreSQL, и расширением TimescaleDB.
Интересуешься IT и системным администрированием? Подпишись на SysAdminHub в Телеграмм или Макс, чтобы узнавать обо всем первым!
Статья была полезна? Поддержи автора, и благодаря твоей помощи новые материалы будут выходить еще чаще:
