среда, 10 октября 2012 г.

Установка системы мониторинга - zabbix

Доброго времени суток. В данную серию статей я хочу посвятить одной из замечательных систем мониторинга - zabbix. По долгу службы пришлось мне искать систему мониторинга. Я останавливался на nagios, cacti, mrtg. Но они мне не подошли. И вот я нашел zabbix. Ознакомившись с документацией, я понял, что zabbix - это то, что надо...

И так, что же такое zabbix? Zabbix - это система распределенного мониторинга, которая позволяет мониторить многочисленные параметры сети и узлов сети. Zabbix распространяется под лицензией GPL, а это означает - она бесплатна.

Возможности zabbix

Как я уже говорил выше, zabbix обладает огромными возможностями, а конкретно:
  • мониторинг доступности
  • мониторинг по SNMP
  • мониторинг по IPMI
  • мониторинг по JMX
  • собственная настройка порогов срабатывание проблемы
  • настройка оповещений
  • группировка по хостам, по собираемым данным
  • использование шаблонов
  • система прав доступа
  • и многое другое

Подготовка к установке zabbix

Сразу хочу отметить, что установку я буду производить на Linux, а точнее на Ubuntu Server.
Установку я буду производить из исходников. Поэтому давайте в начале скачаем исходный код Zabbix с официального сайта.
Разархивируем скачанный архив. Для этого переходим в директорию с архивом и вводим комманду:
 

 $ tar -zxvf zabbix-2.0.0.tar.gz
 
 Отлично. Следующим этапом необходимо подготовить нашу систему к установке zabbix. Нам понадобятся следующие пакеты:

  • snmp
  • libsnmp-dev
  • snmpd
  • libcurl4-openssl-dev
  • fping
Этих пакетов достаточно для того, чтобы zabbix смог опрашивать узлы на доступность и собирать информацию по SNMP.
Если данные пакеты не установлены в системе, установим их:

sudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
 

После того как все необходимые пакеты установлены, необходимо создать группу zabbix и пользователя zabbix:
 

groupadd zabbix
useradd -g zabbix zabbix
 

Теперь нужно подготовить базу данных. Zabbix может работать как с MySQL, так и с PostgreSQL. (поддерживает и другие, Вы можете ознакомиться в официальной документации). Производитель рекомендует использовать в качестве сервера базы данных PostgreSQL, если Вы собираетесь мониторить более 50 узлов.
Но я использую MySQL и на данный момент у меня на мониторинге стоит 123 узла - пока проблем не наблюдал. В дальнейшем планируется увеличение узлов, тогда и посмотрим. И так, создаем базу данных в MySQL:
 

shell> mysql -u <имя пользователя> -p
<пароль>
mysql> create database zabbix character set utf8
mysql> quit
 

Теперь заходим в директорию с разархивированными исходниками zabbix. В ней в директории ./database/mysql/ находятся три файла:
  1. schema.sql
  2. images.sql
  3. data.sql
И запускаем их на исполнение:

mysql -u <пользователь> -p < schema.sql

или из самого mysql:

mysql>use zabbix
mysql>source schema.sql
 

По аналогии запускаем и остальные файлы images.sql и data.sql
Порядок обязателен.
Все на этом этап подготовки к установке завершен. Теперь можно приступить к самой установке zabbix.

Установка мониторинга zabbix

Переходим в директорию с кодом zabbix и запускаем:
 

sudo ./configure --enable-server --enable-agent --with-mysql --with-net-snmp  --with-libcurl
 

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

sudo make install
 

На этом установка завершена. Осталось произвести небольшую конфигурацию сервера и агента zabbix.

Первоначальная настройка zabbix

Для работы zabbix сервера необходимо произвести первоначальные настройки. Открываем файл конфигурации /usr/local/etc/zabbix_server.conf (так в Ubuntu) и редактируем его:
 

DBName=[имя базы данных, у меня zabbix]
DBUser = [имя пользователя доступа к MySQL]
DBPassword = [пароль доступа к базе данных]
 

Вот в принципе и все. Если у Вас MySQL настроен по умолчанию, то все должно заработать.
Теперь настроим агент zabbix. Если zabbix агент находится на той же машине, где и zabbix сервер, то ничего менять не надо. Если же zabbix агент находиться на другой машине, то открываем /usr/local/etx/zabbix_agentd.conf ищем строку Server=127.0.0.1 и заменяем на Server=[адрес zabbix сервера]
Вот и все. Запускаем zabbix сервер и агент командами:
 

zabbix_server
zabbix_agentd
 

Пришло время к установке web интерфейса для zabbix.

Установка web интерфейса zabbix

 Создаем виртуальный хост zabbix, как это сделать я писал в своей статье про создание виртуального хоста. Копируем в директорию созданного виртуального хоста файлы из директории с zabbix/frontends/php
Заходим на наш хост. Тут нужно немного подправить наш php.ini согласно требованиям zabbix.

  • memory_limit - задает максимальную величину использования памяти скриптом
  • post_max_size - устанавливает максимальный размер данных передаваемых методом POST
  • upload_max_filesize - максимальный размер загружаемого файла
  • max_execution_time - время выполнения скрипта
  • max_input_time - максимальное время в секундах, в течение которого скрипт должен разобрать все входные данные
  • timezone - в php.ini date.timezone, устанавливает часовой пояс
Дальше идут расширения PHP
  • datebase support - тип базы данных
  • bcmath - вычисления с произвольной точностью
  • mbstring - работа с многобайтными строками
  • sockets - работа с сокетами
  • gd - графическая библиотека
  • и др.
Перезапускаем сервер apache.
После того как все требования zabbix будут удовлетворены, можно перейти к следующему шагу.


На этом шаге нам надо выбрать тип базы данных (в моем случае это MySQL), укаазать адрес сервера (у меня localhost), название базы данных (для моего случае это zabbix), логин и пароль для доступа к базе данных:
 После ввода всех данных жмем “Test connection”, если тест прошел успешно переходим к следующему шагу, если же нет, то проверяем введенные данные.
На следующем шаге вводим информацию по zabbix серверу: адрес, порт, название.
 Переходим к следующему шагу. На этом шаге проверяем всю введенную информацию
 Если вся информация введена правильно - переходим к установке, нет - возвращаемся и исправляем.
 Как видите у меня все прошло успешно. Учтите, что файл zabbix.conf.php должен быть открыт на запись. Как это сделать я описывал в своей статье об изменении прав доступа Жмем “Finish”. И переходим к окну авторизации.
 По умолчанию логин - Admin, пароль - zabbix.
На этом установка завершена.
Давайте рассмотрим проблемы с которыми я столкнулся при установке zabbix и как их решить.


Проблемы возникающие при установке zabbix и их решение


Во время установки мониторинга я столкнулся с двумя ошибками:
  1. При выполнении configure у меня выскочила ошибка “MySQL library not found”. Решается данная проблема легко, путем установки libmysqlclient16-dev
  2. Вторая ошибка выскочила при выполнении make install “The programm ‘make’ is currently not installed”. Тут все просто, у меня не установлена программа make.
Больше при установке zabbix проблем не возникло. Если же у Вас что-то пошло не так и Вы не знаете как это решить или решили - делитесь в комментариях. Думаю это будет полезно всем.
А на этом я завершаю статью, посвященную установке мониторинга zabbix. В следующей статье мы познакомимся с основными понятиями, затем разберем интерфейс и перейдем к настройке мониторинга хостов (устройств нашей сети). Так, что следите за выходом новых статей.

Понравилась статья? Поблагодарить автора:

Введите e-mail адрес:



0 коммент.:

Отправить комментарий