Всем - КУ! Сегодня хочу рассказать про установку (поднятие) Zabbix сервера на ОС Debian 10.
Хочется немного теории о том что такое Zabbix, но я уверен, что Вы наверняка сюда попали потому что уже это знаете, но мне необходимо блеснуть эрудицией и добавить живых символов в статью .
Так вот, Zabbix это очень крутая система мониторинга сетей, систем, приложений. А еще немаловажная плюшка, то что это система является Open Source - свободной.
А есть ли у Zabbix условные аналоги? Конечно есть, это и Microsoft SCOM, Nagios, MRTG. Но Zabbix это тренд последних лет.
Так вот, эту систему я буду устанавливать на виртуальную машину с ОС Debian, в своей лаборатории на ESXi, которую я разворачивал в статьях пораньше (рекомендую ознакомиться). У Zabbix есть плюс, свободная и доступная документация для актуальных версий на разных языках. Но если Вы сюда попали, то значит что-то там недоступно и не понятно, а быть может требуется опыт реальной устаовки с деталями.
Так же как и на всех курсах, я буду производить установку в одной системе с единым набором сервисов, такое в проме лучше не использовать, а все сервисы разносить на отдельные машины обеспечивая отказоустойчивость.
Для начала я имею установленный минимальный debian 10, в котором установлены только системные утилиты и ssh сервер, этого более чем достаточно для старта.
В качестве вебсервера, который будет обрабатывать Web интерфейс я буду использовать nginx, а базу данных MySQL.
Приступаем к установке zabbix, первым делом нужно установить репозатарии:
# wget https://repo.zabbix.com/zabbix/5.2/debian/pool/main/z/zabbix-release/zabbix-release_5.2-1+debian10_all.deb # dpkg -i zabbix-release_5.2-1+debian10_all.deb # apt update
Следом произведем установку Zabbix сервера, PHP frontend, конфиг для nginx и агент
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent
А вот теперь истина, оказывается что MySQL сервер не был установлен вместе с зависимостями. Теперь необходимо произвести установку MySQL, для этого выполним:
# apt install gnupg # wget https://dev.mysql.com/get/mysql-apt-config_0.8.16-1_all.deb # dpkg -i mysql-apt-config_0.8.16-1_all.deb
Во время выполнения последнего пункта, будет установлен MySQL сервер. Запомните пароль root.
Далее создадим DB для нашего zabbix сервера
# mysql -uroot -p <div class="adinsertion"></div> password mysql> create database zabbix character set utf8 collate utf8_bin; mysql> create user zabbix@localhost identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> quit;
Развернем схему базы данныз для фронтенда
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Следующим шагом нужно указать конфигурацию базы данных для Zabbix сервера, для этого отредактировать файл /etc/zabbix/zabbix_server.conf (если при создании DB параметры не меняли, то только пароль)
DBPassword=password
Затем сконфигурировать nginx отредактировав файл /etc/zabbix/nginx.conf, сняв комментарии со строк.
# listen 80; # server_name example.com;
Тут я немного пошел по другому пути, так как я хотел чтобы дефолтное приложение для nginx был zabbix frontend, я изменил только строчку listen следующим образом
listen 80;
Но при этом в дефолтном сайте отключил default_server в файле /etc/nginx/sites-available/default следующим образом
server { listen 80; #default_server; listen [::]:80; # default_server;
Теперь время настроить таймзону для PHP, отредактировав файл /etc/zabbix/php-fpm.conf, сняв символ комментария ";"
php_value[date.timezone] = Europe/Moscow
Устанавливаем сервисы в автозагрузку и перезапускаем эти сервисы для применения конфигураций
# systemctl restart zabbix-server zabbix-agent nginx php7.3-fpm # systemctl enable zabbix-server zabbix-agent nginx php7.3-fpm
И на финише осталось только завершить установку административного интерфейса перейти по адресу http://server_ip
Так как PHP работает с нативным паролем, я получал ошибку невозможности подключения к MySQL, для этого выполнить следующий MySQL код
# mysql -uroot -p password mysql> ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; mysql> quit;
Далее завершается конфигурация и стандартная пара Логин/Пароль для авторизации в веб интерфейсе Admin с паролем zabbix.
Собсвенно на сегодня и все, если тема будет интересна, с удовольствием опишу еще.