Это продолжение предыдущей статьи про сборку и установку системы мониторинга Zabbix из исходного кода. В данной статье мы рассмотрим установку web-интерфейса Zabbix (web-frontend) в связке Nginx 1.17.4 + PHP-FPM 7.3
Исходные данные: Сервер с Debian 9.11 + MySQL (MariaDB 10.4)
Задача (Часть 2): Настроить работу Web-frontend системы мониторинга Zabbix v4.4 из исходного кода.
Web-интерфейса Zabbix (web-frontend) может запускаться на том же сервере, что и zabbix-server, а может и на отдельном, все зависит от поставленных задач.
Мы будем запускать web-frontend там же где и zabbix-server. Предполагается, что у Вас уже установлен Nginx, если это не так, то Вы можете воспользоваться моей недавней статьей про его установку на Debian 9. Так же предполагается, что у Вас уже установлен PHP-FPM 7.3 и Вы умеете настраивать связку Nginx + PHP-FPM, если Вы этого не умеете, то прочитайте мою статью.
Я сразу обозначу, что корневой каталог, где будет находиться Web-интерфейс Zabbix (web-frontend) будет /var/www/mysite.org как в статье про настройку Nginx + PHP-FPM, у Вас конечно может быть все по другому, но для примера пусть будет так.
В предыдущей статье про сборку Zabbix из исходного кода мы уже скачали архив и распаковали его в /root/zabbix-4.4.10
Поэтому я просто скопирую содержимое /root/zabbix-4.4.10/frontends/php/ в /var/www/mysite.org и установлю владельца:
cp -av /root/zabbix-4.4.10/frontends/php/. /var/www/mysite.org chown -R www-data:www-data /var/www/mysite.org/
После этого мы можем открыть в Web-браузере наш сайт и должны увидеть приглашение установщика «Welcome to Zabbix 4.4».
Но для того чтобы продолжить настройку Web-интерфейса Zabbix нам нужно установить некоторые php-модули и некоторые настройки PHP, выполняем:
echo "php_admin_value[post_max_size] = 16M" >> /etc/php/7.3/fpm/pool.d/www.conf echo "php_admin_value[max_execution_time] = 300" >> /etc/php/7.3/fpm/pool.d/www.conf echo "php_admin_value[max_input_time] = 300" >> /etc/php/7.3/fpm/pool.d/www.conf echo "php_admin_value[date.timezone] = Europe/Moscow" >> /etc/php/7.3/fpm/pool.d/www.conf systemctl restart php7.3-fpm apt-get install -y php7.3-mysql php7.3-bcmath php7.3-gd
Теперь на шаге «Check of pre-requisites» все будет хорошо, далее на шаге «Configure DB connection» устанавливаем параметры подключения к нашей базе.
На шаге «Zabbix server details» устанавливаем адрес и порт сервера, где запущен процесс zabbix-server, у нас это будет localhost и 10051. Имя нашего Zabbix ведем произвольное, для нас это не сильно критично. Далее наша конфигурация будет записана в файл /var/www/mysite.org/conf/zabbix.conf.php и выведено сообщение «Congratulations! You have successfully installed Zabbix frontend.»
Для входа нужно ввести логин admin и пароль zabbix. Не забудьте поменять потом пароль админа, а так же отключить учетную запись guest.
После авторизации мы увидим привычный Web_интерфейс Zabbix:
Вверху справа в интерфейсе мы увидим имя нашего Zabbix-server (в моем случае ZBX), то самое, что ввели на шаге «Zabbix server details».
Так же мы увидим 1 аларм (о рестарте zabbix-server), а может и несколько, все зависит от состояния Вашего сервера.
Теперь нам нужно добавить наш Zabbix-proxy, который мы собрали из исходников и запустили на этом же сервере, ля этого идем в Administration -> Proxies и добавляем прокси с именем «Zabbix proxy». Имя прокси можно поменять в его конфигурационном файле (/etc/zabbix/zabbix_proxy.conf), директива Hostname. Т.к. у нас дефолтная инсталяция, то имя там будет «Zabbix proxy», его и используем:
После добавления Zabbix-proxy мы должны проверить что он у нас запущен и дождаться пока в веб-интерфейсе в колонке «Last seen (age)» появится цифра отражающая сколько секунд назад была связь с прокси. При этом в логе прокси и сервера должны пропасть сообщения вида
Лог сервера:
# tail -f /var/log/zabbix/zabbix_server.log 22465:20191106:173056.470 cannot parse proxy data from active proxy at "127.0.0.1": proxy "Zabbix proxy" not found
Лог прокси:
# tail -f /var/log/zabbix/zabbix_proxy.log 22688:20191106:173056.470 cannot send proxy data to server at "127.0.0.1": proxy "Zabbix proxy" not found
Статус прокси в веб-интерфейсе:
Теперь перейдем к просмотру состояния единственного агента, идем в Configuration -> Hosts и видим:
В колонке «Availability» мы видим зеленую надпись ZBX, то есть наш агент в пассивном режиме доступен и Zabbix-server собирает с него данные, мы можем их посмотреть в Monitoring -> Latest data:
Итак, мы успешно установили Web-интерфейс Zabbix, добавили туда Zabbix-proxy и посмотрели данные с Zabbix-agent.
На этом все, до скорых встреч. Если у Вас возникли вопросы или Вы хотите чтобы я помог Вам, то Вы всегда можете связаться со мной разными доступными способами.
Профессионально занимаюсь системным администрированием Linux -серверов и баз данных (MySQL, PostgreSQL) на протяжении последних 24 лет.