Здравствуйте, хабраюзеры!
Я думаю, каждый уважающий себя системный администратор локальной сети установит систему мониторинга, чтобы быть в курсе всех изменений и событий. Я хочу рассказать про систему мониторинга Zabbix, а точнее про его php-frontend. Здесь только мой личный опыт полученный на реальной локальной сети.
Будем считать, что у нас Zabbix-сервер установлен и прикручен php-frontend. Зайдем под логином admin и паролем zabbix (первый вход).
![image](http://hostingkartinok.com/image/01201108/42de12c30bb8095503970ee1ae06302c.png)
Первым делом предлагаю добавить своего пользователя и удалить дефолтную учетку Admin. Заходим Администрирование-Пользователи, в выпадающем меню в правом верхнем углу выбираем пользователи и жмакаем на кнопку добавить пользователя.
![image](http://hostingkartinok.com/image/01201107/7440915cb0fcfaaab1d8797f61c01906.png)
Далее заполняем форму и советую выбрать русский язык. Перезаходим под новой учеткой.
Самое главное меню в заббиксе это Настройка-Узлы сети. Здесь находятся машины(и не только), за которыми мы наблюдаем. У меня эта страница выглядит так.
![image](http://hostingkartinok.com/image/01201107/68dfacaff512d3493d91c672ef9baaf4.png)
Для каждого узла сети есть настройки:
К каждому узлу, желательно, прикрепить шаблон элементов данных, их уже заботливо подготовили разработчики. Есть шаблоны для Windows, Linux, Freebsd и др ОС. Шаблоны различаются разными путями получения данных.
Кроме этих 4-х настроек вы видите справа DNS узла сети, его IP, порт, на котором находится Zabbix Agent, присоединенный шаблон, состояние, наблюдается этот узел или нет, и доступность Zabbix Agent'а.
Добавьте узел сети, за которым вы хотите наблюдать и присоедините шаблон, соответствующий установленной ОС. Если вы хотите наблюдать за, например, Wi-Fi роутером, то вам достаточно его только пинговать. Как это сделать — объясню в следующей статье, если понадобится.
Итак, теперь у вы наблюдаете за сервером, теперь нужно настроить оповещение админов при отклонении данных от нормы. Для этого идем в Администрирование-Способы оповещений.
![image](http://hostingkartinok.com/image/01201107/1e68c2ac074cb89f211ede911396b1c3.png)
У меня настроено оповещение через скрипт, который отправляет письмо через скрипт на ящик админа. Способ оповещения по E-mail, а не через скрипт, требует какой-то дополнительной настройки штатной программы отправки E-mail. Поэтому проще через скрипт. При создании способа оповещения и выборе типа оповещения через скрипт, достаточно написать имя скрипта. Привожу текст скрипта.
Здесь приведен скрипт отправки на почту gmail. Достаточно установить программу nbsmtp из портов FreeBSD, на Linux, я думаю, такая программа тоже есть. Сам скрипт лежит в /usr/home/zabbix/bin/, т.е. в домашней папке пользователя zabbix, нужно создать в ней папку bin и положить скрипт с именем smtp и выполнить chmod +x smtp.
Также нужно указать в конфиге zabbix_server.conf параметр, где лежат скрипты способов оповещения.
Теперь нужно подредактировать своего пользователя в zabbix'е и добавить способы оповещения, если вы этого еще не сделали. У меня настроено отправка на почту и на телефон смс-кой(сервис билайн), такая же фича доступна для абонентов мегафон. У оператора создается e-mail ящик, и входящие письма на этот ящик пересылаются вам смской на телефон. В этом случае вы будете всегда своевременно получать оповещения от заббикса.
![image](http://hostingkartinok.com/image/01201107/a7288f09c233f178ca8498f6510d090f.png)
При добавления способа оповещения можно указать при какой важности будет использоваться данный способ оповещения, например, на почту могут идти все оповещения, а на телефон только важные и чрезвычайные.
Следующим шагом будет настройка действий. Т.е. что нужно делать и при каких условиях.
![image](http://hostingkartinok.com/image/01201107/835383f7c5ab82f97e387d1d79e3f799.png)
В верхнем правом углу можно создать новое действие, рассмотрим что здесь нужно заполнить.
![image](http://hostingkartinok.com/image/01201108/db21f8755501a6285554c32b66d0e805.png)
Теперь мы будем получать своевременно оповещения от заббикса при отклонении триггеров.
Следующее меню, что желательно настроить это комплексные экраны.
![image](http://hostingkartinok.com/image/01201108/935fd80efb0fc1447ee93c9c947ed79e.png)
Комплексный экран это группа однотипных графиков разных машин. Например, загрузки CPU всех машин. Это очень наглядно и приятно :)
Давайте посмотрим как создать комплексный экран. Как всегда в правом верхнем углу щелкнем на кнопку создать комплексный экран, здесь будет предложено ввести лишь имя и размер комплексного экрана. После создания щелкаем по имени комплексного экрана, перед нами появится сетка и в каждой ячейке кнопка изменить. Изменяем каждую ячейку под нужный график и сохраняем. Посмотреть комплексные экраны в действии можно в Мониторинг — Комплексные экраны.
![image](http://hostingkartinok.com/image/01201108/55077c66c19c98cbbc92ca1b1ecadc07.png)
Так же ради любопытства можно настроить обнаружение компьютеров в сети. Делается это с помощью меню Настройка-Обнаружение
![image](http://hostingkartinok.com/image/01201108/8b0b59f3b77cd86c2fec6da66f8289ab.png)
В моем случае это пригодится узнать, какие IP никогда не использовались и которые можно удалить из базы DHCP, т.к. пространство IP у нас не резиновое. При создании правила обнаружения достаточно указать диапазон сканируемых IP и что проверить: ping, http, samba и т.д.
Вот все основное в zabbix'е, что я хотел рассказать вам. Если понравилась статья, то могу написать вторую, как добавлять свои элементы данных(это будет интересно, скорее всего только FreeBSD'шникам), как можно контролировать Wi-Fi роутеры и вообще подробней обо всем. За размер изображений не пинайте, наверно, не очень приятно сделал.
Я думаю, каждый уважающий себя системный администратор локальной сети установит систему мониторинга, чтобы быть в курсе всех изменений и событий. Я хочу рассказать про систему мониторинга Zabbix, а точнее про его php-frontend. Здесь только мой личный опыт полученный на реальной локальной сети.
Создание пользователя
Будем считать, что у нас Zabbix-сервер установлен и прикручен php-frontend. Зайдем под логином admin и паролем zabbix (первый вход).
![image](http://hostingkartinok.com/image/01201108/42de12c30bb8095503970ee1ae06302c.png)
Первым делом предлагаю добавить своего пользователя и удалить дефолтную учетку Admin. Заходим Администрирование-Пользователи, в выпадающем меню в правом верхнем углу выбираем пользователи и жмакаем на кнопку добавить пользователя.
![image](http://hostingkartinok.com/image/01201107/7440915cb0fcfaaab1d8797f61c01906.png)
Далее заполняем форму и советую выбрать русский язык. Перезаходим под новой учеткой.
Узлы сети
Самое главное меню в заббиксе это Настройка-Узлы сети. Здесь находятся машины(и не только), за которыми мы наблюдаем. У меня эта страница выглядит так.
![image](http://hostingkartinok.com/image/01201107/68dfacaff512d3493d91c672ef9baaf4.png)
Для каждого узла сети есть настройки:
- Группы элементов: здесь можно собрать в группу несколько элементов данных, например, элементы данных относящиеся к сети, к CPU, к дискам.
- Элементы данных: это, проще говоря, источники различных данных от машин, отсюда идет вся информация о состоянии системы.
- Триггеры: основываются на элементах данных, они следят за поступающими данными и, в случае отклонения от нормы, оповещают админов
- Графики: наглядное изменение данных, поступающие от элементов данных, например скорость исходящих данных интерфейса sk0. Очень удобно разработан выбор интервала просмотра, можно выбирать как и на графике, так и на полосе прокрутки над графиком.
К каждому узлу, желательно, прикрепить шаблон элементов данных, их уже заботливо подготовили разработчики. Есть шаблоны для Windows, Linux, Freebsd и др ОС. Шаблоны различаются разными путями получения данных.
Кроме этих 4-х настроек вы видите справа DNS узла сети, его IP, порт, на котором находится Zabbix Agent, присоединенный шаблон, состояние, наблюдается этот узел или нет, и доступность Zabbix Agent'а.
Добавьте узел сети, за которым вы хотите наблюдать и присоедините шаблон, соответствующий установленной ОС. Если вы хотите наблюдать за, например, Wi-Fi роутером, то вам достаточно его только пинговать. Как это сделать — объясню в следующей статье, если понадобится.
Способы оповещений
Итак, теперь у вы наблюдаете за сервером, теперь нужно настроить оповещение админов при отклонении данных от нормы. Для этого идем в Администрирование-Способы оповещений.
![image](http://hostingkartinok.com/image/01201107/1e68c2ac074cb89f211ede911396b1c3.png)
У меня настроено оповещение через скрипт, который отправляет письмо через скрипт на ящик админа. Способ оповещения по 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](http://hostingkartinok.com/image/01201107/a7288f09c233f178ca8498f6510d090f.png)
При добавления способа оповещения можно указать при какой важности будет использоваться данный способ оповещения, например, на почту могут идти все оповещения, а на телефон только важные и чрезвычайные.
Действия
Следующим шагом будет настройка действий. Т.е. что нужно делать и при каких условиях.
![image](http://hostingkartinok.com/image/01201107/835383f7c5ab82f97e387d1d79e3f799.png)
В верхнем правом углу можно создать новое действие, рассмотрим что здесь нужно заполнить.
![image](http://hostingkartinok.com/image/01201108/db21f8755501a6285554c32b66d0e805.png)
- Имя — имя действия
- Событие — за чем следит действие, в данном случае за триггерами
- Тема — какая будет тема в e-mail сообщении
- Сообщение — что будет написано в теле сообщения
- Условие действия — это условие, при котором действие будет выполнено. У меня настроено, так что сообщение будет отправлено, если сработает триггер с важностью больше «высокой».
- Операции действия — это то что должно выполнится после срабатывания условия. В данном случае у меня настроено отправка е-mail сообщения пользователю Notification.
Теперь мы будем получать своевременно оповещения от заббикса при отклонении триггеров.
Комплексные экраны
Следующее меню, что желательно настроить это комплексные экраны.
![image](http://hostingkartinok.com/image/01201108/935fd80efb0fc1447ee93c9c947ed79e.png)
Комплексный экран это группа однотипных графиков разных машин. Например, загрузки CPU всех машин. Это очень наглядно и приятно :)
Давайте посмотрим как создать комплексный экран. Как всегда в правом верхнем углу щелкнем на кнопку создать комплексный экран, здесь будет предложено ввести лишь имя и размер комплексного экрана. После создания щелкаем по имени комплексного экрана, перед нами появится сетка и в каждой ячейке кнопка изменить. Изменяем каждую ячейку под нужный график и сохраняем. Посмотреть комплексные экраны в действии можно в Мониторинг — Комплексные экраны.
![image](http://hostingkartinok.com/image/01201108/55077c66c19c98cbbc92ca1b1ecadc07.png)
Обнаружение
Так же ради любопытства можно настроить обнаружение компьютеров в сети. Делается это с помощью меню Настройка-Обнаружение
![image](http://hostingkartinok.com/image/01201108/8b0b59f3b77cd86c2fec6da66f8289ab.png)
В моем случае это пригодится узнать, какие IP никогда не использовались и которые можно удалить из базы DHCP, т.к. пространство IP у нас не резиновое. При создании правила обнаружения достаточно указать диапазон сканируемых IP и что проверить: ping, http, samba и т.д.
Вот все основное в zabbix'е, что я хотел рассказать вам. Если понравилась статья, то могу написать вторую, как добавлять свои элементы данных(это будет интересно, скорее всего только FreeBSD'шникам), как можно контролировать Wi-Fi роутеры и вообще подробней обо всем. За размер изображений не пинайте, наверно, не очень приятно сделал.