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

icinga2: nrpe check_service дает неверный результат серверу

Я пытаюсь запустить сторонние и свои собственные проверки.

Текущая тестовая установка состоит из одного сервера icinga (web) 2 CentOS 7 и одного клиента CentOS 7 с NRPE, установленным в той же сети, а firewalld отключен.

Плагин check_service, который я пытаюсь запустить, использует systemctl is-active.

Выполнение проверки на клиенте дает правильный результат:

[root@localhost ~]# sudo -u nrpe /usr/lib64/nagios/plugins/check_service -s docker
OK: Service docker is running!

При запуске с сервера Icinga2 это приводит к сообщению «Служба не работает», даже если служба запущена на клиенте:

[root@icinga2 ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.100.153 -c check_docker_service
CRITICAL: Service docker is not running!

Все стандартные тесты работают правильно при вызове из Icinga2.


Клиент:

/ и т.д. / sudoers

[...]
nrpe    ALL=NOPASSWD:/bin/systemctl is-active docker,/usr/lib64/nagios/plugins/check_service
nagios  ALL=NOPASSWD:/bin/systemctl is-active docker,/usr/lib64/nagios/plugins/check_service
[...]

/etc/nagios/nrpe.cfg

log_facility=daemon
debug=0
pid_file=/var/run/nrpe/nrpe.pid
server_port=5666
nrpe_user=nrpe
nrpe_group=nrpe
allowed_hosts=127.0.0.1,::1,192.168.100.151
dont_blame_nrpe=0
allow_bash_command_substitution=0
command_timeout=60
connection_timeout=300
[...some working default checks...]
command[check_docker_service]=/usr/lib64/nagios/plugins/check_service -s docker
include_dir=/etc/nrpe.d/

Сервер:

/etc/icinga2/conf.d/hosts/test.conf

object Host "Host 1" {
    import "generic-host"
    address = "192.168.100.153"
    vars.os = "Linux"
    vars.sla = "24x7"
}

object Service "Docker" {
    import "generic-service"
    host_name = "Host 1"
    check_command = "nrpe"
    vars.nrpe_command = "check_docker_service"
}

На стороне nrpe selinux находится в принудительном режиме.

Протестируйте сценарий еще раз после:

# setenforce 0

Если selinux включен в принудительном режиме, вам необходимо настроить контекст файла:

# semanage fcontext -a -t nagios_admin_plugin_exec_t check_service
# restorecon -R -v check_service

См .: nagios_selinux