Как установить Zabbix Linux MySQL.

Ведение.

 Статья, проектирование технологического процесса сборки сервера Zabbix MySQL, открывает цикл публикаций посвящённых системе мониторинга на платформе Zabbix.

 Вопросы администрирование современного цифрового предприятия невозможны без средств мониторинга и анализа. С помощью анализаторов сетевой активности можно осуществлять контроль устройств, отслеживать динамику работы серверов, рабочих станций и приложений, реагировать на критические ситуации.

Из доступного для этих задач СПО, можно выделить Zabbix (Zab), лицензия GPL.

На сайте производителя выставлены готовые решением в виде компилированных iso образов для облачных сред. Собраны образа на ОС, которые не входят в реестр программ для учреждений и предприятий. В статьях цикла рассмотрены варианты развёртывания системы мониторинга на базе ОС ALT Linux компании «Базальт СПО».

Подготовка

  • Стенд
    • ALT Linux сервер, имя lin-zab; ip-10.0.2.13;
    • MySQL 8.x.x

Для развёртывания выбираем минимальную конфигурацию устанавливаемого сервера.

В репозитории ALT linux имеется готовый пакет для подготовки сервера к развёртыванию Zabbix.

# apt-get update
# apt-get install zabbix-preinstall

Пакет zabbix-preinstall содержит основные библиотеки для установки

Прежде чем перейти к установке Zabbix необходимо установить и настроить основной «каркас» — вэб-сервер и БД.

Настройка Apache2.

Базовую установку вэб-сервера Apache2 смотри здесь.

  • Для успешного запуска и работы Apache2 необходимо:
    • проверить пути к корневому каталогу вэб-сервера
# /etc/httpd2/conf/sites-available/default.conf
...
  DocumentRoot "/var/www/html/"
...
 <Directory "/var/www/html/>
...
 </Directory>
  • добавить в секции Directory запись Require all granted, для переопределение к папке Zabbix
# /etc/httpd2/conf/sites-available/default.conf
...
 <Directory>
...
 Require all granted
 </Directory
  • определить владельца и права на каталоги Apache2
# chown -R apache2:apache2 /var/www/webapps             
# chmod -R 771 /var/www/webapps
# namei -mol /var/www/webapps/zabbix/
f: /var/www/webapps/zabbix/
drwxr-xr-x root    root      /
drwxr-xr-x root    root      var
drwxr-xr-x root    webmaster www
drwxrws--x apache2 apache2   webapps
drwxrwx--x apache2 apache2   zabbix 
  • установить рекурсивно, права на файлы и каталоги Zabbix
# find /var/www/webapps/zabbix -type f -exec chmod 644 {} \; # find /var/www/webapps/zabbix -type d -exec chmod 755 {} \;
  • контролировать доступ к каталогам Zabbix после корректировки
# namei -mol /var/www/webapps/zabbix/ui
f: /var/www/webapps/zabbix/ui
drwxr-xr-x root    root      /
drwxr-xr-x root    root      var
drwxr-xr-x root    webmaster www
drwxrws--x apache2 apache2   webapps
drwxr-xr-x apache2 apache2   zabbix
drwxr-xr-x apache2 apache2   ui 
  • Настроить ссылки Apache2 для Zabbix
    • с помощью редактор mcedit
      • ИЛИ
    • командной строки
# ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf /etc/httpd2/conf/extra-enabled

Вид веб каталога исполнения addon.d и каталога ссылок для Zabbix.

  • внести изменения в файла phpX сервера Apache2
# /etc/php/x.x/apache2-mod_php/php.ini max_execution_time = 300 max_input_time = 300 memory_limit = 256М post_max_size = 32M upload_max_filesize = 20M date.timezone = Europe/Moscow always_populate_raw_post_data= —
  • перегрузить сервер Apache2
# systemctl restart httpd2

 Настройка MySQL.

Базовую установку сервера MySQL смотри здесь

  • Требуется:
    • скачать основные пакеты сервера MySQL
# apt-get update
# apt-get install MySQL-server
  • выставить запуск и автозагрузку демона mysqld
