разрешение отрицало выполнять check_vmfs.sh через NRPE

у нас есть nagios система контроля, уже работающая, и я был после монитора наши хранилища данных VMware с помощью следующего плагина я установил VMware cli и протестировал без проблем:

[root@nrpe-relay ~]# /usr/lib64/nagios/plugins/check_vmfs.sh -C /usr/lib64/nagios/plugins/vmware_esxi_conf.txt -S 192.168.20.241 -V /vmfs/volumes/LocalSlot45S6 -w 75 -c 90 -u Gb
WARNING - /vmfs/volumes/LocalSlot45S6 - total: 931.25 Gb - used: 800.95 Gb (86%)- free: 130.29 Gb (14%) | /vmfs/volumes/LocalSlot45S6=800.95Gb;698.43;838.12;;931.25

[root@nrpe-relay ~]# ps auxww|grep nrpe
nagios    1463  0.0  0.1  41468  1364 ?        Ss   21:24   0:00 nrpe -c /etc/nagios/nrpe.cfg -d
root      2261  0.0  0.0 103304   876 pts/0    S+   22:00   0:00 grep nrpe

Однако я не получаю то же значение, когда команда работает удаленно:

[root@nagios nagios]# /usr/lib64/nagios/plugins/check_nrpe -H <hostname> -c 'check_datastore_LocalSlot45S6'
CRITICAL -

Это - то, что я имею в своем cfg файле

command[check_datastore_LocalSlot45S6]=/usr/lib64/nagios/plugins/check_vmfs.sh -C /usr/lib64/nagios/plugins/vmware_esxi_conf.txt -S 192.168.20.241 -V /vmfs/volumes/LocalSlot45S6 -w 75 -c 90 -u Gb

и мой сервер cfg:

define service{
    use                     generic-service 
    host_name               <hostname>
    service_description     datastore-LocalSlot45S6
    check_command           check_nrpe!check_datastore_LocalSlot45S6
    }

Это - то, что я вижу от/var/log/message:

nagios nagios: EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;<hostname>;datastore-LocalSlot1-2S3;1441798845

ВОПРОС: у Кого-либо есть какая-либо подсказка о том, где проблема? или как я могу проследить вниз эту проблему?

1
задан 10 September 2015 в 17:33
1 ответ

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

Вы будете либо должны открывать разрешения, чтобы пользователь мог запускать его (кстати, ваш последний комментарий предполагает, что вы не уделяете полного внимания выходным данным; это файл / usr / lib64 / nagios / plugins / check_vmfs.err , для которого было отказано в разрешении, а не check_vmfs.sh ), или модифицируют NRPEd для использования sudo без пароля, например,

command[check_datastore_LocalSlot45S6]=sudo /usr/lib64/nagios/plugins/check_vmfs.sh -C /usr/lib64/nagios/plugins/vmware_esxi_conf.txt -S 192.168.20.241 -V /vmfs/volumes/LocalSlot45S6 -w 75 -c 90 -u Gb

в сочетании с sudoers запись, аналогичная

nagios  ALL=(root) NOPASSWD: /usr/lib64/nagios/plugins/check_vmfs.sh

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

Defaults    !requiretty

в вашем файле sudoers , если его еще нет.

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

Теги

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