Pull to refresh

Обзор php-frontend'а системы мониторинга Zabbix

System administration
Здравствуйте, хабраюзеры!

Я думаю, каждый уважающий себя системный администратор локальной сети установит систему мониторинга, чтобы быть в курсе всех изменений и событий. Я хочу рассказать про систему мониторинга Zabbix, а точнее про его php-frontend. Здесь только мой личный опыт полученный на реальной локальной сети.

Создание пользователя


Будем считать, что у нас Zabbix-сервер установлен и прикручен php-frontend. Зайдем под логином admin и паролем zabbix (первый вход).
image

Первым делом предлагаю добавить своего пользователя и удалить дефолтную учетку Admin. Заходим Администрирование-Пользователи, в выпадающем меню в правом верхнем углу выбираем пользователи и жмакаем на кнопку добавить пользователя.
image

Далее заполняем форму и советую выбрать русский язык. Перезаходим под новой учеткой.

Узлы сети


Самое главное меню в заббиксе это Настройка-Узлы сети. Здесь находятся машины(и не только), за которыми мы наблюдаем. У меня эта страница выглядит так.
image
Для каждого узла сети есть настройки:
  • Группы элементов: здесь можно собрать в группу несколько элементов данных, например, элементы данных относящиеся к сети, к CPU, к дискам.
  • Элементы данных: это, проще говоря, источники различных данных от машин, отсюда идет вся информация о состоянии системы.
  • Триггеры: основываются на элементах данных, они следят за поступающими данными и, в случае отклонения от нормы, оповещают админов
  • Графики: наглядное изменение данных, поступающие от элементов данных, например скорость исходящих данных интерфейса sk0. Очень удобно разработан выбор интервала просмотра, можно выбирать как и на графике, так и на полосе прокрутки над графиком.
В каждой из 4-х настроек, конечно, можно добавлять свои группы элементов, свои элементы данных, триггеры и графики.
К каждому узлу, желательно, прикрепить шаблон элементов данных, их уже заботливо подготовили разработчики. Есть шаблоны для Windows, Linux, Freebsd и др ОС. Шаблоны различаются разными путями получения данных.
Кроме этих 4-х настроек вы видите справа DNS узла сети, его IP, порт, на котором находится Zabbix Agent, присоединенный шаблон, состояние, наблюдается этот узел или нет, и доступность Zabbix Agent'а.
Добавьте узел сети, за которым вы хотите наблюдать и присоедините шаблон, соответствующий установленной ОС. Если вы хотите наблюдать за, например, Wi-Fi роутером, то вам достаточно его только пинговать. Как это сделать — объясню в следующей статье, если понадобится.

Способы оповещений


Итак, теперь у вы наблюдаете за сервером, теперь нужно настроить оповещение админов при отклонении данных от нормы. Для этого идем в Администрирование-Способы оповещений.
image
У меня настроено оповещение через скрипт, который отправляет письмо через скрипт на ящик админа. Способ оповещения по E-mail, а не через скрипт, требует какой-то дополнительной настройки штатной программы отправки E-mail. Поэтому проще через скрипт. При создании способа оповещения и выборе типа оповещения через скрипт, достаточно написать имя скрипта. Привожу текст скрипта.

#!/bin/sh

export smtpemailfrom=zabbix@domain.com #все, что вы желаете видеть в поле от кого
export smtpdomain=gmail.com #домен smtp сервера
export smtpserver=smtp.gmail.com #адрес smtp сервера
export smtplogin=login #ваш логин
export smtppass=password #ваш пароль

echo "From: \"Zabbix Monitor\" <$smtpemailfrom>" > /usr/home/zabbix/mailz
echo "To: $1" >> /usr/home/zabbix/mailz
echo "Subject: $2" >> /usr/home/zabbix/mailz
echo "" >> /usr/home/zabbix/mailz
echo "$3" >> /usr/home/zabbix/mailz

/usr/local/bin/nbsmtp -d $smtpdomain -f $smtpemailfrom -h $smtpserver -U $smtplogin -D -s -P $smtppass -S < /usr/home/zabbix/mailz
rm /usr/home/zabbix/mailz

Здесь приведен скрипт отправки на почту gmail. Достаточно установить программу nbsmtp из портов FreeBSD, на Linux, я думаю, такая программа тоже есть. Сам скрипт лежит в /usr/home/zabbix/bin/, т.е. в домашней папке пользователя zabbix, нужно создать в ней папку bin и положить скрипт с именем smtp и выполнить chmod +x smtp.
Также нужно указать в конфиге zabbix_server.conf параметр, где лежат скрипты способов оповещения.

...
AlertscriptsPath=/usr/home/zabbix/bin/
....

Теперь нужно подредактировать своего пользователя в zabbix'е и добавить способы оповещения, если вы этого еще не сделали. У меня настроено отправка на почту и на телефон смс-кой(сервис билайн), такая же фича доступна для абонентов мегафон. У оператора создается e-mail ящик, и входящие письма на этот ящик пересылаются вам смской на телефон. В этом случае вы будете всегда своевременно получать оповещения от заббикса.
image
При добавления способа оповещения можно указать при какой важности будет использоваться данный способ оповещения, например, на почту могут идти все оповещения, а на телефон только важные и чрезвычайные.

Действия


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

  • Имя — имя действия
  • Событие — за чем следит действие, в данном случае за триггерами
  • Тема — какая будет тема в e-mail сообщении
  • Сообщение — что будет написано в теле сообщения
  • Условие действия — это условие, при котором действие будет выполнено. У меня настроено, так что сообщение будет отправлено, если сработает триггер с важностью больше «высокой».
  • Операции действия — это то что должно выполнится после срабатывания условия. В данном случае у меня настроено отправка е-mail сообщения пользователю Notification.

Теперь мы будем получать своевременно оповещения от заббикса при отклонении триггеров.

Комплексные экраны


Следующее меню, что желательно настроить это комплексные экраны.
image
Комплексный экран это группа однотипных графиков разных машин. Например, загрузки CPU всех машин. Это очень наглядно и приятно :)
Давайте посмотрим как создать комплексный экран. Как всегда в правом верхнем углу щелкнем на кнопку создать комплексный экран, здесь будет предложено ввести лишь имя и размер комплексного экрана. После создания щелкаем по имени комплексного экрана, перед нами появится сетка и в каждой ячейке кнопка изменить. Изменяем каждую ячейку под нужный график и сохраняем. Посмотреть комплексные экраны в действии можно в Мониторинг — Комплексные экраны.
image

Обнаружение


Так же ради любопытства можно настроить обнаружение компьютеров в сети. Делается это с помощью меню Настройка-Обнаружение
image
В моем случае это пригодится узнать, какие IP никогда не использовались и которые можно удалить из базы DHCP, т.к. пространство IP у нас не резиновое. При создании правила обнаружения достаточно указать диапазон сканируемых IP и что проверить: ping, http, samba и т.д.

Вот все основное в zabbix'е, что я хотел рассказать вам. Если понравилась статья, то могу написать вторую, как добавлять свои элементы данных(это будет интересно, скорее всего только FreeBSD'шникам), как можно контролировать Wi-Fi роутеры и вообще подробней обо всем. За размер изображений не пинайте, наверно, не очень приятно сделал.
Tags:freebsdzabbix
Hubs: System administration
Total votes 47: ↑39 and ↓8 +31
Views16K

Popular right now

Node.js: серверный JavaScript
June 28, 202127,000 ₽Loftschool
Основы вёрстки сайтов
June 28, 202120,000 ₽Loftschool
Веб-дизайнер
June 28, 202183,000 ₽GeekBrains
Backend разработчик
June 28, 202137,000 ₽Loftschool
SMM-менеджер
June 28, 202196,900 ₽Нетология

Top of the last 24 hours