# systemctl start mysqld
# systemctl enable mysqld
# systemctl is-enabled mysqld
enabled
  • установить пароль пользователя root
# mysqladmin -u root password
# New password:zabbix
# Confirm new password:zabbix
  • корректировать уровень безопасности при сеансе пользователя БД
# mysql -uroot -pzabbix mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'zabbix'; mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'zabbix'; mysql> quit
  • скачать дополнительные пакеты для zabbix
# apt-get install zabbix-server-mysql
# apt-get install phpX-mysqlnd
  • создать БД и привилегированного пользователя zabbix
# mysql -u root -pzabbix //создать БД zabbix mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; //создать пользователя zabbix mysql> create user 'zabbix'@'localhost' identified by 'zabbix'; mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost'; mysql> SET GLOBAL log_bin_trust_function_creators = 1; mysql> quit
  • проверить кодировку БД Zabbix
# mysql -uroot -pzabbix mysql> SELECT @@character_set_database, @@collation_database; +--------------------------+----------------------+ | @@character_set_database | @@collation_database | +--------------------------+----------------------+ | utf8mb3 | utf8_general_ci | +--------------------------+----------------------+ mysql> quit

Развёртывание Zabbix.

Этапы развёртывания Zabbix делятся на консольный и графический режим.

При работе с консолью сервера, можно воспользоваться графической утилитой управления пакетами synaptic.

# apt-get install synaptic

Консольный режим установки.

После того, как основной каркас сервера мониторинга установлен и проверен в действии, переходим к установке пакетов для Zabbix.

X текущая версия php

# apt-get update # apt-get install zabbix-phpfrontend-apache2 # apt-get install zabbix-phpfrontend-engine # apt-get install zabbix-phpfrontend-phpX # apt-get install zabbix-server-common # apt-get install zabbix-common # apt-get install zabbix-phpfrontend-apache2-mod_phpX # apt-get install zabbix-agent # apt-get install phpX-sockets # apt-get install phpX-xmlreader # apt-get install phpX-ldap

$ php -v \\справка версии PHP

Если некоторые из перечисленных пакетов уже установлены, продолжайте устанавливать остальные.

Пользователь zabbix.

Системный пользователь и группа zabbix, не путать с пользователем БД, создаются при установке агента Zabbix.

# apt-get install zabbix-agent
...zabbix-agent уже установлен
//член групп
# id -Gn zabbix
zabbix wheel proc

 Ручное создание пользователя zabbix.

# groupadd zabbix
# useradd -g zabbix zabbix
# passwd zabbix
...
Enter new password: zabbix
Re-type new password: zabbix

Проверяем права доступа к каталогам журнала и запуска.

//журнал
# namei -mol /var/log/zabbix/
drwxr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x root root log  
drwxrwxr-t root zabbix zabbix
//запуск
# namei -mol /var/run/zabbix/
drwxr-xr-x root root /
drwxr-xr-x root root var
lrwxrwxrwx root root run -> ../run
drwxr-xr-x root root     ..
drwxr-xr-x root root run
drwxr-xr-x zabbix zabbix zabbix

Действия с MySQL.

Производим импорт схем шаблонов Zabbix в БД MySQL.

//оглядеться в каталоге
# ls /usr/share/doc
//перейти в каталог шаблонов zabbix
# cd /usr/share/doc/zabbix-common-database-mysql-x.x.x
//импорт шаблонов в БД zabbix
# mysql -uroot -pzabbix zabbix < schema.sql
# mysql -uroot -pzabbix zabbix < images.sql
# mysql -uroot -pzabbix zabbix < data.sql
//перегрузить сервер zabbix
# systemctl restart zabbix_mysql

Удаляем log_bin_trust_function_creators после импорта.

# mysql -uroot -pzabbix
mysql> SET GLOBAL log_bin_trust_function_creators = 0;
mysql> quit;

log_bin_trust_function_creators — двоичное журналирование сохраненных программ

Полезные команды MySQL.

При эксплуатации системы мониторинга иногда приходится запускать проверку и исправление целостности БД MySQL.

# mysqlcheck -uroot -pzabbix --auto-repair --check --all-databases

