Home Без рубрики Установка и настройка Zabbix 6.4 на Ubuntu 22.04 с SSL (HTTPS)

Установка и настройка Zabbix 6.4 на Ubuntu 22.04 с SSL (HTTPS)

by admin

Zabbix — это бесплатная система мониторинга, которая позволяет следить за состоянием и работоспособностью ваших серверов и сервисов. Она является отличной альтернативой коммерческому решению System Center Operations Manager от Microsoft, предлагая более простой и удобный процесс установки.

В этой статье мы рассмотрим пример базового развертывания Zabbix, где все компоненты, такие как агент, сервер и веб-интерфейс, размещены на одном сервере. Такое решение отлично подходит для начинающих пользователей, которые хотят быстро и легко начать мониторинг своих систем.

Версии программ, применяемые в работе

В рамках установки Zabbix будут использоваться следующие версии программного обеспечения:

  • Zabbix — версия 6.4.
  • Операционная система — Ubuntu Server 22.04.
  • Система управления базами данных — MySQL.
  • Веб-сервер — Apache.

Zabbix славится своей подробной документацией, которая включает в себя детальный анализ аппаратных ресурсов, необходимых для обеспечения оптимальной работы системы мониторинга. Основным фактором, влияющим на потребности в ресурсах, является количество отслеживаемых объектов и метрик. Каждый объект мониторинга, триггер и график требует определенного объема ресурсов.

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

Количество метрикКол-во ЦПОъем ОЗУ, ГБРекомендуемая БД
1 00028MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
10 000416MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
100 0001664MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
Oracle
1 000 0003296MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
Oracle

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

Установка Zabbix

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

Все компоненты будут установлены на одном сервере, с использованием Mysql в качестве сервера баз данных и Apache в качестве веб-сервера. Для упрощения процесса я воспользуюсь готовым пресетом, доступным на сайте вендора.

Предварительная подготовка

Актуальную версию Zabbix Server можно скачать с сайта вендора, в разделе Загрузки.

Перед установкой Zabbix необходимо добавить его репозиторий в список доступных источников пакетов.

wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb

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

dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb

Чтобы система узнала о новом репозитории Zabbix, нужно обновить список всех доступных репозиториев.

apt update

Теперь нужно установить сервер баз данных MySQL, который будет хранить данные о мониторинге Zabbix.

apt install mysql-server

Установка необходимых пакетов

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

1. Установка необходимых пакетов:

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

2. Создадим отдельного пользователя и базу данных, специально для хранения данных мониторинга Zabbix.

# mysql -uroot -p
Вводим пароль от рут
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

3. Теперь нужно импортировать схему базы данных, чтобы Zabbix мог работать с ней. Для этого потребуется указать пароль, который вы задали при создании пользователя zabbix для Mysql (password).

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

4.Отключить опцию log_bin_trust_function_creators после импорта схемы базы данных.

mysql -uroot -p
Вводим пароль от рут
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

5.Теперь нужно указать пароль для подключения к базе данных в файле конфигурации сервера Zabbix.

sudo nano /etc/zabbix/zabbix_server.conf

В файле конфигурации сервера Zabbix найдите параметр DBPassword, который сейчас закомментирован.
Удалите символ ‘#’ (решетку) перед строкой с этим параметром, чтобы активировать его. Затем введите пароль, который вы задали при создании пользователя zabbix для Mysql.

DBPassword=password

6. Включим автозапуск служб

systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2

7. Шаги по русификации Zabbix, системы мониторинга.

apt install locales
dpkg-reconfigure locales                  /     Выбираем [*] ru_RU.UTF-8 UTF-8

Перезапускаем сервер, чтобы появился выбор языка

systemctl reboot 

После перезагрузки у вас будет возможность выбрать русский язык в интерфейсе Установки Zabbix.

8.Откройте веб-страницу интерфейса Zabbix
По умолчанию, при использовании веб-сервера Apache, URL для доступа к интерфейсу Zabbix будет: http://host/zabbix (Где «host» — это имя или IP-адрес вашего сервера)

Настройка после завершения установки

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

1. Переходим по адресу который можно узнать из консоли shell командой ( ifconifg или ip a)

http://твойip/zabbix

2. После установки Zabbix запустится мастер настройки. В начале работы мастера выберите Русский язык, а затем нажмите кнопку «Далее».

3.Мастер установки проверит, соответствуют ли требования к программному обеспечению для работы Zabbix. Если все в порядке, нажмите кнопку «Далее»

4. Указываем параметры подключения к базе данных:

