Требуемые условия завершения
Задача:
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 - через веб-интерфейс:
- переходим на https://zabbix.au.team и нажимаем Next step:
-
- нажимаем Next step:
-
- В качестве базы данных выбираем - PostgreSQL;
- В качестве сервера базы данных указываем IP - адрес или имя hq-srv1.au.team;
- Указываем имя созданной базы данных zabbix;
- Указываем имя созданного пользователя zabbix;
- Указываем пароль для пользователя zabbix zabbix;
- Нажимаем 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