$ sudo apt-get install nagios3 nagios3-doc
Во время установки вас спросят о "Nagios web administration password:" - этот пользователь называется "nagiosadmin". Введите тот же пароль что и для вашего пользователя "sysadm".
Замечание: если вы этого еще не сделали, вас могут попросить настроить Postfix (почтовый сервер) во время установки Nagios. Просто примите настройки по умолчанию для "Internet Site".
Откройте броузер, и посетите следующий URL на вашей виртуальной машине:
http://pcN.ws.nsrc.org/nagios3/
Залогиньтесь как:
User Name: nagiosadmin
Password: <CLASS PASSWORD>
Нажмите на ссылку "Hosts" слева главной страницы, чтобы увидеть, что уже настроено.
Мы создадим три файла, routers.cfg, switches.cfg, и pcs.cfg, и создайте записи для оборудования в нашем классе.
$ cd /etc/nagios3/conf.d (для надежности)
$ sudo editor switches.cfg
В этом файле добавьте следующую запись (СКОПИРУЙТЕ!):
define host {
use generic-host
host_name sw
alias Backbone Switch
address 10.10.0.253
}
Сохраните файл и выйдите из редактора.
Всего у нас до 10 роутеров - rtr1-rtr9 и gw. У нас также есть две беспроводные точки доступа (ap1, ap2). Мы создадим записи для некоторых из этих устройств. Если какие-то из этих устройств не существуют в вашем классе, не включайте их в конфигурацию. Помните, просто СКОПИРУЙТЕ нижеследующие записи, не пытайтесь перепечатать все вручную.
$ sudo editor routers.cfg
define host {
use generic-host
host_name gw
alias Classrooom Gateway Router
address 10.10.0.254
}
define host {
use generic-host
host_name rtr1
alias Group 1 Gateway Router
address 10.10.1.254
}
define host {
use generic-host
host_name rtr2
alias Group 2 Gateway Router
address 10.10.2.254
}
*** Замечание: вам не обязательно добавлять все определения роутеров прямо сейчас - в всегда можете вернуться и добавить оставшиеся позднее! ***
define host {
use generic-host
host_name ap1
alias Wireless Access Point 1
address 10.10.0.251
}
define host {
use generic-host
host_name ap2
alias Wireless Access Point 2
address 10.10.0.252
}
Теперь сохраните файл и выйдите из редактора.
Теперь мы создадим записи для некоторых из виртуальных машин в классе. Ниже мы приводим первые несколько записей. Вам следует поместить в этот файл столько виртуальных машин, сколько возможно. Мы советуем добавить по крайней мере 4 машины, которые принадлежат вашей группе, а также запись для машины NOC, и по крайней мере одну виртуальную машину из другой группы (помните, КОПИРУЙТЕ, не печатайте!):
$ sudo editor pcs.cfg
define host {
use generic-host
host_name noc
alias Workshop NOC machine
address 10.10.0.250
}
#
# Group 1
#
define host {
use generic-host
host_name pc1
alias pc1
address 10.10.1.1
}
define host {
use generic-host
host_name pc2
alias pc2
address 10.10.1.2
}
#
# Another PC (example only!)
#
define host {
use generic-host
host_name pc20
alias pc20
address 10.10.5.20
}
Сохраните файл и выйдите из редактора. Вы можете добавить больше записей для виртуальных машин позднее.
$ sudo nagios3 -v /etc/nagios3/nagios.cfg
Вы увидите предупреждения, похожие на приведенные ниже. Не обращайте пока на них внимания.
Checking services...
Checked 7 services.
Checking hosts...
Warning: Host 'gw' has no services associated with it!
Warning: Host 'rtr1' has no services associated with it!
Warning: Host 'rtr2' has no services associated with it!
etc....
...
Total Warnings: N
Total Errors: 0
Все выглядит нормально - Nagios не нашел серьезных проблем, выполняя эту проверку. Он только предупредил нас, что устройства мониторятся только на доступность, без активированных проверок сервисов, что необычно.
$ sudo service nagios3 restart
ПОДСКАЗКА: Вы будете делать это много раз. Если вы сделаете это на одной строке, вы сможете использовать стрелки вверх для повтора команды:
$ sudo nagios3 -v /etc/nagios3/nagios.cfg && sudo service nagios3 restart
Связка '&&' обеспечивает, что перезагрузка происходит только когда конфигурация не содержит ошибок.
Посетите web-интерфейс (http://pcN.ws.nsrc.org/nagios3) и убедитесь, что добавленные устройства присутствуют в интерфейсе. Нажмите на "Hosts" слева для просмотра известных устройств. Вы можете увидеть, что новые устройства находятся в состоянии "PENDING", если они еще не были проверены Nagiosом хотя бы один раз.
Посетите http://pcN.ws.nsrc.org/nagios3
Нажмите на "Map" слева. Вы должны увидеть все ваши устройства с сервером Nagios посередине. Вопросительные знаки означают, что мы не указали, какой тип имеет каждое устройство (роутер, маршрутизатор, точка доступа, сервер Linux, и т.д...)
После того, как мы добавили устройства, мы можем начать указывать Nagiosу, какие сервисы он должен мониторить на известных устройствах, как группировать устройства разными способами, как группировать сервисы, и т.д.
$ sudo editor hostgroups_nagios2.cfg
members localhost
на
members localhost,noc
Сохраните файл и выйдите из редактора.
Убедитесь, что конфигурация не содержит ошибок:
$ sudo nagios3 -v /etc/nagios3/nagios.cfg
Перезапустите Nagios чтобы увидеть связь нового сервиса с вашей машиной:
$ sudo service nagios3 restart
В web-интерфейсе, найдите ссылку "Services" (меню слева), и нажмите на нее.
Вы должны увидеть ваше последнее изменение:
noc SSH PENDING ...
Замечания: У умолчанию, интервал проверки, normal_check_interval
равен 5 минутам для сервисов. Это определено в "generic-service_nagios2.cfg". Вы можете установить значение этого параметра в 1 минуту для ускорения работы, по крайней мере во время этого семинара.
Это основная концепция использования Nagiosа и систем сетевого мониторинга вообще. До сих пор мы использовали ping для проверки того, что физические устройства работают в нашей сети; мы начали мониторить один сервис на одной машине. Следующий шаг - решить, какие сервисы (web сервер, SSH, etc.) вы хотите мониторить на каких устройствах в классе.
Для этого курса, у нас есть:
Давайте настроим Nagios проверять эти сервисы на этих устройствах.
Файл "services_nagios2.cfg" уже содержит запись для проверки SSH сервиса, поэтому нам не нужно создавать эту проверку. Вместо этого, нам нужно просто переопределить запись "ssh-servers" в файле /etc/nagios3/conf.d/hostgroups_nagios2.cfg
. Исходно, эта запись выглядит так:
# A list of your ssh-accessible servers
define hostgroup {
hostgroup_name ssh-servers
alias SSH servers
members localhost
}
Как вы думаете, что должно поменяться? Правильно, строка "members". Вам нужно перечислить там все устройства, на которых запущен ssh. С этой информацией и с диаграммой сети на wiki вы должны справиться с этой задачей.
Запись будет выглядеть примерно так:
define hostgroup {
hostgroup_name ssh-servers
alias SSH servers
members localhost,pc1,pc2,...,ap1,noc,rtr1,rtr2,...,gw
}
Замечание: не удаляйте "localhost" - это ваша PC, представляющая сетевую точку зрения со стороны Nagios. Таким образом, если ваша виртуальная машина - "pc3", вам НЕ надо добавлять "pc3" в список, поскольку она уже представлена записью "localhost".
Запись "members" будет довольно длинной строкой и скорее всего не поместится в ширну экрана. Если вы хотите добавить дополнительные имена устройств на новой строке, используйте "" в конце предыдущей строки, например:
members localhost,pc1,pc2, \
pc3,pc4,..., \
ap1,noc,rtr1,rtr2,..., \
gw
Не забудьте добавить все устройства, которые вы определили в файлах "pcs.cfg", "switches.cfg" и "routers.cfg". Добавляйте только записи из этих файлов, (например, не добавляйте "pc8", если "pc8" не наличествует такж и в "pcs.cfg").
Когда вы закончили, запустите проверку конфигурации и перезапустите Nagios:
$ sudo nagios3 -v /etc/nagios3/nagios.cfg && sudo service nagios3 restart
... и посмотрите ваши изменения в web-интерфейсе Nagiosа.
Продолжая с группами хостов, вы можете определить дополнительные группы для дальнейшего использования, такие как все наши роутеры. Отредактируйте файл hostgroups_nagios2.cfg
снова:
$ sudo editor hostgroups_nagios2.cfg
и добавьте следующее в конец файла:
# A list of our virtual routers
define hostgroup {
hostgroup_name routers
alias Cisco 7200 Routers
members rtr1,rtr2,...
}
Указывайте только роутеры, присутствующие в "routers.cfg".
Сохраните файл и выйдите из редактора. Проверьте, что все в порядке:
$ sudo nagios3 -v /etc/nagios3/nagios.cfg
Если все нормально, перезапустите Nagios
$ sudo service nagios3 restart
Это упражнение практически идентично предыдущему. Измените сервис HTTP, добавив в него все серверы (но не роутеры и не маршрутизаторы). Помните, вам не нужно добавлять вашу собственную виртуальную машину, поскольку она уже определена как "localhost". Найдите эту группу хостов в файле hostgroups_nagios2.cfg
и измените строку "members" соответствующим образом.
Если у вас есть вопросы или вы чего-то не понимаете, попросите помощи у преподавателя.