5. На следующем шаге мастер установки запросит указать имя сервера, установить временную зону и выбрать цветовую схему.

6. После успешного завершения настройки веб-интерфейса Zabbix, мастер установки сообщит вам об этом. Нажмите кнопку «Готово», чтобы завершить процесс настройки.

7. Теперь доступен веб-интерфейс системы Zabbix!

Пароль для входа в Zabbix:

Username: Admin
Password: zabbix

Установка Zabbix завершена.

Установка базовых настроек

Хотя базовая установка Zabbix завершена, для комфортной работы и подключения устройств необходимо выполнить ряд дополнительных настроек. О них пойдет речь далее.

Настройка ПО для работы сценариев

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

1. Сначала установим утилиту Traceroute:

apt install Traceroute

Все просто! Давайте проверим, что все работает как надо.

2. Определение операционной системы — это задача посложнее. Для этого нам понадобится утилита nmap. Установим ее:

apt install nmap

Но мы еще не закончили! Если попробовать определить версию операционной системы прямо сейчас, возникнет ошибка.

sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
sudo: a password is required

Проблема в том, что по умолчанию у пользователя zabbix нет разрешений для запуска команд с помощью sudo. Давайте исправим это:

sudo visudo

Допишем следующую строчку в конфигурацию:

zabbix ALL=(ALL) NOPASSWD:/usr/bin/nmap

Сохраняем внесенные изменения и проверяем:

Отлично, работает.

Использование HTTPS-протокола для Zabbix

Осталось завершить настройку доступа к веб-панели администрирования. Необходимо обеспечить доступ только по защищенному протоколу HTTPS и настроить автоматический перенаправление с HTTP на HTTPS.

В этой настройке нет ничего сложного. Важно чтобы A запись сервера соотвествовала внешнему ip адресу с которого Zabbix выходит в интернет, а также из вне сервер должен быть доступен по 80 порту.

На скриншоте моя запись в dns с ip адресом zabbix

Тут мой внешний ip адресс zabbix

Проброс портов в интернет

Установка пакета «Let’s Encrypt»

Процесс установки пакета «Let’s Encrypt» со всеми его зависимостями предельно прост – достаточно ввести команду:

apt install letsencrypt

Вместе с пакетом «Let’s Encrypt» эта команда также устанавливает утилиту «certbot.timer» для автоматического продления сертификата. Она проверяет действительность SSL-сертификатов в системе два раза в день и продлевает те, срок действия которых истекает в следующие 30 дней. Для проверки запуска утилиты введите:

sudo systemctl status certbot.timer

Автоматическая установка SSL-сертификата на web-сервере Apache

Certbot может автоматически устанавливать сертификат на Apache. Для этого вам необходимо установить и выбрать подходящий дополнительный пакет для вашего сервера. Где zabbix.itlukashin.ru вы должны написать свое доменное имя.

apt install python3-certbot-apache
sudo service apache2 stop
sudo certbot --apache --agree-tos --preferred-challenges http -d zabbix.itlukashin.ru

Как я выпустил сертификат мне вышел в терминале отчет, ключи сохранились по пути /etc/letsencrypt/live/zabbix.itlukashin.ru этот путь мы укажем в конфигах Apache

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/zabbix.itlukashin.ru/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/zabbix.itlukashin.ru/privkey.pem
This certificate expires on 2024-10-01.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

В файле /etc/apache2/sites-available/default-ssl.conf включаем SSLEngine и указываем путь до сертификата и закрытого ключа:

 SSLEngine on
 SSLProtocol all -SSLv2
 SSLCertificateFile      /etc/letsencrypt/live/zabbix.itlukashin.ru/fullchain.pem
 SSLCertificateKeyFile /etc/letsencrypt/live/zabbix.itlukashin.ru/privkey.pem

Также необходимо активировать mod_ssl и включить HTTPS по умолчанию. Для этого в консоли LInux (из-под root) вводим следующие команды:

a2enmod ssl
a2ensite default-ssl
service apache2 restart

Осталось настроить конфиги и перезапустить сервер. В файле /etc/apache2/sites-available/000-default.conf вносим следующие изменения:

DocumentRoot /usr/share/zabbix

В файле /etc/apache2/sites-available/000-default-le-ssl.conf вносим аналогичные изменения:

Проверяем

Если нужно обновить сертификат вручную используйте команду

sudo certbot renew

Теперь, даже если вы попытаетесь получить доступ к веб-интерфейсу Zabbix по протоколу HTTP, система автоматически перенаправит вас на HTTPS.

Поздравляем! Базовая установка и настройка сервера Zabbix завершена.

You may also like

Leave a Comment