Установка ZABBIX на Debian 8 из исходников принципиально ничем не отличается от установки на предыдущие версии ОС. Тем не менее все же некоторые мелкие различия вполне возможны и мне пришлось с ними столкнуться в очередной раз уже после выхода Jessie. Это и стало причиной написания отдельной статьи, ведь установку ZABBIX на Debian 7 я подробно расписывал ранее – Установка ZABBIX на Debian 7 Wheezy.
Внимание! В статье описан не рекомендуемый сценарий развертывание Zabbix. Предпочтительный способ – установка из репозиториев (через apt-get install).
Если вам интересна тематика ZABBIX, рекомендую обратиться к основной статье – Система мониторинга ZABBIX, в ней вы найдете дополнительную информацию.
Также доступна статья по установке ZABBIX из исходных кодов на предыдущую версию Debian – Установка ZABBIX на Debian 7 Wheezy.
Описание окружения
Имеем виртуальную машину под управлением Hyper-V с Debian 8.3 (дистрибутив netinst). При установке Debian пользователю root было запрещено напрямую логиниться в систему. На данный момент я нахожусь в консоли Hyper-V уже залогинившись под рутом и самое время выполнить пару задач:
Установим пакет sudo:
1 |
apt-get install sudo |
Далее необходимо отредактировать конфиг – добавить права пользователю, под которым потом будет выполняться установка и настройка ZABBIX:
1 |
visudo |
Добавляем строчку
1 |
bissquit ALL=(ALL) ALL |
Где bissquit – имя пользователя. Сохраняем изменения, логинимся под пользователем.
После этого логинимся по SSH под обычным пользователем, все дальнейшие действия будут выполнять именно тут.
В консоли набираем:
1 |
sudo -i |
Далее все команды будут выполняться с повышенными привилегиями под пользователем root.
Установка ZABBIX на Debian 8
Качаем нужный дистрибутив:
1 |
wget http://repo.zabbix.com/zabbix/2.4/debian/pool/main/z/zabbix/zabbix_2.4.7.orig.tar.gz |
Распаковываем его:
1 |
tar -zxvf zabbix_2.4.7.orig.tar.gz |
Создаем пользователя и группу:
1 2 3 |
groupadd zabbix useradd -g zabbix zabbix passwd zabbix |
Устанавливаем MySQL-сервер:
1 |
apt-get install mysql-server |
В процессе установки нужно будет ввести пароль mysql root.
Логинимся в MySQL:
1 |
mysql -uroot -pПароль |
Где “Пароль” – пароль, введенный для MySQL root в процессе установки пакета (см. выше).
1 2 3 4 5 |
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; |
Посмотрим расположение распакованных ранее файлов:
1 |
ls -l /root/zabbix-2.4.7/database/mysql/ |
Они и будут нам нужны далее.
Теперь необходимо накатить скрипты для создания базы и наполнения её служебной информацией. Обращаю ваше внимание на то, что запускать команды нужно именно в такой последовательности.
1 2 3 |
mysql -uroot -pПароль zabbix </root/zabbix-2.4.7/database/mysql/schema.sql mysql -uroot -pПароль zabbix </root/zabbix-2.4.7/database/mysql/images.sql mysql -uroot -pПароль zabbix </root/zabbix-2.4.7/database/mysql/data.sql |
Ставим необходимые пакеты:
1 2 3 4 5 6 7 8 |
apt-get install gcc \ make \ libmysqlclient-dev \ libiksemel-dev \ libcurl4-openssl-dev \ libsnmp-dev \ libopenipmi-dev \ libssh2-1-dev |
Точный список зависит от того, с какими флагами вы будете собирать zabbix.
Перейдем в каталог куда мы распаковали архив:
1 |
cd zabbix-2.4.7/ |
Получить дополнительную информацию по ключам сборки можно запустив команду:
1 |
./configure --help |
Конфигурируем исходные коды:
1 |
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-jabber --with-ssh2 --with-openipmi |
И тут у меня начались проблемы. А как же без них…
Что бы я ни делал, вылезала ошибка об отсутствии библиотек Jabber. Это несмотря на тот факт, что я на самом деле их установил (см. выше):
В принципе, да ну его этот Jabber и можно просто убрать ключ “–with-jabber“, но решить эту проблему стало делом принципа. К тому же ранее на этом этапе у меня все проходило гладко (конечно не на Debian 8, думаю это имеет значение). Попытки доставить другие пакеты, которые возможно решили бы проблему, у меня ни к чему не привели. Потратив зря время я просто решил обратиться к исходникам:
Поскольку проблема была в пакете libiksemel-dev, идем на его официальную страницу 1, ищем и скачиваем архив исходных кодов – libiksemel_1.4.orig.tar.gz, предварительно выйдя из каталога zabbix:
1 2 |
cd wget http://http.debian.net/debian/pool/main/libi/libiksemel/libiksemel_1.4.orig.tar.gz |
Распаковываем:
1 |
tar -zxvf libiksemel_1.4.orig.tar.gz |
Проверяем куда все распаковалось:
1 |
ls -l |
Идем обратно в каталог с распакованным ZABBIX:
1 |
cd zabbix-2.4.7/ |
Конфигурируем исходные коды:
1 |
./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/“.
Все отлично:
Собираем:
1 |
make install |
Редактируем конфиг:
1 |
nano /usr/local/etc/zabbix_server.conf |
Задаем параметры:
1 2 3 4 |
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=Пароль |
Где “Пароль” – пароль от учетной записи zabbix, созданной ранее.
Запускаем демон:
1 |
zabbix_server |
Ставим необходимые для работы веб-интерфейса пакеты:
1 2 |
apt-get install apache2 \ php5 |
Создаем отдельный каталог:
1 |
mkdir /var/www/html/zabbix |
Переходим в другую директорию и копируем содержимое:
1 2 |
cd frontends/php/ cp -a . /var/www/html/zabbix |
Дальше все настройки необходимо проводить через браузер. В адресной строке пишем http://192.168.1.24/zabbix/setup.php
Нажимаем Next. Видим кучу несоответствий настроек:
Необходимо изменить настройки в конфиге php, но для начала выйдем из текущей директории (переходим в домашний каталог), она больше не понадобится:
1 2 |
cd nano /etc/php5/apache2/php.ini |
В “php time zone” нужно явно указать значение:
1 |
date.timezone = Europe/Moscow |
Ошибка “PHP databases support” устраняется установкой php5-mysql:
1 |
apt-get install php5-mysql |
Ошибки “PHP gd, PHP gd PNG support, PHP gd JPEG support, PHP gd FreeType support” – установкой php5-gd:
1 |
apt-get install php5-gd |
Перезапускаем апач:
1 |
service apache2 restart |
Нажимаем Retry, смотрим остались ли ошибки:
Если ошибок нет, идем далее. Следующий этап – настройка подключения к СУБД:
Вписываем необходимые для подключения данные, проверяем соединение и нажимаем Next. Далее оставляем все как есть:
Проверяем сводку и если все нормально – Next.
Если вылезла ошибка создания конфигурационного файла как у меня:
.., то просто временно даем всем полные права на последний в иерархии каталог:
1 |
chmod a=rwx /var/www/html/zabbix/conf |
Нажимаем Retry, все получилось:
Настройка закончена, нажимаем Finish. Далее все действия нужно будет выполнять уже залогинившись в веб-интерфейсе. Имя пользователя и пароль по умолчанию admin/zabbix.
Для изменения языка нажимаем вверху справа “Profile”:
Выбираем нужный язык, нажимаем Update.
Это последнее, что необходимо сделать. Установка ZABBIX 2.4.7 на Debian 8.3 завершена.
Конечно к основной теме статьи это не относится, но без настройки агента ZABBIX установка сервера была бы неполной.
Итак, отредактируем конфиг агента:
1 |
nano /usr/local/etc/zabbix_agentd.conf |
Адрес сервера ZABBIX:
1 |
Server=127.0.0.1 |
Порт для прослушки
1 |
ListenPort=10050 |
Имя хоста (оно должно быть точно таким же, как и имя узла на zabbix-сервере)
1 |
Hostname=Zabbix server |
Запускаем агента:
1 |
zabbix_agentd |
На этом действительно все.