Итак, поговорив немного о возможностях системы мониторинга zabbix, приступим теперь к её установке. Как уже было сказано, есть сервер и есть агенты. Естественно, машина-сервер может (и должна!) мониторить сама себя, поэтому с неё и начнём.
Компиляция
Последней стабильной версией zabbix на данный момент является zabbix-1.4.5. Скачиваем её и начинаем установку:
wget http://prdownloads.sourceforge.net/zabbix/zabbix-1.4.5.tar.gz?download tar xfz zabbix-1.4.5.tar.gz cd zabbix ./configure --with-mysql --without-pgsql --enable-agent --enable-server --with-libcurl --with-net-snmp make make install
Собственно, всё. Для конфигурации необходимо разрешить сборку:
--enable-agent # агента --enable-server # сервера
и выбрать используемую базу данных
--with-mysql --without-pgsql # для MySQL
Также подключаем использование библиотек
curl
и
net-snmp
. Для клиентских машин нужно будет собирать только агента (без сервера).
Для любителей собирать RPMы в исходниках в дистрибутиве zabbix есть соответствующие .spec-файлы. Их можно использовать с помощью команды
rpmbuild -ba имя_файла.spec
Начальная настройка
Для нормальной работы необходимо создать пользователя zabbix:
useradd zabbix
Домашний каталог и пароль для этого пользователя не нужен. От его имени будут работать как сервер, так агент, поэтому для осуществления некоторых проверок этому пользователю понадобятся дополнительные права. Для этого можно будет включать его в разные группы, но это на первых порах необязательно.
При необходимости, в каталоге
misc
дистрибутива есть примеры конфигурационных файлов, а также стартовых скриптов для запуска агента и сервера под несколько популярных операционных систем: debian, fedora, freebsd, gentoo, redhat, suse, tru64.
Начальная конфигурация сервера
Конфигурируем базу данных. Для MySQL это делается так: сначала создаём базу в phpMyAdmin или в командной строке mysql. Даём на базу необходимые права (при необходимости создаём пользователя, ну например, zabbix). Далее, необходимо заполнить базу:
cat create/schema/mysql.sql | mysql zabbix cat create/data/data.sql | mysql zabbix cat create/data/images_mysql.sql | mysql zabbix
Все параметры базы данных нужно записать в конфиг сервера zabbix_server.conf:
DBHost=localhost DBName=zabbix DBUser=root DBPassword=
Остальные параметры могут понадобиться для улучшения производительности. Для первоначальной конфигурации указанных достаточно. После этого можно начинать пытаться запустить сервер командой
zabbix_server
Как правило, сервер запускается и форкает несколько дочерних процессов. В случае неудачи стоит посмотреть лог-файл – в нём подробно будут указана причина. Довольно часто сервер не может запуститься из-за очевидных, но регулярных “граблей”: не создан пользователь zabbix, нет прав на запись в лог-файл или в pid-файл, неправильные параметры подключения к базе данных. Думаю, их разрешение достаточно очевидно.
Начальная конфигурация агента
Агент zabbix может работать в двух режимах: обычном – как демон (zabbix_agentd) и через inetd (zabbix_agent). Конфигурация в обоих случаях одинаковая, различаются лишь конфигурационные файлы:
zabbix_agentd.conf
и
zabbix_agent.conf
.
Для работы агента необходимо всего лишь прописать в его конфигурационном файле IP-адрес сервера. По умолчанию параметр
Server=127.0.0.1
. Иначе, агент не будет обслуживать запросы от “неизвестной” машины. Кроме того, необходимо убедиться, что лог-файл агента и pid-файл агента находятся в каталоге, который доступен для записи пользователю zabbix. Это может быть или каталог
/tmp
или
/var/log/zabbix
– при сборке zabbix в RPM указывается именно этот каталог. Естественно, каталог должен быть и иметь соответствующие права.
Начальная конфигурация фронтенда
Для управления системой мониторинга и чтения данных используется PHP-фронтенд. Он может быть установлен как на той же машине, где работает zabbix-сервер, так и на другой – главное, чтобы был доступ к базе данных zabbix. В любом случае, фронтенд требует для работы Web-сервер и интерпретатор PHP с поддержкой того типа баз данных, который вы выбрали. Фронтенд , как и сервер необходимо настроить на работу с базой данных. Сначала нужно скопировать содержимое каталога frontends/php из дистрибутива в каталог htdocs вашего Web-сервера (или виртуального сервера). При первом заходе на страницу запустится мастер, который шаг за шагом проверит возможности Web-сервера, инетрпретатора PHP и сконфигурирует подключение к базе данных (параметры подключения нужно указывать такие же, как у сервера zabbix). Для сохранения конфигурационного файла каталог conf и фал conf/zabbix.conf.php должны быть доступны на запись пользователю процесса Web-сервера.
После успешной установки фронтенда вы увидите экран входа в интерфейс управления системой мониторинга. Пользователь для входа по умолчанию admin без пароля. Войдя в систему, нужно сменить ему пароль, завести других пользователей и можно начать настраивать zabbix. Но об этом – уже в следующий раз.
Сколько можно? Изучите систему, перед тем как писать о ней статьи.
Никогда не ставьте программы посредством ‘./configure; make; make install’. Так вы напоминаете мне 14-летнего школьника, который вдруг решил “напесать статью”.
Необходимо в первую очередь ставить программы из репозиториев вашего дистрибутива. Если в вашем репозитории слишком старая версия программы (и она вам не подходит), надо в первую очередь поискать backport.
Если и это не помогло , то тогда уже надо собирать программу из исходников. Нельзя пользоваться ‘./configure; make; make install’, потом такой софт отследить будет практически невозможно. Необходимо использовать, например, checkinstall, для создания пакета необходимого вам формата.
Извините за критику, но такое ощущение, что вы не прочли ни одного faq. Рекомендую проштудировать lor-faq. Сэкономите себе и другим не один час времени 🙂
Уважаемый Василий!
Сколько можно? Прочитайте статью перед тем, как писать о ней критические комментарии.
Я предложил 2 (два) способа инсталляции (посредством ./configure; make; make install и через rpmbuild), Вы выбрали из них именно тот, который Вам почему-то не угодил (Вас в детстве обидел configure?) и запретили им пользоваться, мотивируя это тем, что я “напоминаю 14-летнего школьника”.
Репозитории моего дистрибутива SuSE не содержат zabbix, поэтому я собираю его с помощью RPMBuild, репозитории Slackware также не содержат zabbix и я собираю его из исходников, как указал в статье. Извините, если чем не угодил. Если у Вас есть что-то сказать по поводу Debian, Ubuntu или ещё каких-то дистрибутивов – добро пожаловать, пишите комменты, а ещё лучше – статью. С удовольствием её прочитаю.
Мне не нужно “отслеживать” софт, я просто с ним работаю.
о блин! набежали красноглазые. и здесь от ЛОРа никуда. LOR-FAQ тоже мне, библия для чайников.
BTW: поискал я твой чекинстал: “checkinstall 1.0 Наиболее полезная утилита для начинающих пользователей. Помогает в процедуре инсталяции.” лол! хоть бы не позорился
О вы видать ничего не слыхали? Нечего тут мудрить и пугать нас “неконтролируемым” софтом (не на винде все-же работаем :)). Я вот уже лет десять как на Линуксе и ничего – совмещаю пакетную установку с ручной (правда с ней в связке юзаю вышеупомянутый paco: надо – скомпилил/установил, ненадо – удалил как обычный rpm/deb). Так что, кто тут школьника напоминает и кому факи штудировать это еще вопрос…
Автору: забей на этих “псевдо-гуру” (всегда найдется тот, кому охота облить кого-то грязью, хотя самому что-то умное черкануть – как всегда слабо) и продолжай делать свое дело (так держать!).
Не стОит быть таким категоричным, сынок. На вкус и на цвет – все фломастеры разные. Вон народ на твоем же любимом лоре бодается: http://www.linux.org.ru/jump-message.jsp?msgid=2671075
Прикрутили бы УТФ к заббиксу и другие баги пофиксили, был бы я рад:) Кстати в 1.5 сломали график для отрицательных чисел.
А в 1.5 и UTF тоже прикрутили (правда, пока к фронтенду)
в Ubuntu так же руками собирают
кому, на самом деле, configure помешал?
Уведомление: Устанавливаем систему мониторинга zabbix | Для системного администратора
запинали “папку”))))
Статья помогла. Спасибо. Частности – при установке на SUSE 11.0 пакеты нашлись в репозитории производителя, дальше небольшие отличия – может, кому пригодится:
исходное состояние – mysql jabbix установлены, jabbix-agent запущен, в mysql база jabbix создана, далее
создал пользователя jabbix в базе и создал ему права:
mysql> GRANT ALL ON jabbix.* TO ‘jabbix’ IDENTIFIED by ‘пароль’;
а “трудным” местом для меня оказалось создать конфигурацию базы, разрешилось так:
перешел в каталог со схемой (это где лежит документация zabbix) и отработал упомянутый cat
/usr/share/doc/packages/zabbix-server # cat mysql.sql | mysql zabbix -u root -p
Enter password: – и ввел пароль, (это пароль рута mysql, который создан #/usr/bin/mysqladmin -uroot пароль).
У меня были такие проблемы при установке веб-морды:
1. Истерические вопли PHP, что заголовки уже отправились: Cannot modify header information – headers already sent
Лечится включением
output_buffering = On
в php.ini
2. После установки галки I Agree на втором слайде инсталлятора происходит переход обратно на первый слайд. Решение пришло неожиданно: заменить файрфокс на оперу.
Кстати, после
GRANT ALL ON jabbix.* TO ‘jabbix’ IDENTIFIED by ‘пароль’;
не забываем flush privileges 🙂
Вопрос насущный: я облазил уже почти весь инет, но так и не нашел описание в мануалах или на форумах про галочку в Use extended… ставим эту галочку и вылазиет огромный список… вопрос заключается в следующем: Что и как заполнять в этом списке(часть я уже понял, но хотелось бы узнать все и поподробнее…с примером)?
Это про “Use extended profile” в конфигурации хоста?
да..если есть ссыл где ет все описыватся буду благодарен..или если сможешь сам обьясни….я никак все поля полностью запонить не могу((
Да их и не нужно прямо все заполнять: это скорее заметки для админа, хочешь — заполняй, не хочешь — как хочешь…
Не могу при установке получить доступ к веб-интерфейсу, пишет, что “ZABBIX is temporary unavailable!” и сверху надпись из конфига “# This file is a place-holder. When you run through the zabbix # web setup, a proper configuration file should be generated # for you to drop in this location. “.
zabix-server запускается, но в процессах вижу только пару десятков строчек “zabbix_server_mysql -c /etc/zabbix/zabbix_server.conf”. Кстати, это нормально, что их такое количество? В логах ни на что не ругается вроде бы.
Подскажи, плз, что где можно посмотреть?
Версия 1.6.2
Система Fedora 10.
Ставил посредством yum.
Прежде всего давайте определимся: сервер работает сам по себе, веб-интерфейс — сам по себе (они даже могут работать на разных машинах — сервер, интерфейс и база данных).
То, что у вас в процессах есть сервер, говорит о том, что в его конфиге (/etc/zabbix/zabbix_server.conf) содержатся правильные параметры подключения к базе. В этом же конфиге содержатся и данные по количеству процессов сервера (а их есть несколько типов, хотя и называются они одинаково).
Теперь осталось настроить Web-интерфейс. Для этого нужно просто запустить php-скрипт http://zabbix.ваш-сервер.ru/instal.php и ввести параметры подключения к базе, которые можно взять в том же /etc/zabbix/zabbix_server.conf. В скрипте есть даже кнопка тестирования коннекта к базе. Для того, чтобы скрипт смог сохранить настройки, файл /путь_к_zabbix/frontends/php/conf/zabbix.conf.php должен быть доступен на запись для веб-сервера. После того, как скрипт отработает, конфиг можно опять сделать read-only.
Там дело как раз в том, что скрипт установки не запускается. Как в процессе выяснилось, это известная фишка установки версии 1.6.2 под десятой федорой – в скрипте неправильно прописано имя какого-то файла и установка не запускается.
У меня вылечилось заполнением конфига вручную, теперь все работает.
Спасибо за ответ.
Подробное руководство как установить Zabbix 1.6.5 читайте здесь:
http://sysadminpages.com/2009/07/freebsd-installing-zabbix/
Пиаримся помаленьку? 😉