Задача:

4. Разверните Zabbix (Server+Web) на хосте BR-SRV

  • Для хранения информации используйте базу данных PostgreSQL на хостe HQ-SRV1
  • Обеспечьте мониторинг доступности всех Linux-узлов сети
  • Доступ к Web-интерфейсу должен производиться по TLS соединению

Вариант реализации:

HQ-SRV1:

Реализуем базу данных PostgreSQL для хранения информации

  • Устанавливаем необходимые пакеты:
apt-get update && apt-get install -y postgresql15-server zabbix-server-pgsql
  • Выполняем создание системных баз данных для postgres:
/etc/init.d/postgresql initdb
    • результат:

  • Включаем и добавляем в автозагрузку postgresql:
systemctl enable --now postgresql
  • Создать базу данных Zabbix
    • создать пользователя zabbix и базу данных zabbix
su - postgres -s /bin/sh -c 'createuser --no-superuser --no-createdb --no-createrole --encrypted --pwprompt zabbix'
su - postgres -s /bin/sh -c 'createdb -O zabbix zabbix'
  • добавить в базу данные для веб-интерфейса (последовательность команд важна, в разных версиях путь будет отличаться, версия помечена звёздочкой *, какая версия установлена можно посмотреть командой rpm -ql zabbix-common-database-pgsql | grep schema.sql ):
su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-common-database-pgsql-*/schema.sql zabbix'
su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-common-database-pgsql-*/images.sql zabbix'
su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-common-database-pgsql-*/data.sql zabbix'
  • разрешаем доступ к postgresql по сети:
vim /var/lib/pgsql/data/postgresql.conf
    • в конфигурационном файле находим строку "listen_addresses = 'localhost'" и приводим её к следующему виду:

  • Настраиваем парольную аутентификацию для удалённого доступа:
vim /var/lib/pgsql/data/pg_hba.conf
    • добавляем следующую запись:

  • перезапускаем postgresql:
systemctl restart postgresql

 BR-SRV:

  • Установка Apache2:
apt-get install apache2 apache2-mod_{php8.1,ssl} -y
  • Установка PHP:
apt-get install php8.1-{mbstring,sockets,gd,xmlreader,pgsql,ldap,openssl} -y
  •  Изменить некоторые опции php в файле /etc/php/8.1/apache2-mod_php/php.ini:
vim /etc/php/8.1/apache2-mod_php/php.ini
    • находим следующие параметры и приводим их к следующему виду:

  • Перезапустить apache2
systemctl restart httpd2
  • Устанавливаем zabbix-server-pgsql:
apt-get install -y zabbix-server-pgsql
  • Внести изменения в конфигурационный файл /etc/zabbix/zabbix_server.conf:
vim /etc/zabbix/zabbix_server.conf
    • добавляем следующие изменения:

  • Запускаем zabbix_pgsql:
systemctl enable --now zabbix_pgsql
  • Установка веб-интерфейса Zabbix:
apt-get install zabbix-phpfrontend-{apache2,php8.1} -y
  • Создаём файл конфигурации Virtualhost для Zabbix:
vim /etc/httpd/conf/sites-available/zabbix.conf
    • содержимое:

Ранее сгенерированные и подписанные закрытый ключ и сертификат для zabbix - должны быть положены в соответствие с путями описанными в конфигурационном файле;

  • Добавляем символьную ссылку на файл /etc/httpd/conf/sites-available/zabbix.conf:
ln -s /etc/httpd/conf/sites-available/zabbix.conf /etc/httpd/conf/sites-enabled/
  •  Включаем модуль ssl и rewrite, а также порт https:
a2enmod ssl; a2enmod rewrite; a2enport https
  • Проверяем синтаксис конфигурационного файла /etc/httpd/conf/sites-available/zabbix.conf:
apachectl -t
    • результат:

  • Назначаем владельца и группу владельцев для файлов проекта zabbix:
chow -R apache2:apache2 /var/www/webapps/zabbix
  • Перезагружаем службу httpd2:
systemctl restart httpd2

HQ-SRV2:

  • На DNS - сервере добавляем CNAME - запись:
samba-tool dns add 127.0.0.1 au.team zabbix CNAME br-srv.au.team -U administrator

BR-CLI или HQ-CLI:

  • Продолжаем установку zabbix - через веб-интерфейс:

    • нажимаем Next step:

    1. В качестве базы данных выбираем - PostgreSQL;
    2. В качестве сервера базы данных указываем IP - адрес или имя hq-srv1.au.team;
    3. Указываем имя созданной базы данных zabbix;
    4. Указываем имя созданного пользователя zabbix;
    5. Указываем пароль для пользователя zabbix  zabbix;
    6. Нажимаем Next step

    • при необходимости задаём имя серверу и нажимаем Next step

    • проверяем введённые ранее параметры и нажимаем Next step

    • нажимаем Finish

    • выполняем вход из под пользователя по умолчанию: Admin с паролем: zabbix

    • результат:

HQ-SRV1 | HQ-SRV2 | BR-SRV | DC-SRV1 | DC-SRV2 | HQ-SW1 | BR-SW1 | BR-SW2 | DC-SW1 | HQ-CLI | BR-CLI:

Обеспечиваем мониторинг доступности всех Linux-узлов сети

  • Устанавливаем необходимый пакет zabbix-agent:
apt-get install zabbix-agent -y
  • Редактируем конфигурационный файл /etc/zabbix/zabbix_agentd.conf:
vim /etc/zabbix/zabbix_agentd.conf
    • вносим следующие изменения:

 

  • Включаем и добавляем в автозагрузку службу zabbix_agentd:
systemctl enable --now zabbix_agentd.service
  •  Каждый хост необходимо зарегистрировать на сервере Zabbix, сделать это можно, используя веб-интерфейс
    • переходим Monitoring -> Hosts -> Create host:

    •  Заполняем поля для добавления нового хоста

    •  результат:

Аналогично для всех остальных устройств

Последнее изменение: понедельник, 10 июня 2024, 19:48