Zabbix – свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования.
Для хранения данных могут использованы: MySQL, PostgreSQL, SQLite или Oracle Database. Веб-интерфейс написан на PHP.
Лицензия: GNU GPL 2.
Использовались версии:
- Zabbix 3.4.7.1
- Debian 9
- PostgreSQL 9.6
- Apache 2.4
Дополнительные источники:
Офф.мануал – как скачать и установить
Установка на debian8
Еще мануал 1
Еще мануал 2
Репозиторий Zabbix – просто на всякий случай
Пакеты:
- zabbix-release – главный пакет
- zabbix-server-pgsql – сервер с использованием PostgeSQL
- zabbix-agent – агент мониторинга
- zabbix-frontend-php – веб-админка
Установка
Офф.мануал с описанием под любую версию, ОС и СУБД вот.
1 2 3 4 |
$ wget http://repo.zabbix.com/zabbix/3.4/debian/pool/main/z/zabbix-release/zabbix-release_3.4-1+stretch_all.deb $ dpkg -i zabbix-release_3.4-1+stretch_all.deb $ apt update $ apt install zabbix-server-pgsql zabbix-frontend-php php-pgsql zabbix-agent |
Главное, чтобы версии пакетов совпадали (у меня 3.4)
База данных
1 |
$ nano /etc/postgresql/9.6/main/pg_hba.conf |
Перед “local is for Unix domain socket connections only
” добавить строку:
1 |
local zabbix zabbix trust |
Перезапустить postgres:
1 |
$ service postgresql restart |
Создать пользователя zabbix и одноименную базу:
1 2 3 |
$ su postgres $ createuser -d -S -R -P zabbix $ createdb -O zabbix zabbix |
Залить дампы в базы (от пользователя postgres). Файлы дампов взять в архиве с исходниками из репозитория:
1 2 3 |
$ psql -U zabbix -f /path/schema.sql zabbix $ psql -U zabbix -f /path/images.sql zabbix $ psql -U zabbix -f /path/data.sql zabbix |
Перезапустить после установки:
1 2 |
$ systemctl restart zabbix-server zabbix-agent apache2 $ systemctl enable zabbix-server zabbix-agent apache2 |
Сервер
Настройка конфигурации:
1 2 3 4 5 6 |
$ nano /etc/zabbix/zabbix_server.conf DBHost= DBName=zabbix DBUser=zabbix DBPassword=PASSWORD |
Перезапустить zabbix-server:
1 |
$ service zabbix-server restart |
Веб-админка
Проверить существования файла конфигурации для сайта zabbix в /etc/apache2/conf-available (может начинаться с zabbix) или создать:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
$ nano /etc/apache2/conf-available/zabbix.conf <IfModule mod_alias.c> Alias /zabbix /usr/share/zabbix </IfModule> <Directory "/usr/share/zabbix"> Options FollowSymLinks AllowOverride None Require all granted <IfModule mod_php5.c> php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Europe/Moscow </IfModule> <IfModule mod_php7.c> php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value date.timezone Europe/Moscow </IfModule> </Directory> <Directory ~ "^/usr/share/zabbix/(conf|app|include|local)/"> Require all denied <files *.php> Require all denied </files> </Directory> |
Создать символическую ссылку этого файла и перезапустить apache:
1 2 |
$ ln -s /etc/apache2/conf-available/zabbix.conf /etc/apache2/conf-enabled/zabbix.conf $ service apache2 restart |
Дать права на каталог /etc/zabbix/:
1 |
$ chmod 777 /etc/zabbix/ |
Теперь зайти на http://host/zabbix и протыкать «Next», указав учетные данные от базы, созданные на шаге настройки postgres.
Должен создаться конфигурационный файл.
По-умолчанию:
- Логин: Admin
- Пароль: zabbix
Вернуть права на каталог:
1 |
# chmod 755 /etc/zabbix/ |
Ошибки
1) Ошибка в frontend:
"The frontend does not match Zabbix database"
Причина: Не развернуты дампы в базу
2) Ошибка при запуске zabbix-server в логах:
"The server does not match Zabbix database. Current database version (mandatory/optional): 03040000/03040006. Required mandatory version: 03000000."
Причина: сервер (пакет zabbix-release) установлен версии 3.4, а пакет zabbix-server-pgsql – версии 3.0
3) Проблема в frontend:
3.1) отсутствует в списке СУБД выбор PostgreSQL (только MySQL)
ИЛИ
3.2) Ошибка:
At least one of MySQL, PostgreSQL, Oracle or IBM DB2 should be supported.
PHP databases support off Fail"
Решение: Установить пакет php5-pgsql и перезапустить apache.
1 2 |
$ apt install php5-pgsql $ service apache2 restart |
4) Ошибка в frontend:
Configuration file
"/etc/zabbix/zabbix.conf.php"
created: Fail
Причина: не хватает прав на папку /etc/zabbix.