1 Введение

1.1 Цели

1.2 Замечания

2 Упражнения

3 ЧАСТЬ I

3.1 1. Зайдите на вашу виртуальную машину как sysadm.

3.2 2. Установите Nagios версии 3

$ sudo apt-get install nagios3 nagios3-doc

Во время установки вас спросят о "Nagios web administration password:" - этот пользователь называется "nagiosadmin". Введите тот же пароль что и для вашего пользователя "sysadm".

Замечание: если вы этого еще не сделали, вас могут попросить настроить Postfix (почтовый сервер) во время установки Nagios. Просто примите настройки по умолчанию для "Internet Site".

3.3 3. Посмотрите исходную конфигурацию.

Откройте броузер, и посетите следующий URL на вашей виртуальной машине:

http://pcN.ws.nsrc.org/nagios3/

Залогиньтесь как:

        User Name: nagiosadmin
        Password:  <CLASS PASSWORD>

Нажмите на ссылку "Hosts" слева главной страницы, чтобы увидеть, что уже настроено.

3.4 4. Добавьте роутеры, PC, и маршрутизаторы

Мы создадим три файла, routers.cfg, switches.cfg, и pcs.cfg, и создайте записи для оборудования в нашем классе.

3.4.1 4a. Создание файла switches.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
}

Сохраните файл и выйдите из редактора.

3.4.2 4b. Создание файла "routers.cfg"

Всего у нас до 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
}

Теперь сохраните файл и выйдите из редактора.

3.4.3 4c. Создание файла pcs.cfg

Теперь мы создадим записи для некоторых из виртуальных машин в классе. Ниже мы приводим первые несколько записей. Вам следует поместить в этот файл столько виртуальных машин, сколько возможно. Мы советуем добавить по крайней мере 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
}

Сохраните файл и выйдите из редактора. Вы можете добавить больше записей для виртуальных машин позднее.

3.5 ШАГИ 5a - 5c ДОЛЖНЫ БЫТЬ ВЫПОЛНЕНЫ КАЖДЫЙ РАЗ, ВЫ МЕНЯЕТЕ КОНФИГУРАЦИЮ!

3.5.1 5a. Убедитесь, что конфигурация не содержит ошибок

$ 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 не нашел серьезных проблем, выполняя эту проверку. Он только предупредил нас, что устройства мониторятся только на доступность, без активированных проверок сервисов, что необычно.

3.5.2 5b. Перезагрузите/перестартуйте Nagios

$ sudo service nagios3 restart

ПОДСКАЗКА: Вы будете делать это много раз. Если вы сделаете это на одной строке, вы сможете использовать стрелки вверх для повтора команды:

$ sudo nagios3 -v /etc/nagios3/nagios.cfg && sudo service nagios3 restart

Связка '&&' обеспечивает, что перезагрузка происходит только когда конфигурация не содержит ошибок.

3.5.3 5c. Проверьте работоспособность через Web-интерфейс

Посетите web-интерфейс (http://pcN.ws.nsrc.org/nagios3) и убедитесь, что добавленные устройства присутствуют в интерфейсе. Нажмите на "Hosts" слева для просмотра известных устройств. Вы можете увидеть, что новые устройства находятся в состоянии "PENDING", если они еще не были проверены Nagiosом хотя бы один раз.

3.6 6. Посмотрите на диаграмму состояния сети

Посетите http://pcN.ws.nsrc.org/nagios3

Нажмите на "Map" слева. Вы должны увидеть все ваши устройства с сервером Nagios посередине. Вопросительные знаки означают, что мы не указали, какой тип имеет каждое устройство (роутер, маршрутизатор, точка доступа, сервер Linux, и т.д...)

4 ЧАСТЬ II - Настройка проверки сервиса для машины NOC

4.1 0. Конфигурация

После того, как мы добавили устройства, мы можем начать указывать Nagiosу, какие сервисы он должен мониторить на известных устройствах, как группировать устройства разными способами, как группировать сервисы, и т.д.

4.2 1. Добавьте проверку сервиса на машине NOC

$ 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 ...

5 ЧАСТЬ III - определение сервисов для всех виртуальных машин

Замечания: У умолчанию, интервал проверки, normal_check_interval равен 5 минутам для сервисов. Это определено в "generic-service_nagios2.cfg". Вы можете установить значение этого параметра в 1 минуту для ускорения работы, по крайней мере во время этого семинара.

5.1 1. Определите, какие сервисы связать с какими машинами

Это основная концепция использования Nagiosа и систем сетевого мониторинга вообще. До сих пор мы использовали ping для проверки того, что физические устройства работают в нашей сети; мы начали мониторить один сервис на одной машине. Следующий шаг - решить, какие сервисы (web сервер, SSH, etc.) вы хотите мониторить на каких устройствах в классе.

Для этого курса, у нас есть:

Давайте настроим Nagios проверять эти сервисы на этих устройствах.

5.2 2. Настройте мониторинг сервиса SSH для роутеров и виртуальных машин

Файл "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

5.3 3. Настройте мониторинг сервиса HTTP для всех виртуальных машин

Это упражнение практически идентично предыдущему. Измените сервис HTTP, добавив в него все серверы (но не роутеры и не маршрутизаторы). Помните, вам не нужно добавлять вашу собственную виртуальную машину, поскольку она уже определена как "localhost". Найдите эту группу хостов в файле hostgroups_nagios2.cfg и измените строку "members" соответствующим образом.

Если у вас есть вопросы или вы чего-то не понимаете, попросите помощи у преподавателя.