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

в разрешении отказано при запуске 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

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

Ваша проблема в том, что демон 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 файл, если его еще нет.