Устанавливаем систему мониторинга zabbix

Итак, поговорив немного о возможностях системы мониторинга 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 указывается именно этот каталог. Естественно, каталог должен быть и иметь соответствующие права.

Установка агента под Windows

Начальная конфигурация фронтенда

Для управления системой мониторинга и чтения данных используется PHP-фронтенд. Он может быть установлен как на той же машине, где работает zabbix-сервер, так и на другой – главное, чтобы был доступ к базе данных zabbix. В любом случае, фронтенд требует для работы Web-сервер и интерпретатор PHP с поддержкой того типа баз данных, который вы выбрали. Фронтенд , как и сервер необходимо настроить на работу с базой данных. Сначала нужно скопировать содержимое каталога frontends/php из дистрибутива в каталог htdocs вашего Web-сервера (или виртуального сервера). При первом заходе на страницу запустится мастер, который шаг за шагом проверит возможности Web-сервера, инетрпретатора PHP и сконфигурирует подключение к базе данных (параметры подключения нужно указывать такие же, как у сервера zabbix). Для сохранения конфигурационного файла каталог conf и фал conf/zabbix.conf.php должны быть доступны на запись пользователю процесса Web-сервера.

После успешной установки фронтенда вы увидите экран входа в интерфейс управления системой мониторинга. Пользователь для входа по умолчанию admin без пароля. Войдя в систему, нужно сменить ему пароль, завести других пользователей и можно начать настраивать zabbix. Но об этом – уже в следующий раз.

Устанавливаем систему мониторинга zabbix: 21 комментарий

  1. Сколько можно? Изучите систему, перед тем как писать о ней статьи.

    Никогда не ставьте программы посредством ‘./configure; make; make install’. Так вы напоминаете мне 14-летнего школьника, который вдруг решил “напесать статью”.

    Необходимо в первую очередь ставить программы из репозиториев вашего дистрибутива. Если в вашем репозитории слишком старая версия программы (и она вам не подходит), надо в первую очередь поискать backport.

    Если и это не помогло , то тогда уже надо собирать программу из исходников. Нельзя пользоваться ‘./configure; make; make install’, потом такой софт отследить будет практически невозможно. Необходимо использовать, например, checkinstall, для создания пакета необходимого вам формата.

    Извините за критику, но такое ощущение, что вы не прочли ни одного faq. Рекомендую проштудировать lor-faq. Сэкономите себе и другим не один час времени 🙂

  2. Уведомление: Устанавливаем систему мониторинга zabbix | Для системного администратора

  3. Статья помогла. Спасибо. Частности – при установке на 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 пароль).

  4. У меня были такие проблемы при установке веб-морды:
    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 🙂

  5. Вопрос насущный: я облазил уже почти весь инет, но так и не нашел описание в мануалах или на форумах про галочку в Use extended… ставим эту галочку и вылазиет огромный список… вопрос заключается в следующем: Что и как заполнять в этом списке(часть я уже понял, но хотелось бы узнать все и поподробнее…с примером)?

  6. Не могу при установке получить доступ к веб-интерфейсу, пишет, что “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 под десятой федорой – в скрипте неправильно прописано имя какого-то файла и установка не запускается.
        У меня вылечилось заполнением конфига вручную, теперь все работает.
        Спасибо за ответ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *