В этом руководстве мы узнаем, как настроить 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 и убедитесь, что ваши сервисы сейчас отслеживаются.
Подскажите:
Проводится мониторинг Linux-серверов (стандартные параметры: ОЗУ, CPU, HDD).
По всем, кроме 2-х, серверам все ОК.
А вот 2-а сервера: колонки Host, Status и Actions – КРАСНЫЕ. Состояние сервера – DOWN. И в то же время сами тесты проходят (колонка Services зеленая – все ОК) .
Что это может быть и где “копать”?