Мониторинг запущенной службы/доступности порта
Создание шаблона для мониторинга службы/порта протокола tcp(например, порта 1194 OpenVPN-службы),которая слушает запросы на внешнем интерфейсе
1.
1 2 3 4 5 |
Configuration->Template->Create Template Template Name->Template App OpenVPN Service Visible Name-> Template App OpenVPN Service Groups->Templates Update |
2.
1 |
Applications->Create applications->Name->OpenVPN service->Add |
3.
1 2 3 4 5 6 7 8 9 10 11 12 |
Items->Create item Name->OpenVPN is running Type->Simple Check Key->net.tcp.service[tcp,,1194] Update Interval-60 History storage period – 7 Trend storage period – 365 Storage value – As is Show value – Service state Applications-OpeVPN service Enabled-Yes Add |
4.
1 2 3 4 5 |
Triggers->Create trigger Name-OpenVPN service is down on {HOST.NAME} Expression-{Template App OpenVPN Service:net.tcp.service[tcp,,1194].max(#3)}=0 Severity-High Enabled-Yes |
Применяем созданный шаблон к нужным хостам/группам
1 2 3 |
Configuration->Templates->Template App OpenVPN Service Host/templates->Добавляемый требуемый хост Update |
Проверяем наличие данных через 1-2 минуты
1 |
Monitoring->Latest data->Show filter->Фильтруем по нашему имени хоста->OpenVPN Service->Last Value->Up(1) |
Для создания следующего шаблона, например,мониторинга nrpe на удаленном сервере(tcp-протокол порт 5666) копируем исходный шаблон с опцией Full clone
1.
1 2 |
Configuration->Templates->Template App OpenvPN service>Full clone Template name->Template App NRPE Service->Add |
2.
1 2 |
Template App NRPE Service->Application->(переименовываем OpenvPN service в NRPE service)-> OpenvPN service->Name->NRPE Service->Update |
3.
1 2 3 |
Items->(переименовываем OpenvPN is running в NRPE is running)->OpenVPN is running-> Name->NRPE is running Key->меняем порт с 1194 на 5666 т.е получим net.tcp.service[tcp,,5666]->Update |
4.
1 2 |
Triggers->Name->( переименовываем OpenvPN service is down on {HOST.NAME} в NRPE service is down on {HOST.NAME}) OpenVPN service is down on {HOST.NAME}-> Name->NRPE service is down on {HOST.NAME}->Update |
Если необходимо мониторить доступность служб на localhost-интерфейсе либо службу, доступ к которой на внешнем интерфейсе закрыт firewall-ом, тогда создаем аналогичный шаблон за исключением того, что в Item в параметре Type вместо Simple check будет использоваться Zabbix-agent и в параметре Key указываем IP-address 127.0.0.1
Т.е для мониторинга порта/службы, который доступен на внешнем интерфейсе мы использовали
1 2 |
Type->Simple check Key->net.tcp.service[tcp,,1194] |
Для мониторинг порта, который доступен ТОЛЬКО на localhost-интерфейсе
1 2 |
Type-> Zabbix-agent Key ->net.tcp.service[tcp,127.0.0.1,1194] |
– т.е мы указываем, что для проверки подключаться нужно к localhost-интерфейсу, а не к IP-адресу(внешнему), указанному в Zabbix-агенте хоста при добавлении его в Zabbix-сервер
Мониторинг количества процессов
Проверяем с командной строки средствами Zabbix-агента кол-во процессов с определенным именем,например,процессов Baсula Director — bacula-dir
1 |
# zabbix_agent -t proc.num[bacula-dir] |
1 |
proc.num[bacula-dir] [u|1] |
Если нет необходимости проверять,от какого пользователя запущен процесс,то используем ключ
1 |
proc.num[bacula-dir] |
Если необходимо проверять наличие запущенного процесса bacula-dir под пользователем bacula
1 |
# zabbix_agent -t proc.num[bacula-dir,bacula] |
1 |
proc.num[bacula-dir,bacula] [u|1] |
Например,для мониторинга php-fpm процессов,которые запускаются под разными пулами(пользователями) можно создавать разные Items используя различные значения Key
1 |
# zabbix_agent -t proc.num[php-fpm,nagios] |
1 |
proc.num[php-fpm,nagios] [u|5] |
1 |
# zabbix_agent -t proc.num[php-fpm,zabbix] |
1 |
proc.num[php-fpm,zabbix] [u|5] |
1 |
# zabbix_agent -t proc.num[php-fpm,kamaok] |
1 |
proc.num[php-fpm,kamaok] [u|4] |
1 |
# zabbix_agent -t proc.num[php-fpm,nginx] |
1 |
proc.num[php-fpm,nginx] [u|2] |
Значения Key для разных пользователей при создании трех различных Item
1 2 3 4 |
proc.num[php-fpm,nagios] proc.num[php-fpm,zabbix] proc.num[php-fpm,kamaok] proc.num[php-fpm,nginx] |
Мониторинг процессов
1 |
# zabbix_agent -t proc.num[atop] |
1 |
proc.num[atop] [u|1] |
Создание шаблона для мониторинга кол-ва процессов
Аналогично шаблону для мониторинга порта,только в Item
1 2 |
Type->Zabbix agent Key-> proc.num[atop] |
Создание шаблона,который включает событие – подсчет кол-ва запущенных процес сов atop,тригер для оповещения при наличии кол-ва процес сов atop < 1
1.
1 2 3 4 |
Configuration->Hosts->требуемый хост(например, Zabbix-сервер) Template Name-> Template Process atop is not running Groups->My templates Add |
2.
1 |
Application->Create Application->Name-> Process atop is not running->Add |
3.
1 2 3 4 5 6 7 8 9 10 11 12 |
Items->Create item-> Name-> Process atop is not running Тype->Zabbix agent Key-> proc.num[atop] Update interval->60 History storage period – 7 Trend storage period – 365 Storage value – As is Show value – As is Applications- Process atop is not running Enabled-Yes Add |
4.
1 2 3 4 5 |
Triggers->Create trigger Name->Process is not running Atop on {HOST.NAME} Expression->{Template Process atop is not running:proc.num[atop].last(#1)}<1 Severity->High Add |
Т.е при установленном ежеминутном интервале обновления(проверки),после одной неудачной попытке (кол-во процессов atop меньше 1) сработает триггер и будет отправлено сообщение на E-mail админа
Аналогично настраиваем шаблоны для мониторинга других процессов путем копирования созданного шаблона и замены в названих и в ключе имени процесса.
Несколько полезных настроек Zabbix
Изменения языка WEB-интерфейса Zabbix
1 |
# locale -a |
1 |
# locale-gen ru_RU.utf8 |
1 |
# dpkg-reconfigure locales |
1 |
# service php5-fpm restart |
либо перезапустить Apache(если php работает как модуль Apache)
в Web-интерфейсе Zabbix
1 |
Profiles->User->Language->Russian(ru_RU) |
Создание комплексных экранов(screens)
1 2 3 4 5 6 7 8 9 |
Configuration->Screens->Create screen Name->My screen Columns->2 Rows->2 Add Configuration->Screens-> My screen->Change Resource Graph Graph Name-> Select-> выбираем нужный нам график Add |
Так добавляем все необходимые графики
Также в одно из окон можно выбрать System status в строке
1 2 3 |
Graph->system status Column->2 Row->1 |
Созданный комплексный экран можно добавить в избранное
1 |
Monitoring->Dashboard->Personal Dashboard->Favorite screen->Add->Myscreen->Select |
Источник:
http://www.sergeysl.ru/freebsd-zabbix/
http://serveradmin.ru/monitoring-servisov-i-sluzhb-v-linux-zabbix/