проверка Nagios _процессы не сообщают о процессах, не порожденных root

. Я пытаюсь настроить Nagios для мониторинга службы nginx на моем балансировщике нагрузки, но мне не удалось заставить его показывать, что служба запущена. Описание команды и службы приведено ниже. Кажется, что любой процесс, который не порожден root, не будет отображаться как запущенный. Процесс nginx запускается данными www -. Я даже попробовал что-то столь же простое, как проверка «верхнего» процесса, который я запускал под другим пользователем. То, что я представил ниже, отлично работает, пока я выбираю процесс, запущенный с правами root. Если процесс порожден любым другим пользователем, он отображается как критический и не работает. Есть предположения?

    define command {
        command_name    check_nginx
        command_line    $USER1$/check_procs -c 1: -C nginx
}


define service {
   use                  local-service
   host_name            my_host
   service_description  Load Balance Service
   check_command        check_nginx
}
0
задан 13 September 2021 в 17:36
1 ответ

Попробовав все различные параметры, включенные в плагин check_proc, и ничего не добившись, я решил пойти другим путем.Я создал следующий скрипт Python и включил его в каталог плагинов. Имя скрипта Python — check_service.py. Если вы назовете его по-другому, вам придется соответствующим образом изменить сервисы и команды ниже.

   import os

status = os.system('systemctl is-active --quiet nginx')
if status == 768:
  print('Critical, Service is not running')
  exit(2)
elif status == 0:
 print('OK, Service is Running')
 exit(0)

Затем я добавил следующую команду в файл commands.cfg. $ARG1$ предназначен для будущей версии скрипта, над которым я работаю. Это не требуется.

define command{
    command_name    check_service
    command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_service $ARG1$
    }

Определил службу следующим образом.

define service {
    use                             local-service
    host_name                       debian
    service_description             Load Balance Service
    check_command                   check_service
    }

Затем на клиенте я добавил эту команду в файл nrpe.cfg.

command[check_service]=python3 /usr/lib/nagios/plugins/check_service.py

Надеюсь, это поможет кому-нибудь в будущем.

0
ответ дан 15 September 2021 в 14:50

Теги

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