Пару дней назад возникла потребность установить zabbix-агента на один из серверов, по привычке попробовал воспользоваться репозиторием NixTime, но не тут-то было – оказалось домен оплачен до 11.06.2011. Жалко конечно – вроде халява была, вроде для CentOS, даже помнится один раз обновлялась с версии 1.8.2 до 1.8.4.
Какие есть варианты? Откатиться до версии 1.6 и потерять все данные, либо искать еще один такой же репозиторий и быть готовым что он в любой момент может закрыться, либо собирать самому. Я выбрал последнее, тем более что мне ничего не мешает собрать Zabbix в RPM и сделать свой локальный, независимый от случайностей репозиторий.
Операционная система CentOS 5.6 i386, текущая версия Zabbix 1.8.5.
1. Сборка Zabbix
Скачиваем исходники zabbix 1.8.5 из репозитория RawHide
[root@zabbix ~]# wget http://download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/zabbix-1.8.5-4.fc16.src.rpm
Создаем директорию для исходников и устанавливаем:
[root@zabbix ~]# mkdir -p /usr/src/redhat/SOURCES [root@zabbix ~]# rpm --nomd5 -ihv zabbix-1.8.5-4.fc16.src.rpm
Параметр –nomd5 необходим из-за несовместимости алгоритмов используемых в fedora и centos.
Устанавливаем необходимые для сборки пакеты:
[root@zabbix ~]# yum install rpm-build gcc make mysql-devel postgresql-devel net-snmp-devel openldap-devel gnutls-devel sqlite-devel unixODBC-devel curl-devel OpenIPMI-devel
Загружаем и устанавливаем библиотеку и исходники iksemel, необходимые для отправки сообщений через jabber:
[root@zabbix ~]# wget http://pkgs.repoforge.org/iksemel/iksemel-devel-1.4-1.el5.rf.i386.rpm [root@zabbix ~]# wget http://pkgs.repoforge.org/iksemel/iksemel-1.4-1.el5.rf.i386.rpm [root@zabbix ~]# rpm -i iksemel-1.4-1.el5.rf.i386.rpm iksemel-devel-1.4-1.el5.rf.i386.rpm
Собираем:
[root@zabbix ~]# rpmbuild -bb --target=i686 /usr/src/redhat/SPECS/zabbix.spec
Теперь у нас есть готовые к установке RPM пакеты Zabbix в директории /usr/src/redhat/RPMS/i686.
2. Установка
Устанавливаем необходимые пакеты
[root@zabbix ~]# yum install php php-mysql php-gd php-mbstring php-bcmath php-xml mysql-server
Скачиваем и устанавливаем fping
[root@zabbix ~]# wget http://packages.sw.be/fping/fping-2.4-1.b2.2.el5.rf.i386.rpm [root@zabbix ~]# rpm -ihv fping-2.4-1.b2.2.el5.rf.i386.rpm
Переходим в каталог /usr/src/redhat/RPMS/i686 и устанавливаем Zabbix
[root@zabbix ~]# cd /usr/src/redhat/RPMS/i686 [root@zabbix i686]# rpm -ihv zabbix-1.8.5-4.i686.rpm zabbix-web-1.8.5-4.i686.rpm zabbix-web-mysql-1.8.5-4.i686.rpm zabbix-server-1.8.5-4.i686.rpm zabbix-server-mysql-1.8.5-4.i686.rpm zabbix-agent-1.8.5-4.i686.rpm
3. Настройка mysql
Добавляем mysql в автозапуск и запускаем.
[root@zabbix ~]# chkconfig mysqld on [root@zabbix ~]# service mysqld start
Делаем первоначальную настройку mysql при помощи скрипта mysql_secure_installation
[root@zabbix ~] mysql_secure_installation Enter current password for root (enter for none): Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Создаем базу данных для Zabbix:
[root@zabbix ~]# mysql -u root -p Enter password: mysql> create database zabbix; mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix_password'; mysql> FLUSH PRIVILEGES; mysql> QUIT;
Импортируем первоначальные настройки и шаблоны. (Пути указаны с учетом текущей версии zabbix 1.8.5-4, для других версий они могут немного отличаться)
[root@zabbix ~]# mysql -uzabbix -pzabbix_password zabbix < /usr/share/doc/zabbix-server-mysql-1.8.5/create/schema/mysql.sql [root@zabbix ~]# mysql -uzabbix -pzabbix_password zabbix < /usr/share/doc/zabbix-server-mysql-1.8.5/create/data/data.sql [root@zabbix ~]# mysql -uzabbix -pzabbix_password zabbix < /usr/share/doc/zabbix-server-mysql-1.8.5/create/data/images_mysql.sql
4. Первоначальная настройка zabbix
Открываем для редактирования конфиг zabbix-сервера /etc/zabbix/zabbix_server.conf, здесь нам понадобится задать параметры соединения с сервером баз данных.
# Хост базы данных DBHost=localhost # Имя базы данных DBName=zabbix # Пользователь БД DBUser=zabbix # Пароль пользователя БД, меняем password на наш пароль DBPassword=zabbix_password
Переходим к настройке PHP, для этого открываем файл /etc/php.ini и меняем в нем следующие параметры:
post_max_size = 32M max_execution_time = 600 max_input_time = 600 date.timezone = Europe/Moscow
Добавляем в автозагрузку и запускаем сервисы:
[root@zabbix ~]# chkconfig httpd on [root@zabbix ~]# chkconfig zabbix-server on [root@zabbix ~]# chkconfig zabbix-agent on [root@zabbix ~]# service httpd start [root@zabbix ~]# service zabbix-server start [root@zabbix ~]# service zabbix-agent start
Переходим к настройке zabbix, в браузере набираем http://адÑеÑ.наÑего.ÑеÑвеÑа/zabbix. На втором шаге нам потребуется принять лицензионное соглашение. На третьем если все сконфигурировано верно верно мы увидим:
На 4-ом шаге задаем пользователя zabbix и соответствующих пароль zabbix_password.
В конце установки мы увидим экран входа, по-умочанию пользователь admin, пароль zabbix:
24 Коммент. : “Сборка Zabbix 1.8.5 для CentOS 5.6”
Трекбеки/Пинги
- Блог «Админа-Маньяка» – Сборка Zabbix 1.8.5 для CentOS 5.6 | Блогеры о юниксах - [...] далее: http://www.alsigned.ru/?p=1531 Наш форум [...]
Спасибо очень полезная статья.
Добавь в настройки mysql необходимость настройки БД на нужную кодировку, по умолчанию кодировка larin1 не дружит с русским
Привет, @voe
Обязательно добавлю. С zabbix-ом работаю наверно лет пять, но почему-то еще не разу не пробовал на русском что-нибудь написать, а ведь и правда кракозяблы получаются
Огромное спасибо за такой подробный и исчерпывающий мануал!
А как утебя с поддержкой SNMP ? Или достаточно поставить пакет net-snmp?
Привет, @voe
С поддержкой SNMP все отлично.
Что касается установки пакета net-snmp, то если делать по статье – он установится как зависимость вместе с net-snmp-devel. Если устанавливать zabbix-server на другой машине (отличной от той на которой производилась сборка) net-snmp понадобится для установки пакета zabbix-server, а net-snmp-libs для пакета zabbix-server-mysql.
Таким образом net-snmp придется установить в любом случае
Подскажите, пожалуйста, как активровать модуль php5-gd. Никак не могу в процессе установки продвинуться. Ставлю на Ubuntu.
Привет, @RIP
Установить zabbix на ubuntu по этой статье не получится
В принципе в Ubuntu 10.4 есть уже собранный zabbix-1.8.1, его можно установить через
Модуль php5-gd будет установлен и «активирован» как зависимость вместе с пакетом zabbix-frontend-php.
Alsigned, спасибо за ответ!
Наверное установка zabbix-frontend-php помогла. Ещё в php.ini дописал extension= gd.so. И прцес установки пошёл далее.
centos 6.0, на моменте
[root@zabbix ~]# rpm -i iksemel-1.4-1.el5.rf.i386.rpm iksemel-devel-1.4-1.el5.rf.i386.rpm
требует библиотеку libgnutls.so.13, однако
Package gnutls-2.8.5-4.el6.i686 already installed and latest version
подскажите, плз, что не так делаю
Привет, @lepsy
Ошибка в том что ты устанавливаешь на CentOS 6 пакеты предназначенные для CentOS 5 и соответственно натыкаешься на проблемы с зависимостями. В данном случае правильным будет использовать:
Устанавливаем недостающий пакет libssh2-devel (который почему-то выпал из списка зависимостей)
Потом в CentOS 6.0 изменилась рабочая директория rpmbuild и как в Fedora переместилась из /usr/src/redhat/ в ~/rpmbuild
Собранные RPM-пакеты будут находится в директории ~/rpmbuild/RPMS.
А если у меня CentOS x86_64, а не i386 тогда КАК?!
Привет, @cssnik
Для CentOS 5.6 x86_64 все тоже самое, по образу и подобию.
Единственное iksemel придется взять другой
[root@localhost ~]# wget http://pkgs.repoforge.org/iksemel/iksemel-1.4-1.el5.rf.x86_64.rpm
[root@localhost ~]# wget http://pkgs.repoforge.org/iksemel/iksemel-devel-1.4-1.el5.rf.x86_64.rpm
[root@localhost ~]# rpm -i iksemel-devel-1.4-1.el5.rf.x86_64.rpm iksemel-1.4-1.el5.rf.x86_64.rpm
И при сборке:
[root@localhost ~]# rpmbuild -bb –target=x86_64 /usr/src/redhat/SPECS/zabbix.spec
Собранные RPM-пакеты будут лежать в каталоге /usr/src/redhat/RPMS/x86_64/
не стартует service zabbix-server start
в логе
4387:20110821:160740.162 Starting Zabbix Server. Zabbix 1.8.6 (revision 20932).
4387:20110821:160740.162 ****** Enabled features ******
4387:20110821:160740.162 SNMP monitoring: YES
4387:20110821:160740.162 IPMI monitoring: YES
4387:20110821:160740.162 WEB monitoring: YES
4387:20110821:160740.162 Jabber notifications: YES
4387:20110821:160740.162 Ez Texting notifications: YES
4387:20110821:160740.162 ODBC: YES
4387:20110821:160740.162 SSH2 support: NO
4387:20110821:160740.162 IPv6 support: YES
4387:20110821:160740.163 ******************************
4387:20110821:160740.165 [Z3001] connection to database ‘zabbix’ failed: [1045] Access denied for user ‘zabbix’@'localhost’ (using password: NO)
версия Zabbix 1.8.6
Привет, @taksa
Судя по ошибке zabbix-server не может соединиться с базой данных, из-за отсутствия пароля у пользователя zabbix. Нужно проверить соответствие пароля который ты задал для пользователя zabbix в mysql и пароля указанного в параметре DBPassword в файле /etc/zabbix/zabbix_server.conf – на сколько я помню по умолчанию этот параметр закометирован.
Решил собрать так как у тебя собрано с 1.8.5
ошибок в логе нет, но ps показывает zabbix_server_m на портах 8385 и ….
не стартует web интерфейс
@taksa
Для CentOS 5.6/6.0 x86_64/i686 zabbix 1.8.6 собирается без проблем.
Zabbix-server может слушать на любом порту, но по умолчанию он слушает порт 10051 и никакой больше. Мне не совсем понятно как можно через ps посмотреть на каком порту работает приложение, весь ман перерыл в поисках, тч если подскажешь буду очень рад Я для этого пользуюсь netstat -ltp.
Web-интерфейс zabbix работает как набор php-скриптов через apache и непосредственно с zabbix-server взаимодействует через БД mysql. Поэтому в первую очередь проверяем запущен ли httpd.
Спасибо !
Поставил сразу 1.8.6 и на ура. Только php, что-то не понял и дал erorr сразу на странице логина, где искать? подскажите.
Вот текст сообщения:
date() [function.date]: It is not safe to rely on the system’s timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Europe/Helsinki’ for ‘EEST/3.0/DST’ instead [include/page_header.php:144]
Привет, probnichek.
На сколько я помню таким образом он ругается на незаданное значение параметра date.timezone в /etc/php.ini.
Alsigned спасибо за оперативность!
Да я так и подозревал, что проблема в этом.:-) Строка с временной зоной присутствовала в php.ini. А решилась проблема тем, что снес и заново поставил php.
Еще раз спасибо за то , что не лень кнопки нажимать.
[root@localhost zabbix-1.8.10]# rpmbuild -bb –target=i686 ~/rpmbuild/SPECS/zabbix.spec
Платформы для сборки: i686
Сборка для платформы i686
ошибка: Неудовлетворенные зависимости сборки:
systemd-units нужен для zabbix-1.8.10-1.el6.i686
Здравствуйте
Вы писали:
Добавь в настройки mysql необходимость настройки БД на нужную кодировку, по умолчанию кодировка larin1 не дружит с русским
Привет, @voe
Обязательно добавлю. С zabbix-ом работаю наверно лет пять, но почему-то еще не разу не пробовал на русском что-нибудь написать, а ведь и правда кракозяблы получаются
Не сумел корректно сделать нужную кодировку UTF8
Подскажите куда копать?
добрый день! поставил zabbix-server 1.8.10 и установился на ура благодаря этой теме! спасибо админу! но у меня один такой вопрос! сервер запустился в процессах он есть и в логах запуск есть к вебке проконнектился, но вот в кладке МОНИТОРИНГ-ПАНЕЛЬ выходит строка Zabbix сервер запущен Нет localhost:10051
хотя мой сервер собирает статистику с агента. может в скриптах где то олибка? может быть такое?