Управляющий процесс Nagios изодромным с предварением файлом

Эта книга Нажатия MS делает хорошее задание объяснения этого.

1
задан 7 August 2011 в 17:09
4 ответа

Решение этого, действительно, состоит в том, чтобы выписать чек, который контролирует Ваш фоновый процесс для соответствующей функциональности. Если Вы действительно просто хотите удостовериться, что что-то работает в данном PID, сценарий, который просто работает pgrep $(cat /path/to/pidfile) работал бы, но это переполнено ложным положительным потенциалом - если Ваш процесс умер, то что-то еще выполняет и получает тот же PID, затем Ваша проверка процесса успешно выполнится, когда это не было должно.

Надлежащий способ сделать это должно убраться прочь код daemonisation в Вашем сервисе и выполнить его под чем-то как daemontools - затем, когда это бомбит, это будет автоматически перезапущено. Затем также необходимо контролировать функциональность, для ловли времен, когда процесс не умирает, но так или иначе не удается работать правильно.

2
ответ дан 3 December 2019 в 18:01

проверки nagios обрабатывают из-за различных проверок, не PID. Все сервисы (как HTTP, MySQL, DNS...) имеют отдельные настраиваемые проверки.

Например, у меня есть веб-сервер и выполнение сервера DNS. Затем я использовал бы check_http плагин и check_dns и заставил бы nagios сделать поиск DNS для одного из доменов, для которых я размещаю DNS и вижу, работает ли веб-сервер все еще.

Если сервис не будет работать правильно, то nagios покажет предупреждение. То же для проверки веб-сервера и других. Команда check_procs используется, чтобы видеть, не работает ли Ваш сервер ко многим процессам одновременно (перегрузка).

Все регистрации nagios могут быть настроены с различными параметрами.

2
ответ дан 3 December 2019 в 18:01

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

Вот локальные определения команды для двух фоновых процессов, я проверяю свой сервер. Первое (OpenDKIM) должно иметь 2 выполнения процессов, чтобы пройти тест. Второе (dk-фильтр) должно иметь 1 процесс, работающий для передачи.

# 'check_local_opendkim' command definition
define command{
        command_name    check_local_opendkim
        command_line    $USER1$/check_procs -c 2:2 -C opendkim
        }

# 'check_local_dk-milter' command definition
define command{
        command_name    check_local_dk-milter
        command_line    $USER1$/check_procs -c 1:1 -C dk-filter
        }

Вот то, как настроить те же регистрации nrpe.cfg файла:

command[check_opendkim]=/usr/local/nagios/libexec/check_procs -c 2:2 -C opendkim
command[check_dk-milter]=/usr/local/nagios/libexec/check_procs -c 1:1 -C dk-filter

Или есть ли некоторая причина, что Вы не можете полагаться на название процесса проверки, которую оно выполняет?

0
ответ дан 3 December 2019 в 18:01

Можно сделать это путем получения по запросу hrSWRunName информация от MIB ресурсов хоста.

  1. Установка net-snmp на удаленном хосте
  2. Отредактируйте snmp.conf файл как ниже:

    rocommunity s3cret
    view    systemview    included   .1.3.6.1.2.1.1
    view    systemview    included   .1.3.6.1.2.1.25
    
  3. На контролирующем хосте определите a check_snmp команда с чем-то вроде этого:

    define command{
        command_name    check_snmp
        command_line    $USER1$/check_snmp -H $HOSTADDRESS$ -P $ARG1$ -o $ARG2$ -C $ARG3$ -r $ARG4$
    }
    
  4. И наконец, создайте сервисное определение:

        define service{
            use                     generic-service
            host_name               remote_host
            service_description     <your_service_name>
            check_command           check_snmp!2c!HOST-RESOURCES-MIB::hrSWRunName.<your_service_pid>!s3cret!<service_name>
            contact_groups          admin
        }
    

Тестирование из командной строки:

$ /usr/local/nagios/libexec/check_snmp -o HOST-RESOURCES-MIB::hrSWRunName.2910 -C s3cret -H <ip_address> -P 2c -r nrpe
SNMP OK - "nrpe" | 
$ /usr/local/nagios/libexec/check_snmp -o HOST-RESOURCES-MIB::hrSWRunName.2910 -C s3cret -H <ip_address> -P 2c -r gmond
SNMP CRITICAL - *"nrpe"* | 
0
ответ дан 3 December 2019 в 18:01

Теги

Похожие вопросы