Размер БД Zabbix можно узнать воспользовавшись командой.

# mysql -uroot -pzabbix mysql> SELECT table_schema "databases name", sum( data_length + index_length) / 1024 / 1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema; +--------------------+----------------------+ | databases name | Data Base Size in MB | +--------------------+----------------------+ | information_schema | 0.15625000 | | mysql | 2.28296661 | | performance_schema | 0.00000000 | | sys | 0.01562500 | | zabbix | 1623.98437500 | +--------------------+----------------------+ 5 rows in set, 48 warnings (0,80 sec) mysql> quit

Графический режим установки Zabbix.

Запускаем сервер и устанавливаем уровень автозагрузки демона.

# systemctl start zabbix_mysql
# systemctl enable zabbix_mysql
# systemctl is-enabled zabbix_mysql

Прежде чем перейти к графическим настройкам проверьте работу NTP.

 Открываем браузер и пишем адрес сервера Zabbix.

Графический мастер настройки проведёт по шагам конфигурации, задаст вопросы, ответы на которые должны быть внесены в соответствующие поля настроек.

Если при выполнении см. Вид2\Шаг3, возникает ошибка см. Вид3.

Ошибка соединения с БД Mysql.
Вид3. Ошибка соединения с БД Mysql.

Для исправления возникшей ошибки смотри рекомендации Вид4.

Замена пользователя для соединения с БД Zabbix.
Вид4. Замена пользователя для соединения с БД Zabbix.


После ответа на последний вопрос мастера настроек, появится окно с приглашением ввода логин и пароль для первого входа.

Первый вход: логин Admin пароль zabbix

Теперь можно войти в панель, сменить пароль администратора и локализовать, если требуется, домашнею страницу.

  • Каталоги Zabbix.
    • /etc/zabbix — файлы агентов
    • /var/www/webapps/zabbix/ui — рабочий каталог
    • /var/www/webapps/zabbix/ui/conf/zabbix.conf.php — настройки
    • /var/log/zabbix — журналы
    • /usr/share/doc — пакеты

Заключение.

 После того, как сервер установлен и к нему начинают подключаться узлы, пора ознакомится с документацией. Она вам будет требоваться всегда, по мере погружения в работу анализа сетевых сообщений. Узлы можно подключать в ручную или в режиме сканирования диапазонов сети предприятия.

 Есть ещё один, порочный, способ развёртывания сервера — скачать готовый iso образ с сайта, развернуть в облаке предприятия, подключить узлы. Этим обычно пользуются администраторы MS Windows. В этом способе установки нет ничего предосудительного, желание посмотреть, потрогать, попробовать в «живую» это всё правильно. В дальнейшем администратор сети начинает привыкать к серверу, более того ещё и доложит руководству. Но, что получается, сервер установлен, тонкие настройки сбора логов не выставлены. Сервер начинает собирать все события и копить на диске, диск переполняется, сервер останавливается, БД повреждена.

Начинается поиск специалиста по Linux, т.к сервер включён в структуру мониторинга предприятия, выяснить, кто это сделал не удаётся. Специалист по Linux должен понять, на каком дистрибутиве собран сервер. Добиться этой информации у того, кто устанавливал нет никакой возможности, как порой и найти его самого. Обычно в качестве дистрибутива для распространения используется те, за лицензии которых платить не надо — Ubuntu или CentOS. Начинается кропотливая работа по расширению виртуального диска, исправлению БД, настройки логов, настройка обновления OC и т.д. Возникает необходимость замены пароля для Zabbix, т.к даже это не делают, как из «коробки » пришёл так всё и оставляют.

 Вывод, если нужны образа iso для сервера, создайте основной экземпляр в облаке предприятия на базе ALT Linux минимум. Снимите с него копию, сожмите до предельного размера, что бы можно было передать по FTP. После того, как копия сервера будет получена, проследите весь процесс установки в облаке клиента, расширьте размер виртуального диска, настройте сеть, безопасность, проинструктируйте администратора, не забудьте включить в технологию обслуживания — процесс резервного копирования и обновления.

Полезные ссылки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *