Nagios SNMP-мониторинг хостов Linux на AlienVault USM / OSSIM

Мануал

В этом руководстве мы узнаем, как настроить SNMP-мониторинг Nagios для хостов Linux.

Мы будем использовать AlienVault USM / OSSIM в качестве нашего сервера Nagios. Как мы уже говорили в наших предыдущих статьях, AlienVault по умолчанию использует Nagios для мониторинга хостов.

Для мониторинга хостов вы можете использовать агентный или безагентный метод.

Агентный метод включает установку плагинов Nagios и агентов NRPE на удаленном хосте, в то время как безагентный метод включает использование протокола, такого как SNMP, для опроса метрик удаленной системы.

В этом руководстве описано, как установить и настроить мониторинг SNMP Nagios для опроса системных показателей Linux, таких как;

  • Использование диска
  • Использование памяти
  • Количество запущенных процессов
  • Uptime
  • Количество зарегистрированных пользователей
  • Открытые порты (Службы)

Предпосылки

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

Добавьте хосты для мониторинга на сервер AlienVault.

Включить мониторинг доступности Nagios

Создайте группу ресурсов, чтобы объединить хосты с общими функциями, например, Linux Servers.

После этого включите мониторинг доступности для группы.

Включение мониторинга доступности поможет автоматизировать создание файлов конфигурации хостов Nagios и определений группы хостов.

Все, что вам нужно сделать, это установить команду и определение сервиса для вашей группы активов.

Настройте Nagios SNMP-мониторинг хостов Linux

Войдите в бэкэнд AlienVault USM / OSSIM и перейдите в каталог конфигурации Nagios, cd /etc/nagios3/conf.d/.

В этом каталоге есть каталог с именем ossim-configs, который содержит файлы конфигурации определений хостов и групп хостов, которые создаются автоматически при включении мониторинга доступности для группы хостов из веб-интерфейса AlienVault.

ls /etc/nagios3/conf.d/ossim-configs/ 
host-services  hostgroup-services  hostgroups  hosts

Если вы можете проверить, каталог hosts будет содержать конфигурации определения хоста, в то время как каталог hostgroups содержит файл конфигурации определения группы хостов.

ls /etc/nagios3/conf.d/ossim-configs/hosts
192.168.43.154.cfg  192.168.43.23.cfg
less /etc/nagios3/conf.d/ossim-configs/hostgroups/Linux\ Servers.cfg
define hostgroup{
        hostgroup_name Linux Servers
        alias Linux Servers
        members ubuntu,centos7
        }

Настройка команд мониторинга Nagios SNMP

По умолчанию AlienVault поставляется с плагинами мониторинга SNMP Nagios, которые называются check_snmp.

Плагины находятся в /usr/lib/nagios/plugins/.

ls /usr/lib/nagios/plugins/ | grep snmp
check_snmp

Прежде чем продолжить, убедитесь, что у вас есть данные аутентификации SNMP.

Для SNMP v2c убедитесь, что вы создали сообщество, а для SNMP v3 убедитесь, что у вас есть имя пользователя и пароль аутентификации.

Также убедитесь, что у вас есть идентификаторы объектов (OID) для любой службы, которую вы хотите отслеживать.

Вы можете найти общие OID на странице репозитория OID.

В этом руководстве мы собираемся использовать подключаемый модуль Nagios SNMP для мониторинга по умолчанию, check_snmp, для мониторинга времени безотказной работы, запущенных процессов, средней загрузки процессора и зарегистрированных пользователей, а для мониторинга использования дисковой и физической памяти мы будем использовать этот прекрасный скрипт perl check_snmp_disk , который кто-то еще сделал для создания.

Поэтому загрузите скрипт perl check_snmp_disk и поместите его в каталог плагинов Nagios по умолчанию на AlienVault USM, /usr/lib/nagios/plugins/.

Получите сообщество с хостов и проверьте на сервере AlienVault или Nagios, что к хост-сервисам можно обратиться, прежде чем вы сможете приступить к определению ваших команд и сервисов.

Проверка на время работы

/usr/lib/nagios/plugins/check_snmp -H 192.168.43.154 -C Ex@mPL3 -o .1.3.6.1.2.1.1.3.0
SNMP OK - Timeticks: (4240427) 11:46:44.27 |

Запущенные процессы

