В больших сетях мониторинг стратегических объектов, таких как маршрутизаторы, web-серверы и файловые хранилища просто необходим, чем быстрее будет определена неисправность , тем быстрее ее устранят!
В качестве системы мониторинга я предлагаю использовать Nagios.
Для установки была выбрана платформа ubuntu 10.10, воспользовавшись встроенным инсталятором установим nagios:
apt-get install nagios3 nagios3-doc nagios-nrpe-plugin nagiosgrapher |
apt-get install nagios3 nagios3-doc nagios-nrpe-plugin nagiosgrapher
Мастер попросит вас ввести пароль для пользователя nagiosadmin, запомните вводимый пароль!
Также нам необходим web-server для просмотра состояния проверяемых узлов, устанавливаем apache2:
Стоит отметить что в данном случае apache можно не настраивать , так как базовой конфигурации вполне достаточно.
Теперь создадим файл, в котором будут описываться параметры хостов. Переходим к настройке :
cd /etc/nagios3/conf.d
nano myhosts.cfg |
cd /etc/nagios3/conf.d
nano myhosts.cfg
В файле myhosts.cfg назначим каждому устройству адрес и описание:
define host {
host_name Server-terminals
alias Server terminals
address 192.168.1.2
use generic-host
}
define host {
host_name Server-www
alias Server www
address 192.168.1.12
use generic-host
}
define host {
host_name Server-firewall
alias Server firewall
address 192.168.1.21
use generic-host
}
define host {
host_name Server-statistic
alias Server statistic
address 192.168.1.20
use generic-host
}
define host {
host_name Server-ad
alias Server ad
address 192.168.1.14
use generic-host
}
define host {
host_name modem-ad
alias Server ad
address 10.0.0.1
parents Server-ad
use generic-host
}
define host {
host_name modem-www
alias Server ad
address 172.16.0.3
parents Sever-www
use generic-host
}
define host {
host_name modem-statistic
alias Server ad
address 192.168.0.253
parents Server-statistic
use generic-host
} |
define host {
host_name Server-terminals
alias Server terminals
address 192.168.1.2
use generic-host
}
define host {
host_name Server-www
alias Server www
address 192.168.1.12
use generic-host
}
define host {
host_name Server-firewall
alias Server firewall
address 192.168.1.21
use generic-host
}
define host {
host_name Server-statistic
alias Server statistic
address 192.168.1.20
use generic-host
}
define host {
host_name Server-ad
alias Server ad
address 192.168.1.14
use generic-host
}
define host {
host_name modem-ad
alias Server ad
address 10.0.0.1
parents Server-ad
use generic-host
}
define host {
host_name modem-www
alias Server ad
address 172.16.0.3
parents Sever-www
use generic-host
}
define host {
host_name modem-statistic
alias Server ad
address 192.168.0.253
parents Server-statistic
use generic-host
}
Параметром parents мы указываем к какому устройству ,логически, данный объект будет подключаться, таким образом появляется возможность корректировать карту сети.
Все объявленные хосты мы сможем просмотреть на вкладке hosts браузера и выглядеть они будут таким образом:

