
Установка 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  | 
					
На этом действительно все.


