/usr/lib/nagios/plugins/check_snmp -H 192.168.43.154 -C Ex@mPL3 -o .1.3.6.1.2.1.25.1.6.0 -w 300 -c 400
SNMP OK - 117 | iso.3.6.1.2.1.25.1.6.0=117

Средняя нагрузка

/usr/lib/nagios/plugins/check_snmp -H 192.168.43.154 -C Ex@mPL3 -o .1.3.6.1.4.1.2021.10.1.3.1 -w 2.0 -c 5.0
SNMP OK - 0 | iso.3.6.1.4.1.2021.10.1.3.1=0

Зарегистрированные пользователи

/usr/lib/nagios/plugins/check_snmp -H 192.168.43.154 -C Ex@mPL3 -o .1.3.6.1.2.1.25.1.5.0 -w 5 -c 10        
SNMP OK - 2 | iso.3.6.1.2.1.25.1.5.0=2

Использование диска

/usr/lib/nagios/plugins/check_snmp_disk -H 192.168.43.23 -s Ex@mPL3 -d / -w 80% -c 90%
SNMP OK - / at 16% with 6,788 of 8,178 MB free

Использование ОЗУ

/usr/lib/nagios/plugins/check_snmp_disk -H 192.168.43.23 -s Ex@mPL3 -d 1 -w 80% -c 90%
SNMP OK - Physical memory at 61% with 188 of 487 MB free

Кажется, все работает хорошо.

Приступайте к созданию определений команд и сервисов для ваших хост-серверов.

Перейдите в каталог Nagos hostsgroup-services, /etc/nagios3/conf.d/ossim-configs/hostgroup-services/.

cd /etc/nagios3/conf.d/ossim-configs/hostgroup-services

Создайте файл конфигурации определения сервисов группы хостов.

В этом файле мы определим команды, которые будут использоваться для мониторинга различных системных показателей, таких как время работы системы, запущенные процессы, зарегистрированные пользователи, потребление ресурсов; диск и физическая память.

vim linux-services.cfg
# Command Definition. This polling uses an SNMP v2 Community.
# check_snmp command definition
define command{
        command_name	check_snmp
        command_line	/usr/lib/nagios/plugins/check_snmp -H $HOSTADDRESS$  -C Ex@mPL3 -o $ARG1$ $ARG2$
}
# check_snmp_disk command definition
#Disk and Memory Usage
define command{
        command_name    check_snmp_disk
        command_line    /usr/lib/nagios/plugins/check_snmp_disk -H $HOSTADDRESS$ -s Ex@mPL3 $ARG1$ $ARG2$ $ARG3$
}
# Check CPU Load for the past 1 minute
define service {
        use                     generic-service
        hostgroup_name          Linux Servers
        service_description     CPU Load Average
        check_command           check_snmp!.1.3.6.1.4.1.2021.10.1.3.1!-w 2.0 -c 5.0
}
define service {
        use                     generic-service
        hostgroup_name          Linux Servers
        service_description     Running Processes
        check_command          check_snmp!.1.3.6.1.2.1.25.1.6.0!-w 300 -c 400
}

define service {
        use                     generic-service
        hostgroup_name          Linux Servers
        service_description     Logged in Users
        check_command           check_snmp!.1.3.6.1.2.1.25.1.5.0!-w 5 -c 10
}
define service {
        use                     generic-service
        hostgroup_name          Linux Servers
        service_description     Uptime
        check_command          check_snmp!.1.3.6.1.2.1.1.3.0
}
# Check / Disk and Memory Usage
define service {
        use                     generic-service
        hostgroup_name          Linux Servers
        service_description     / Disk Usage
        check_command           check_snmp_disk!-d /!-w 80% -c 90%
}
define service {
        use                     generic-service
        hostgroup_name          Linux Servers
        service_description     RAM Usage
        check_command           check_snmp_disk!-d 1!-w 80% -c 90%
}

Сохраните файл конфигурации и выполните приведенную ниже команду, чтобы проверить наличие синтаксических ошибок.

nagios3 -v /etc/nagios3/nagios.cfg
...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

Если ошибок нет, перезапустите nagios.

/etc/init.d/nagios3 restart

Войдите в AlienVault USM Web UI и убедитесь, что ваши сервисы сейчас отслеживаются.

Добавить комментарий