Установка ZABBIX на Debian 8 Jessie

Установка ZABBIX на Debian 8

http://www.zabbix.com/

Установка ZABBIX на Debian 8 из исходников принципиально ничем не отличается от установки на предыдущие версии ОС. Тем не менее все же некоторые мелкие различия вполне возможны и мне пришлось с ними столкнуться в очередной раз уже после выхода Jessie. Это и стало причиной написания отдельной статьи, ведь установку ZABBIX на Debian 7 я подробно расписывал ранее — Установка ZABBIX на Debian 7 Wheezy.


Если вам интересна тематика ZABBIX, рекомендую обратиться к основной статье — Система мониторинга ZABBIX, в ней вы найдете дополнительную информацию.

Также доступна статья по установке ZABBIX из исходных кодов на предыдущую версию Debian — Установка ZABBIX на Debian 7 Wheezy.


Описание окружения

Имеем виртуальную машину под управлением Hyper-V с Debian 8.3 (дистрибутив netinst). При установке Debian пользователю root было запрещено напрямую логиниться в систему. На данный момент я нахожусь в консоли Hyper-V уже залогинившись под рутом и самое время выполнить пару задач:

Установим пакет sudo:
root@debian8:~$ apt-get install sudo

Далее необходимо отредактировать конфиг — добавить права пользователю, под которым потом будет выполняться установка и настройка ZABBIX:
root@debian8:~$ visudo
Добавляем строчку
bissquit ALL=(ALL) ALL
Где bissquit — имя пользователя. Сохраняем изменения, логинимся под пользователем.

После этого логинимся по SSH под обычным пользователем, все дальнейшие действия будут выполнять именно тут.

В консоли набираем:
bissquit@debian8:~$ sudo -i
Далее все команды будут выполняться с повышенными привилегиями под пользователем root.

Установка ZABBIX на Debian 8

Качаем нужный дистрибутив:
root@debian8:~$ wget http://repo.zabbix.com/zabbix/2.4/debian/pool/main/z/zabbix/zabbix_2.4.7.orig.tar.gz

Распаковываем его:
root@debian8:~$ tar -zxvf zabbix_2.4.7.orig.tar.gz

Создаем пользователя и группу:
root@debian8:~$ groupadd zabbix
root@debian8:~$ useradd -g zabbix zabbix
root@debian8:~$ passwd zabbix

Устанавливаем MySQL-сервер:
root@debian8:~# apt-get install mysql-server
В процессе установки нужно будет ввести пароль mysql root.

Логинимся в MySQL:
root@debian8:~# mysql -uroot -pПароль
Где «Пароль» — пароль, введенный для MySQL root в процессе установки пакета (см. выше).

zabbix on debian 8 01

mysql> create database zabbix character set utf8;
mysql> grant usage on *.* to zabbix@localhost identified by ‘Пароль_от_zabbix’;
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> flush privileges;
mysql> quit;

zabbix on debian 8 02

Посмотрим расположение распакованных ранее файлов:
root@debian8:~# ls -l /root/zabbix-2.4.7/database/mysql/

zabbix on debian 8 03

Они и будут нам нужны далее.

Теперь необходимо накатить скрипты для создания базы и наполнения её служебной информацией. Обращаю ваше внимание на то, что запускать команды нужно именно в такой последовательности.
root@debian8:~# mysql -uroot -pПароль zabbix </root/zabbix-2.4.7/database/mysql/schema.sql
root@debian8:~# mysql -uroot -pПароль zabbix </root/zabbix-2.4.7/database/mysql/images.sql
root@debian8:~# mysql -uroot -pПароль zabbix </root/zabbix-2.4.7/database/mysql/data.sql

Ставим необходимые пакеты:
root@debian8:~# apt-get install gcc make libmysqlclient-dev libiksemel-dev libcurl4-openssl-dev libsnmp-dev libopenipmi-dev libssh2-1-dev

Точный список зависит от того, с какими флагами вы будете собирать zabbix.

Перейдем в каталог куда мы распаковали архив:
root@debian8:~# cd zabbix-2.4.7/

Получить дополнительную информацию по ключам сборки можно запустив команду:
root@debian8:~/zabbix-2.4.7# ./configure —help

Конфигурируем исходные коды:
root@debian8:~/zabbix-2.4.7# ./configure —enable-server —enable-agent —with-mysql —enable-ipv6 —with-net-snmp —with-libcurl —with-jabber —with-ssh2 —with-openipmi

И тут у меня начались проблемы. А как же без них…

Что бы я ни делал, вылезала ошибка об отсутствии библиотек Jabber. Это несмотря на тот факт, что я на самом деле их установил (см. выше):

zabbix on debian 8 04

В принципе, да ну его этот Jabber и можно просто убрать ключ «—with-jabber«, но решить эту проблему стало делом принципа. К тому же ранее на этом этапе у меня все проходило гладко (конечно не на Debian 8, думаю это имеет значение). Попытки доставить другие пакеты, которые возможно решили бы проблему, у меня ни к чему не привели. Потратив зря время я просто решил обратиться к исходникам:

Поскольку проблема была в пакете libiksemel-dev, идем на его официальную страницу 1, ищем и скачиваем архив исходных кодов — libiksemel_1.4.orig.tar.gz, предварительно выйдя из каталога zabbix:

root@debian8:~/zabbix-2.4.7# cd
root@debian8:~# wget http://http.debian.net/debian/pool/main/libi/libiksemel/libiksemel_1.4.orig.tar.gz

Распаковываем:
root@debian8:~# tar -zxvf libiksemel_1.4.orig.tar.gz

Проверяем куда все распаковалось:
root@debian8:~# ls -l

zabbix on debian 8 05

Идем обратно в каталог с распакованным ZABBIX:
root@debian8:~# cd zabbix-2.4.7/
Конфигурируем исходные коды:
root@debian8:~/zabbix-2.4.7# ./configure —enable-server —enable-agent —with-mysql —enable-ipv6 —with-net-snmp —with-libcurl —with-jabber=/root/iksemel-1.4/ —with-ssh2 —with-openipmi
Обратите внимание, что после ключа «—with-jabber» я вручную дописал расположение исходных кодов — «/root/iksemel-1.4/«.

Все отлично:

zabbix on debian 8 06

Собираем:
root@debian8:~/zabbix-2.4.7# make install

Редактируем конфиг:
root@debian8:~/zabbix-2.4.7# nano /usr/local/etc/zabbix_server.conf
Задаем параметры:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Пароль
Где «Пароль» — пароль от учетной записи zabbix, созданной ранее.

Запускаем демон:
root@debian8:~/zabbix-2.4.7# zabbix_server

Ставим необходимые для работы веб-интерфейса пакеты:
root@debian8:~/zabbix-2.4.7# apt-get install apache2 php5
Создаем отдельный каталог:
root@debian8:~/zabbix-2.4.7# mkdir /var/www/html/zabbix
Переходим в другую директорию:
root@debian8:~/zabbix-2.4.7# cd frontends/php/
Копируем содержимое:
root@debian8:~/zabbix-2.4.7/frontends/php# cp -a . /var/www/html/zabbix

Дальше все настройки необходимо проводить через браузер. В адресной строке пишем http://192.168.1.24/zabbix/setup.php

zabbix on debian 8 07

Нажимаем Next. Видим кучу несоответствий настроек:

zabbix on debian 8 08

Необходимо изменить настройки в конфиге php, но для начала выйдем из текущей директории (переходим в домашний каталог), она больше не понадобится:
root@debian8:~/zabbix-2.4.7/frontends/php# cd

Открываем для редактирования:
root@debian8:~# nano /etc/php5/apache2/php.ini

В «php time zone» нужно явно указать значение:
date.timezone = Europe/Moscow

Ошибка «PHP databases support» устраняется установкой php5-mysql:
root@debian8:~# apt-get install php5-mysql

Ошибки «PHP gd, PHP gd PNG support, PHP gd JPEG support, PHP gd FreeType support» — установкой php5-gd:
root@debian8:~# apt-get install php5-gd

Перезапускаем апач:
root@debian8:~# service apache2 restart

Нажимаем Retry, смотрим остались ли ошибки:

zabbix on debian 8 09

Если ошибок нет, идем далее. Следующий этап — настройка подключения к СУБД:

zabbix on debian 8 10

Вписываем необходимые для подключения данные, проверяем соединение и нажимаем Next. Далее оставляем все как есть:

zabbix on debian 8 11

Проверяем сводку и если все нормально — Next.

zabbix on debian 8 12

Если вылезла ошибка создания конфигурационного файла как у меня:

zabbix on debian 8 13

.., то просто временно даем всем полные права на последний в иерархии каталог:

root@debian8:~# chmod a=rwx /var/www/html/zabbix/conf

Нажимаем Retry, все получилось:

zabbix on debian 8 14

Настройка закончена, нажимаем Finish. Далее все действия нужно будет выполнять уже залогинившись в веб-интерфейсе. Имя пользователя и пароль по умолчанию admin/zabbix.
Для изменения языка нажимаем вверху справа «Profile»:

zabbix on debian 8 15

Выбираем нужный язык, нажимаем Update.

Это последнее, что необходимо сделать. Установка ZABBIX 2.4.7 на Debian 8.3 завершена.


Конечно к основной теме статьи это не относится, но без настройки агента ZABBIX установка сервера была бы неполной.

Итак, отредактируем конфиг агента:
root@debian8:~# nano /usr/local/etc/zabbix_agentd.conf

Адрес сервера ZABBIX:
Server=127.0.0.1
Порт для прослушки
ListenPort=10050
Имя хоста (оно должно быть точно таким же, как и имя узла на zabbix-сервере)
Hostname=Zabbix server

Запускаем агента:
root@debian8:~# zabbix_agentd

На этом действительно все.

comments powered by HyperComments