Ведение.
Статья, проектирование технологического процесса сборки сервера Zabbix MySQL, открывает цикл публикаций посвящённых системе мониторинга на платформе Zabbix.
Вопросы администрирование современного цифрового предприятия невозможны без средств мониторинга и анализа. С помощью анализаторов сетевой активности можно осуществлять контроль устройств, отслеживать динамику работы серверов, рабочих станций и приложений, реагировать на критические ситуации.
Из доступного для этих задач СПО, можно выделить Zabbix (Zab), лицензия GPL.
На сайте производителя выставлены готовые решением в виде компилированных iso образов для облачных сред. Собраны образа на ОС, которые не входят в реестр программ для учреждений и предприятий. В статьях цикла рассмотрены варианты развёртывания системы мониторинга на базе ОС ALT Linux компании «Базальт СПО».
Подготовка
- Стенд
- ALT Simply Linux, имя lin-sl; ip-10.0.2.33
- CPU Intel Core 5
- HDD >50Gb
- ОЗУ > 8Gb
- ALT Simply Linux, имя lin-sl; ip-10.0.2.33
Для развёртывания выбираем минимальную конфигурацию устанавливаемого сервера.
В репозитории 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
- ИЛИ
- командной строки
- с помощью редактор mcedit
Вид веб каталога исполнения addon.d и каталога ссылок для Zabbix.


- внести изменения в файла phpX сервера Apache2
- перегрузить сервер 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
$ 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.

Для исправления возникшей ошибки смотри рекомендации Вид4.
После ответа на последний вопрос мастера настроек, появится окно с приглашением ввода логин и пароль для первого входа.
Первый вход: логин 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. После того, как копия сервера будет получена, проследите весь процесс установки в облаке клиента, расширьте размер виртуального диска, настройте сеть, безопасность, проинструктируйте администратора, не забудьте включить в технологию обслуживания — процесс резервного копирования и обновления.
Полезные ссылки.
- Сайт
- Загрузка
- Документация
- Форум
- Установка Zabbix PostgreSQL
- Установка Zabbix MySQL
- Backup Zabbix MySQL
- Backup Zabbix PostgreSQL
- Восстановление Zabbix MySQL
- Восстановление Zabbix PostgreSQL
- Ошибки Zabbix
- Справка Zabbix
- Zabbix Sisyphus