Skip to main content

Знакомство с системой мониторинга Zabbix

Поискав на просторах интернета систему мониторнига для сети и сетевых устройств, мой выбор остановился на Zabbix, как наиболее производительной и простой в настройке системе. Ниже будут изложены мои впечатления за неделю использования.

Установка Агентов

заббикс предлагает агентов для большинства типов систем,в моем случае — это 100% покрытие. Устанавливаются как сервис. Настройка агентов тривиальна, минимальная требует указать только сервер мониторинга для отправки уведомлений и открыть порт в файрволе. в принципе и то и другое делается доменной политикой — нужно скопировать локально конфиг файл и бинарники агента, после чего выполнить
zabbix-agentd -i -c %config%
zabbix-agentd -s -c %config%

Минимальная конфигурация

Файл C:\zabbix.txt

Server=10.10.10.10,zabbix-server,127.0.0.1

Установка агента как сервиса

zabbix-agent -i -c "C:\zabbix.txt"

После чего сервис можно запустить через Панель Управления\Администрирование\Сервисы

Также необходимо на машине открыть 10050 порт на прием входящих подключений.

Установка Сервера

Пакеты заббикс сервера доступны в репозитории Ubuntu, поэтому с установкой тоже нет проблем. От конфигурирования файлов сервера я отказался ввиду того, что мне показалось геморным разбираться в этом, поэтому я сначала полез в веб-интерфейс.

sudo apt-get install zabbix-server-mysql zabbix-frontend

Впечатления

В первый момент система производит впечатления очень сложной и запутанной. Не сразу понятно, где надо добавлять элементы, как редактировать, как настраивать. Но постепенно разбираясь, понимаешь, что этим можно вполне успешно пользоваться.

Веб-интерфейс

Веб интерфейс большим удобством не отличается, но свою задачу выполняет — позволяет добавлять устройства для мониторинга, настраивать триггеры для уведомлений.

В интерфейсе присутствуют шаблоны для многих типов устройств, например Generic Windows, Generic Linux, Linux Server, Generic SNMP v1,v2, Шаблоны сетевых устройств и прочие.

Мне эти шаблоны показались не сильно удобными, потому что несмотря на их наличие даже простые шаблоны приходится допиливать самому (например менять имена отслеживаемых процессов), и не понятно, что проще, создать все правила с нуля или редактировать шаблоны (например, шаблон Generic Linux ждет на сервере запущенный «httpd» процесс, тогда как новый апач запускает процессы с именем «apache»).

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

Zabbix Dashboard
Dashboard

Для устройств, которые не поддерживают Zabbix агента, есть возможность мониторинга по SNMP, которая (в базовом варианте) позволяет получать информацию о состоянии сетевых интерфейсов. Также доступен мониторинг по IPMI, но протестировать мне пока не на чем.

Zabbix-procload
Пример мониторинга загруженности процессора. Видно резкий скачек после установки сервера "Spnx"

Добавление устройства

Для добавления устройства, на нем, в первую очередь должен быть установлен zabbix-agent или включен SNMP. Если хотя бы одно из двух работает — мы можем добавить устройства в Меню\Настройка\Узлы сети\Добавить. Там нужно задать параметры хоста (они понятны), принадлежность к группе, а также можно добавить несколько шаблонов мониторинга со стандартными значениями\триггерами.

Мониторинг

Послет того, как вы добавили устройство, сервер Zabbix должен успешно подключиться к новому устройству (горит зеленым хотя бы одно из Zabbix Agent\SNMP\IPMI на странице группы узлов). Если продолжительное время горят все красные — протестируйте подключение вручную (через telnet с сервера Zabbix) и перепроверьте настройки.

Как только сервер подключится к устройству — мониторинг будет происходить автоматически — zabbix-server будет опрашивать все устройства, к которым сможет подключиться. Все значения заносятся в MySQL\PgSQL базу. Если какое то значение ведет себя нестандартно (например uptime < 600) - вызывается соотвествующий триггер (например, "Host just has been restarted"). Триггерам можно присваивать уровень критичности (от info до critical). По каждому числовому значению можно построить график. Графики можно заносить в избранное. [caption id="" align="alignnone" width="820" caption="Uptime"]Uptime[/caption]

Zabbix Dashboard
CPU

Web-мониторинг

Zabbix поддерживает мониторинг веб сайтов. Делается это на основе тестов http запросов. Для каждого теста можно прописать порядок действий (подтестов), в которые включить такие вещи, как авторизацию, например. Для каждого теста можно задать код ответа и наличие требуемого текста на странице

Zabbix Dashboard
Web monitoring

Для этого у хоста надо сделать новую группу элементов данных, и в меню Настройка\Веб станет доступно создать сценарий.