Назад | Перейти на главную страницу

Как отслеживать использование памяти Linux-сервера с помощью nagios

Просто установил nagios на центральную машину и nrpe на 10 удаленных Linux-машинах и начал их отслеживать. Отлично работает. Я могу получить загрузку процессора, текущих пользователей, процессы, mysql и т. Д. Я не могу найти способ отслеживать использование памяти с помощью основных плагинов. Что мне не хватает? Нужен ли для этого внешний плагин?

Я предлагаю вам лучше контролировать использование свопа. проверять, выписываться check_swap plugin - он устанавливается по умолчанию [по крайней мере, в debian].

да, я действительно подумал, почему они не включили плагин, который будет проверять память, когда они включили check_swap и check_disk ... хорошо, что-то не так ... но плагин check_memory доступен на exchange.nagios.org http://exchange.nagios.org/directory/Plugins/Operating-Systems/Solaris/check_mem-2Epl/details

это работает довольно хорошо ... это сценарий Perl, поэтому даже установка не требуется ... это ссылка http://sysadminsjourney.com/content/2009/06/04/new-and-improved-checkmempl-nagios-plugin/ со страницы плагина выше ... простая и хорошая документация ...

$ /usr/local/nagios/libexec/check_mem.pl -w 10 -c 5 -f 

ВНИМАНИЕ - 9.9% (406520 kB) бесплатно! | TOTAL = 4113824KB ;;;; USED ​​= 3707304KB ;;;; БЕСПЛАТНО = 406520КБ ;;;; CACHES = 816947KB ;;;;

Итак, шаги настройки просты:

  • Скопируйте скрипт perl и напишите его как «check_memory» (или check_mem, или подходящее вам имя) в том же каталоге, где у вас есть check_disk, check_load и т. Д.
    • важно изменить разрешения на выполнение для этой check_memory, аналогично другим check_plugins (я имею в виду, что разрешение на выполнение должно быть предоставлено пользователю nagios. в нашей среде разработки я дал 755, проверьте, нужно ли вам 754 или 755)
    • обновите конфигурационный файл удаленного клиента nrpe.cfg с помощью команды [check_memory] = / usr / lib64 / nagios / plugins / check_memory -u -w 8% -c 90%

Работа с Nagios Server и NRPE Client для автоматического перезапуска служб в случае сбоя 13 января 2015 г.

Выполнение удаленных команд с помощью Nagios и NRPE

1. Установка NRPE на удаленный хост:

об / мин -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm yum –enablerepo = epel -y install nrpe nagios-plugins yum –enablerepo = epel -y list nagios-plugins * vim /etc/nagios/nrpe.cfg

service nrpe start chkconfig nrpe on

2. Чтобы выполнить команды на удаленном клиенте nagios, выполните следующие действия:

  1. Откройте файл конфигурации NRPE и внесите указанные ниже изменения:

vim /etc/nagios/nrpe.cfg a. Измените с 0 на 1, как показано ниже: dont_blame_nrpe = 1 b. Настройка команды в NRPE Откройте файл nrpe.cfg в текстовом редакторе и добавьте следующую строку, чтобы определить команду в NRPE. Добавьте указанную ниже команду под разделом команд в файле nrpe.cfg: command [runcmd] = sudo service $ ARG1 $ restart

  1. Предоставление разрешения NRPE для перезапуска служб Выполните следующую команду от имени пользователя root, чтобы предоставить NRPE разрешение на перезапуск служб. Внесите изменения в файл sudoers:

vim / etc / sudoers nagios ALL = NOPASSWD: / sbin / service nrpe ALL = NOPASSWD: / sbin / service

Тестирование команды runcmd с сервера nagios:

Тестирование команд с сервера Nagios Перейдя к командной строке Nagios, сценарий перезапуска службы будет использовать Check_Nrpe для отправки команды на хост службы. Перейдите в командную строку Nagios и введите следующие команды:

/ usr / local / nagios / libexec / check_nrpe -H 192.168.5.180 -p 5666 -c runcmd -a httpd

Выполнение удаленных команд с помощью Nagios NRPE и обработчика событий Настройка клиента / удаленного компьютера nagios 1. Измените nrpe.cfg, как показано ниже: Измените dont_blame_nrpe = 0 на not_blame_nrpe = 1 2. Добавьте указанную ниже настраиваемую команду в nrpe.cfg как показано ниже: команда [event-ntp] = / usr / lib64 / nagios / plugins / event-ntp $ ARG1 $ $ ARG2 $ $ ARG3 $ 3. Создайте обработчик событий, как показано ниже: vim / usr / lib64 / nagios / плагины / событие-ntp

#!/bin/bash

case “$1″ in
OK)
;;
WARNING)
    echo -e “Running NTP Query” “\n”
    ntpq -p | mailx -s “HOSTNAME – NTP Query” neeraj.gupta@teamcomputers.com
;;
UNKNOWN)
;;
CRITICAL)
    case “$2″ in
    SOFT)
        case “$3″ in
        3)
            echo -e “Running NTP Query & Restarting NTP Service” “\n”
            ntpq -p | mailx -s “HOSTNAME – NTP Query – Restarted NTPD” \
              neeraj.gupta@teamcomputers.com &&
              /usr/bin/sudo /sbin/service ntpd restart
        ;;
        esac
    ;;
    HARD)
        echo -e “Running NTP Query & Restarting NTP Service” “\n”
        ntpq -p | mailx -s “HOSTNAME – NTP Query – Restarted NTPD” \
            neeraj.gupta@teamcomputers.com &&
        /usr/bin/sudo /sbin/service ntpd restart
    ;;
    esac
;;
esac
exit 0
  1. Дайте разрешение на выполнение и измените владельца и группу: chmod + x / usr / lib64 / nagios / plugins / event-ntp chown nagios: nagios / usr / lib64 / nagios / plugins / event-ntp

  2. Сложный и, вероятно, не самый безопасный способ сделать это - изменить файл sudoer, чтобы позволить пользователю nagios выполнять системные команды.

visudo добавьте следующее: User_Alias ​​NAGIOS = nagios, nagcmd Cmnd_Alias ​​NAGIOSCOMMANDS = / sbin / service Значения по умолчанию: NAGIOS! requiretty NAGIOS ALL = (ALL) NOPASSWD: NAGIOSCOMMANDS

  1. Как только все будет завершено, перезапустите службу nrpe, и настройка клиента будет завершена.

Настройка обработчика событий на сервере Nagios Первое, что вам нужно сделать, это создать команду event-ntp в файле commands.cfg:

  1. Vim /usr/local/nagios/etc/objects/commands.cfg

определить команду {имя_команды event-ntp строка_команды / usr / local / nagios / libexec / check_nrpe -H $ HOSTNAME $ -c event-ntp -a $ SERVICESTATE $ $ SERVICESTATETYPE $ $ SERVICEATTEMPT $}

  1. Это будет вызвано объектом-обработчиком событий в вашем файле конфигурации. Теперь измените описание службы там, где вы настраиваете определения службы / хоста. В моем случае у меня есть отдельный файл конфигурации под названием linux.cfg.

определить службу {использовать имя_хоста локальной службы neeraj-test service_description Проверка синхронизации времени event_handler event-ntp check_command check_nrpe! check_ntp}

  1. Теперь перезапустите nagios (перезапуск службы nagios) и проверьте конфигурацию со стороны сервера: / usr / local / nagios / libexec / check_nrpe -H REMOTEHOSTNAME -c event-ntp -a CRITICAL HARD

Если все пойдет хорошо, вы должны получить электронное письмо от своего клиента с выводом команды ntpq -p и перезапуском службы ntpd. Если у вас есть какие-либо проблемы, вы не получаете электронную почту или не выполняете указанный сценарий, установите уровень отладки = 1 в nrpe.cfg, перезапустите nrpe, выполните вышеуказанный тест event-ntp и проверьте свои журналы. Как видите, выполнять сценарии обработчиков событий не так уж сложно, и это экономит время администратора, когда nagios может выполнять работу по критическим предупреждениям системы / хоста.