Далее нам необходимо добавить объявленные устройства в группы, в зависимости от дальнейшего способа проверки, один компьютер можно вносить в несколько групп одновременно. Редактируем файл-групп :
nano /etc/nagios3/conf.d/hostgroups_nagios2.cfg |
nano /etc/nagios3/conf.d/hostgroups_nagios2.cfg
Как мы видим – файл не пустой, в нем существует несколько групп , названия в данном случае не имеют значения ,при этом в каждую из них входит наш компьютер “localhost”, следовательно он проверяется по всем заданным условиям, но об этом позже.
Чтобы лучше разобраться создадим группы и включим в них хосты :
define hostgroup {
hostgroup_name servers
alias my-servers
members Server-terminals, Server-www, Server-firewall, Server-statistic, Server-ad
}
define hostgroup {
hostgroup_name modems
alias my-modems
members modem-ad, modem-www, modem-statistic
} |
define hostgroup {
hostgroup_name servers
alias my-servers
members Server-terminals, Server-www, Server-firewall, Server-statistic, Server-ad
}
define hostgroup {
hostgroup_name modems
alias my-modems
members modem-ad, modem-www, modem-statistic
}
Теперь когда группы созданы зададим параметры для проверки, в данном случае мы будем проверять на наличие пинга, и при высоком проценте потерянных пакетов nagios будет нас оповещать, изменяя цвет отдельного узла на карте.
И так правим файл сервисов:
nano /etc/nagios3/conf.d/services_nagios2.cfg |
nano /etc/nagios3/conf.d/services_nagios2.cfg
define service {
hostgroup_name my-servers
service_description PING
check_command check_ping!100.0,20%!500.0,60%
use generic-service
notification_interval 10
}
define service {
hostgroup_name my-modems
service_description PING
check_command check_ping!100.0,20%!500.0,60%
use generic-service
notification_interval 10
} |
define service {
hostgroup_name my-servers
service_description PING
check_command check_ping!100.0,20%!500.0,60%
use generic-service
notification_interval 10
}
define service {
hostgroup_name my-modems
service_description PING
check_command check_ping!100.0,20%!500.0,60%
use generic-service
notification_interval 10
}
Хочу обратить ваше внимание на то, что при настройке сервисов нужно в поле hostgroup_name вводить настоящее имя группы, которое мы задавали ранее.
Разбиение на группы удобно тем, что группам можно задавать отдельные параметры, касательно способа проверки, интервала и др. в том числе и параметры отображения как описано далее:
Редактируем файл
nano /etc/nagios3/conf.d/extinfo_nagios2.cfg |
nano /etc/nagios3/conf.d/extinfo_nagios2.cfg
Мы хотим заменить логотип отображаемого элемента на карте nagios , логотипы находятся в /usr/share/nagios/htdocs/images/logos, при изменении логотипа достаточно лишь указать новое картинки, находящейся по указанному пути.
Радактируем:
define hostextinfo{
hostgroup_name my-servers
notes my-servers
icon_image base/router40.png
icon_image_alt my-servers
vrml_image router40.png
statusmap_image base/router40.gd2
}
define hostextinfo{
hostgroup_name my-modems
notes my-modems
icon_image base/soho2.png
icon_image_alt my-modems
vrml_image soho.png
statusmap_image base/soho.gd2
}
define hostextinfo{
hostgroup_name debian-servers
notes Debian GNU/Linux servers
icon_image base/utils3.png
icon_image_alt Debian GNU/Linux
vrml_image utils3.png
statusmap_image base/utils3.gd2
} |
define hostextinfo{
hostgroup_name my-servers
notes my-servers
icon_image base/router40.png
icon_image_alt my-servers
vrml_image router40.png
statusmap_image base/router40.gd2
}
define hostextinfo{
hostgroup_name my-modems
notes my-modems
icon_image base/soho2.png
icon_image_alt my-modems
vrml_image soho.png
statusmap_image base/soho.gd2
}
define hostextinfo{
hostgroup_name debian-servers
notes Debian GNU/Linux servers
icon_image base/utils3.png
icon_image_alt Debian GNU/Linux
vrml_image utils3.png
statusmap_image base/utils3.gd2
}
В стандартном наборе скорее всего таких логотипов как показано на картинке нет, но их можно скачать здесь и разместить по вышеуказанному пути. Перезапускаем слубы:
/etc/init.d/apache2 restart |
/etc/init.d/apache2 restart
/etc/init.d/nagios3 restart |
/etc/init.d/nagios3 restart
Набираем в браузере http://127.0.0.1/nagios3

и попадаем на web-оболочку nagios. Логин по умолчанию nagiosadmin, а пароль соответствует тому что мы вводили при установке. На вкладке map отобрзается карта сети, при необходимости можно поменять способ отображения, редактируя:
nano /etc/nagios3/cgi.cfg |
nano /etc/nagios3/cgi.cfg
а именно параметр default_statuswrl_layout на значение от 0 до 5.
Также я меняю период обновления страницы , в секундах, параметром refresh_rate
Теперь по образу и подобию вы самостоятельно сможете добавлять компьютеры и группы, думаю на этом простая настройка закончена. В дальнейшем я напишу об дополнительных настройках, связанных с системой оповещения.
: Uncaught Error: Call to undefined function wp_related_posts() in /home2/netconfi/public_html/wp-content/themes/theme/single.php:56
Stack trace:
#0 /home2/netconfi/public_html/wp-includes/template-loader.php(106): include()
#1 /home2/netconfi/public_html/wp-blog-header.php(19): require_once('/home2/netconfi...')
#2 /home2/netconfi/public_html/index.php(17): require('/home2/netconfi...')
#3 {main}
thrown in