Когда у вас появляется много серверов ,то вам уже не так удобно следить за ними. Встает вопрос о их мониторинге, оповещение о проблемах на сервере. Отказ каких то сервисов, оперативное управление. Zabbix отличное решение этих вопросов.
Zabbix — свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования. Это просто чудовищный комбайн. Поддерживает несколько видов мониторинга:
- Simple checks — может проверять доступность и реакцию стандартных сервисов, таких как SMTP или HTTP, без установки какого-либо программного обеспечения на наблюдаемом хосте.
- Zabbix agent — может быть установлен на UNIX-подобных или Windows-хостах для получения данных о нагрузке процессора, использования сети, дисковом пространстве и так далее.
- External check — выполнение внешних программ, также поддерживается мониторинг через SNMP.
Мы постараемся подробно рассказать как установить и настроить это чудо. Познакомимся с основными настройками и возможностями Zabbix.
Первый этап подготовки будет установка LAMP на сервер. Если вы не знаете что это и как делается, вам сюда )
Теперь установим сервер Zabbix. У меня проблем с установкой из коробки не было:
apt install zabbix-server-mysql zabbix-frontend-php
Если у вас все таки возникли какие то проблемы, вы можете взять пакет deb из официального репозитория https://repo.zabbix.com/zabbix/4.0/debian/
wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb
dpkg -i zabbix-release_4.0-2+stretch_all.deb
apt update
apt install zabbix-server-mysql zabbix-frontend-php
Для работы сервера нам нужна база данных, приступим к созданию базы и привилегий пользователя. Зайдем в базу данных как root:
mysql -u root -p

Следующий пример создает базу данных «zabbixdb»:
CREATE DATABASE zabbixdb ;
или CHARACTER SET, COLLATE которые используется для задания стандартной кодировки таблицы и порядка сортировки.
CREATE DATABASE zabbixdb CHARACTER SET utf8 COLLATE utf8_general_ci;
Для нормальной работы Zabbix нужна кодировка базы данных UTF-8.
Для того, чтобы посмотреть настройки уже существующей базы данных необходимо выполнить:
SHOW CREATE DATABASE name ;

Теперь зададим привилегии для пользователя zabbix, что бы он мог работать с базой данных:
GRANT ALL PRIVILEGES ON zabbixdb.* TO zabbix@localhost IDENTIFIED BY '12345';
То есть пользователь zabbix подключенный локально
@localhost с паролем 12345 получает все привилегии над всей базой данных(включай таблицы и т.д.) zabbixdb — zabbixdb.*
Теперь мы загрузи все таблицы в нашу базу. Они находятся в папке
/usr/share/zabbix-server-mysql/
zcat /usr/share/zabbix-server-mysql/schema.sql.gz | mysql -u zabbix -p zabbixdb
zcat /usr/share/zabbix-server-mysql/images.sql.gz | mysql -u zabbix -p zabbixdb
zcat /usr/share/zabbix-server-mysql/data.sql.gz | mysql -u zabbix -p zabbixdb
Если возникает ошибка типа этой : ERROR 1118 (42000) at line 1278: Row size too large (> 8126) . Проверьте что в настройках mysql сервера указана опция :
[mysqld]
innodb-strict-mode=OFF
Теперь настроим нашу базу в конфигурационном файле
/etc/zabbix/zabbix_server.conf и укажем там данные аутентификации:
DBHost=localhost
DBName=zabbixdb
DBUser=zabbix
DBpassword=password
Далее, включаем конфигурационный файл zabbix для apache2:
a2enconf zabbix-frontend-php
Теперь нужно перезапустить Zabbix и Apache, чтобы применить изменения:
service apache2 restart
service zabbix-server restart
Заходим в браузере http://ВашIP/zabbix


У меня не настроена timezona в php, сейчас мы это исправим в php.ini и перезапустим Apache.
date.timezone = Europe/Moscow
Дальше укажите параметры доступа к базе данных, они будут использоваться для работы веб-интерфейса:


А дальше у нас опять проблемка, не удается создать файл конфигурации. Придется делать это вручную.

Файл нужно скачать и сохранить в /etc/zabbix/ вручную, владельца файла надо поменять на www-data
chown www-data /etc/zabbix/zabbix.conf.php

Введите имя пользователя Admin с паролем zabbix для входа под Супер-Администратором Zabbix. Вот мы и справились с самой простой частью, установкой и базовой настройкой сервера Zabbix. Продолжение следует.