Начинаем использовать zabbix. Статья номер 1

Лирическое вступление

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

Знакомимся Zabbix


Zabbix это open source решение которые является одним из самых (если не самым) лучшим решением по полному циклу мониторинга вашей сети и устройств в ней.

Что может Zabbix ?

* Легкий в управление вэб интерфейс управления всем.
* Сервер Zabbix запускается на множестве Unix-like системах к примеру Linux, AIX, FreeBSD, OpenBSD и Solaris.
* Клиент ( с помощью которого выполняется сбор информации ) может быть установлен практически на все Unix подобные системы и также на ОС семейства Windows.
* Есть возможность прямого мониторинга SNMP (v1,2, и 3 ) и устройств поддерживающих IPMI.
* Встроенные графики и другие визуальные составляющие удобного мониторинга.
* Гибкие конфигурации включающие шаблоны для удобства и простоты настройки.
* И множество других возможностей которые помогут создать любые решения в аспекте мониторинга.



Из чего состоит Zabbix и какие у него зависимости от своих компонентов.
Zabbix server – собственно сам сервер, написан на С обязательно должен быть связан с как минимум двумя компонентами :
zabbix data base – база данных где хранятся все данные.
zabbix frontend – GUI написанный на PHP.
Далее.
Zabbix agent – агент который установлен на серверах разных платформ собирает и отправляет данные на Zabbix server.
И последний компонент – zabbix proxy, необходим для преодоления firewall на пути к zabbix agent от zabbix server и обратно.

Установка


Итак, перед установкой необходимо учитывать следующие :
памяти от 256 МБ ( все зависит от того с каким объемом информации столкнется zabbix )
Установленный apache + php + mysql server – на этом дополнительно останавливаться смысла нету.

Решили. Установка :


Пример Debian 6.0
#apt-get update
#apt-cache search zabbix
zabbix-agent – network monitoring solution – agent
zabbix-frontend-php – network monitoring solution – PHP front-end
zabbix-proxy-mysql – network monitoring solution – proxy (using MySQL)
zabbix-proxy-pgsql – network monitoring solution – proxy (using PostgreSQL)
zabbix-server-mysql – network monitoring solution – server (using MySQL)
zabbix-server-pgsql – network monitoring solution – server (using PostgreSQL)

Нам для работы понадобится следующие компоненты :


zabbix-agent – агент для сбора информации ( как минимум мы хотим получать информацию с сервера на котором будет запущен zabbix )
zabbix-frontend-php – web GUI – куда ж без него ;)
zabbix-server-mysql – сам сервер заточенный под БД Mysql.
*zabbix-proxy-mysql – необходимо ставить по надобности – и не на той же машинке что и сервер – т.е за firewall.
apt-get install zabbix-agent zabbix-frontend-php zabbix-server-mysql

FreeBSD 8.2
#cd /usr/ports
#make search key=zabbix
Результат который подлежит установке
Path: /usr/ports/net-mgmt/zabbix
Path: /usr/ports/net-mgmt/zabbix-agent

После установке проверяем чтобы был запущен и server и agent
Порт который слушает сервер – 10050. Агент – 10051
netstat -ntpl | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 26699/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 25639/zabbix_server

Результат нас более чем устраивает ?

Тогда подключаемся к zabbix через web интерфейс http://server_ip_or_name/zabbix
логин по умолчанию : admin
пароль по умолчанию : zabbix
Далее мы отвечаем на вопросы – и настраиваем всю связанность между частями Zabbix – а также подготавливаем его к работе = там ничего сложного нету – просто следуйте инструкциям.

Первый успех, перед нашим взором zabbix GUI. Выбираем меню
Отчеты вкладочку Состояние Zabbix
Самая первая строка должна быть :
Zabbix сервер запущен Да -
Вторая строка :
Количество узлов сети (контролируется/не контролируется/шаблоны/удалено) 43 0 / 1 / 42
Так … какие такие 43 узла ? мы же только установили чистый Zabbix. Ответ на вопрос в следующей колонке – первый 0 – это количество узлов которые контролирует Zabbix. вторая 1 означает
сколько узлов Zabbix не контролирует. И 42 шаблона хостов. Уже понятней. Но я для полной ясности зайдем в Настройки вкладка Узлы Сети.
Вот тот единственный узел который отмечен как не контролируется в Состоянии – это собственно сам Zabbix Server, все логично.
После установки и первого взгляда на WEB GUI – немного рассмотрим Zabbix так сказать изнутри – т.е из консоли, несмотря на то что он полностью конфигурируется с Web интерфейса – файлы конфигурации и логирования надо знать так сказать в лицо. Итак файлы конфигурации находятся в /etc/zabbix ( рассматриваем на примере Debian 6.0 ).

apache.conf dbconfig.php zabbix_agent.conf zabbix_agentd.conf zabbix_server.conf

