Zabbix – это бесплатное решение для мониторинга ИТ-инфраструктуры с открытым исходным кодом. Оно позволяет контролировать сети, серверы, виртуальные машины и облачные сервисы. Zabbix предлагает модель клиент/сервер. Вы можете легко установить агент Zabbix на целевой сервер и следить за ним с помощью панели управления Zabbix. Zabbix также поддерживает общие протоколы мониторинга, такие как SNMP и IPMI.
В этом руководстве мы покажем вам, как установить Zabbix Monitoring Solution на сервер Debian 12. Вы установите Zabbix с PostgreSQL в качестве сервера баз данных, веб-сервером Nginx и PHP-FPM.
Установка PostgreSQL Server
По умолчанию Zabbix поддерживает такие СУБД, как MySQL и PostgreSQL. В этом руководстве вы будете использовать PostgreSQL в качестве базы данных для установки Zabbix. Поэтому сейчас вы будете устанавливать PostgreSQL из репозитория Debian с помощью менеджера пакетов APT.
Сначала выполните команду ‘apt’, приведенную ниже, чтобы обновить индекс пакетов Debian.
sudo apt update
Теперь установите PostgreSQL с помощью команды ниже. Введите ‘Y’, чтобы подтвердить установку.
sudo apt install postgresql postgresql-contrib
После завершения установки проверьте статус службы ‘postgresql’, чтобы убедиться, что она запущена. Вы увидите PostgreSQL со статусом ‘running(exited)’, что означает, что служба запущена, но systemd не может найти ни одного демона для мониторинга.
sudo systemctl is-enabled postgresql sudo systemctl status postgresql
Создание базы данных и пользователя PostgreSQL
После установки PostgreSQL необходимо создать нового пользователя и базу данных для Zabbix. В этом шаге вы будете использовать команду ‘createuser’ для создания новой роли в PostgreSQL и команду ‘createdb’ для создания базы данных PostgreSQL.
Чтобы создать нового пользователя PostgreSQL ‘zabbix’, выполните приведенную ниже команду. Теперь введите пароль для пользователя базы данных и повторите его при появлении запроса.
sudo -u postgres createuser --pwprompt zabbix
Теперь выполните приведенную ниже команду, чтобы создать новую базу данных ‘zabbix’ с владельцем по умолчанию ‘zabbix’. Эта база данных и пользователь будут использоваться для установки Zabbix.
sudo -u postgres createdb -O zabbix zabbix
Установка Zabbix
Теперь, когда вы установили и настроили PostgreSQL, давайте добавим репозиторий Zabbix и установим такие пакеты Zabbix, как ‘zabbix-frontend-php’, ‘zabbix-server-pgsql’ и ‘zabbix-agent’. Кроме того, автоматически установятся веб-сервер Nginx и PHP-FPM, которые будут использоваться фронтендом Zabbix.
Загрузите репозиторий Zabbix для системы Debian с помощью команды ниже. В этом примере вы будете устанавливать Zabbix 7.2 на ваш сервер Debian. После загрузки файл ‘zabbix-release_latest_7.2+debian12_all.deb’ будет доступен в вашей текущей рабочей директории.
wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb
Теперь выполните команду ‘dpkg’, приведенную ниже, чтобы добавить репозиторий Zabbix в вашу систему.
sudo dpkg -i zabbix-release_latest_7.2+debian12_all.deb
После этого выполните следующую команду ‘apt’, чтобы обновить репозиторий Debian и установить сервер Zabbix. В этом примере вы установите Zabbix и Zabbix Agent с базой данных PostgreSQL, веб-сервером Nginx и PHP-FPM.
sudo apt update sudo apt install zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
Введите ‘Y’, чтобы продолжить установку.
Интеграция Zabbix с PostgreSQL
Теперь, когда вы установили пакеты Zabbix, следующим шагом будет интеграция Zabbix с сервером баз данных PostgreSQL. Для этого необходимо импортировать схему базы данных Zabbix и изменить учетные данные PostgreSQL в файле ‘/etc/zabbix/zabbix_server.conf’.
Импортируйте схему базы данных Zabbix в базу данных ‘zabbix’ с пользователем ‘zabbix’. Введите пароль ‘zabbix’, когда появится запрос.
zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
Далее откройте конфигурацию Zabbix ‘/etc/zabbix/zabbix_server.conf’ с помощью редактора ‘nano’.
sudo nano /etc/zabbix/zabbix_server.conf
Отмените значения по умолчанию ‘DBHost’, ‘DBName’, ‘DBUser’ и ‘DBPassword’, указав свои учетные данные PostgreSQL.
DBHost = localhost DBName = zabbix DBUser = zabbix DBPassword = password
Сохраните файл и выйдите из редактора.
Настройка веб-сервера Nginx
Теперь, когда вы интегрировали Zabbix с PostgreSQL, давайте настроим веб-сервер Nginx. По умолчанию конфигурация Nginx для Zabbix доступна в файле ‘/etc/zabbix/nginx.conf’, и теперь вам нужно изменить ее, изменив имя домена по умолчанию и порт по умолчанию для Zabbix (необязательно).
Откройте конфигурацию Nginx ‘/etc/zabbix/nginx.conf’ для интеграции Zabbix с помощью редактора ‘nano’.
sudo nano /etc/zabbix/nginx.conf
Измените параметр по умолчанию ‘listen’ на порт ‘8080’. В этом примере мы запустим Zabbix с веб-сервером Nginx на порту ‘8080’.
listen 8080;
Измените параметр ‘server_name’ на имя вашего домена. В этом примере мы будем использовать локальное доменное имя, которое вы можете создать через файл ‘/etc/hosts’.
server_name zabbix.unixs.local;
Сохраните файл и выйдите из редактора после завершения работы.
Наконец, выполните команду ‘nginx’, приведенную ниже, чтобы проверить конфигурацию Nginx. Если вы исправили конфигурацию Nginx, вы увидите сообщение типа ‘syntax is ok – test is successful’.
sudo nginx -t
Перезапуск служб Zabbix
На данном этапе вы установили пакеты Zabbix и интегрировали Zabbix с сервером PostgreSQL и веб-сервером Nginx. Теперь вам нужно перезапустить каждую службу Zabbix, чтобы применить все изменения, а затем проверить каждую службу Zabbix, чтобы убедиться, что она работает.
Сначала выполните приведенную ниже команду ‘systemctl’, чтобы включить службы ‘zabbix-server’, ‘zabbix-agent’, ‘nginx’ и ‘php8.2-fpm’.
sudo systemctl enable zabbix-server zabbix-agent nginx php8.2-fpm
Теперь выполните следующую команду, чтобы перезапустить службы Zabbix и применить ваши новые изменения к Zabbix.
sudo systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm
Наконец, проверьте службы Zabbix с помощью следующей команды, чтобы убедиться, что служба запущена.
sudo systemctl status zabbix-server zabbix-agent nginx php8.2-fpm
Ниже видно, что ‘zabbix-server’ запущен.
Также запущен ‘zabbix-agent’.
Ниже показано, что служба ‘nginx’ запущена.
Наконец, вы можете увидеть, что служба ‘php8.2-fpm’ запущена на вашем сервере.
Мастер установки Zabbix
Теперь, когда все службы Zabbix запущены, вы можете получить доступ к своей установке Zabbix.
На локальном компьютере отредактируйте файл ‘/etc/hosts’ с помощью текстового редактора. Обязательно используйте привилегии администратора. Для пользователей Windows, вы можете изменить файл ‘C:\Windows\System32\drivers\etc\hosts’ от имени администратора.
В файле ‘hosts’ укажите IP-адрес и доменное имя вашего сервера Zabbix, как показано ниже:
192.168.10.10 zabbix.unixs.local
Сохраните файл и выйдите из редактора.
Теперь откройте веб-браузер и посетите http://zabbix.unixs.local:8080/. Если установка Zabbix прошла успешно, вы увидите мастер установки Zabbix.
Выберите язык по умолчанию для Zabbix и нажмите ‘Следующий шаг‘, чтобы продолжить.
Во время предварительной проверки убедитесь, что конфигурация вашего сервера соответствует требованиям Zabbix.
Теперь выберите базу данных как ‘PostgreSQL’ и введите данные о базе данных.
Введите имя вашего сервера и выберите часовой пояс по умолчанию для Zabbix.
Проверьте все, прежде чем продолжить, затем нажмите кнопку ‘Следующий шаг‘.
После завершения установки вы увидите сообщение типа ‘Поздравляем! Вы успешно установили фронтенд Zabbix.‘.
Нажмите ‘Закончить‘, чтобы завершить установку.
Теперь вы будете перенаправлены на страницу входа в систему Zabbix. Введите пользователя Admin и пароль zabbix, а затем нажмите кнопку ‘Войти‘.
Если все прошло успешно, вы увидите следующую панель администрирования Zabbix.
Заключение
Поздравляем! Вы завершили установку решения для мониторинга Zabbix на сервер Debian 12. Вы запустили Zabbix с сервером базы данных PostgreSQL, веб-сервером Nginx и PHP-FPM. Также на сервере запущен ‘zabbix-agent’, который будет следить за экземпляром Zabbix. Теперь вы можете добавить новый целевой хост для мониторинга Zabbix, настроить уведомления через несколько служб, а затем отслеживать свои службы через Zabbix.