apache.conf – ссылка на него находится в /etc/apache2/conf.d – это чтобы apache2 знал о местоположении вашего WEB GUI и по какому адресу его отобразить.

dbconfig.php файл настройки работы с БД. Также там установлен логин пароль по умолчанию для доступа к PHP GUI.

zabbix_agent.conf – глобальные настройки агента. На нем немного задержимся. В нем есть интересная опция
Server=
она определяет с какого адреса агент будет слушать обращения сервера. Пример :
Server=1.2.3.4,1.2.3.10 – в данном случае сервера два ip выбраны совершенно случайно. Важно помнить что если адрес сервера указан не будет то все обращения с него будут игнорироваться ! А в логи вы получите примерно такие сообщения :
error: Got empty string from Assuming that agent dropped connection because of access permissions ( c указанием адресов конечно же .)

zabbix_agentd.conf – конфигурация самого демона агента.
Интересные опции -
Путь куда будет ложиться файл с логами работы демона ( если действительно есть необходимость его менять .)
LogFile=
Количество агентов запущенных по умолчанию вместе со стартом агента ( имеет смысл уменьшать только в том случае если задач на него положено будет мало – и память не позволяет держать их в запущенном состоянии .)
StartAgents=

zabbix_server.conf – собственно сам файл конфигурации сервера.
Интересная опция
# Source IP address for outgoing connections
SourceIP=
Тут необходимо указать внешний IP для исходящих соединений. Т.е если к примеру тут будет localhost
то даже простой пинг (ping ) с zabbix сервера будет проблемой. И не будет работать правило авто обнаружения – ( да, да в zabbix есть такая возможно – указываете сети – и он автоматически находит все доступные узлы .) Так что будьте внимательны.

И также указать чтобы zabbix знал путь к fping, опять же для работы ping с zabbix. ( немного ниже будет еще информация о настройке ping в zabbix )
FpingLocation=

LogFile= и StartAgents= описанные выше. А также там тоже указан логин пароль и адрес доступа к БД.

log файлы ( если вы не меняли пути к ним в соответствующих опциях конфигурационных файлов описанных выше ) находятся в /var/log/ в каталогах :
zabbix-agent/
zabbix-server/
соответственно.

Также чтобы не столкнуться с неработающем ping в zabbix необходимо сделать некоторые манипуляции –
при использовании в zabbix icmpping – будет использована утилита fping, необходимо дать ей необходимые права и возможности запуска ее от пользователя zabbix :
Найдите ее
locate fping
или
find / | grep fping
после к примеру так ( зависит от пути по которому вы fping нашли )
chown root:zabbix /usr/sbin/fping
chmod 710 /usr/sbin/fping
chmod ug+s /usr/sbin/fping
И указываем найденный нами путь ( рассмотрен немного выше ) в файле /etc/zabbix/zabbix_server.conf
FpingLocation=/usr/sbin/fping

Возвращаемся к Web интерфейсу.
Пробуем свои силы с Zabbix. Настраиваем первые уведомления.

Прежде всего нам необходимо усвоить базовые концепции Zabbix -
а именно :


* Навигация в web GUI интерфейсе Zabbix.
* Создание/добавление нового узла для мониторинга и настройка его.
* Просмотр поступающей информации, поиск в ней и способы построения по ней графиков.
* Установление значений порогов и сигналов.
* Настройка Zabbix для отправки уведомлений ( к примеру email ) когда пороги пересечены.
* Настройка проблем по которым вы бы хотели получать уведомление.


Начнем с Навигации. Корневое меню состоит из -
Мониторинг Инвентаризация Отчеты Настройка Администрирование

Мониторинг – в этой категории вы сможете рассмотреть полученные данные, сигналы о проблемах и графики все здесь.
Инвентаризация – тут находится данные о системах которые мы мониторим – заполнять ее нужно для удобства и понятности.
Отчеты – Тут просматриваем отчеты, самый удобный способ получить отчет от систем которые мониторим.
Настройка – Тут все о том что и как должно быть настроено для мониторинга – параметры, отправка сообщений…
Администрирование – это глобальные настройки Zabbix – пользователи, способы доступа …

Надо корневым меню находится небольшое мини-меню состоящие из :

Помощь|Поддержка|Печать|Профиль|Выйти из системы

Думаю дополнительных вопросов оно не вызовет. Советую зайти во вкладку Профиль и сменить пароль. Также там можно настроить автоматический вход в Zabbix (используются cookie).

Так как статья и так уже выросла до неудобной в чтении – продолжении в статье номер 2.
В следующей статье будет настроен простой но полноценный мониторинг сети с помощью команды ping используя все прелести zabbix.

Начинаем использовать zabbix. Статья номер 1

ссылка: http://ifreebsd.org/linux/начинаем-использовать-zabbix-статья-номер-1/

Обновлено: 13.03.2015