Eu posso reproduzir esse comportamento fornecendo o dispositivo de bloco para check_disk
em vez do ponto de montagem.
Por exemplo:
root@cosmic:~# grep check_root /etc/nagios/nrpe.cfg
command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1
root@cosmic:~# /usr/lib/nagios/plugins/check_nrpe -H 127.0.0.1 -c check_root
DISK OK - free space: /var/tmp 6451 MB (68% inode=78%);| /var/tmp=3033MB;8010;9011;0;10013
root@cosmic:~# /usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1
DISK OK - free space: / 6451 MB (68% inode=78%);| /=3033MB;8010;9011;0;10013
Mas usando o ponto de montagem, obtenho o comportamento esperado:
root@cosmic:~# grep check_root /etc/nagios/nrpe.cfg
command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
root@cosmic:~# /usr/lib/nagios/plugins/check_nrpe -H 127.0.0.1 -c check_root
DISK OK - free space: / 6451 MB (68% inode=78%);| /=3033MB;8010;9011;0;10013
root@cosmic:~# /usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
DISK OK - free space: / 6451 MB (68% inode=78%);| /=3033MB;8010;9011;0;10013
Este comportamento parece estar relacionado de alguma forma à configuração de PrivateTmp=
na unidade systemd. Quando eu remover isso de nagios-nrpe-server.service
, então check_disk
retornará o resultado esperado quando receber o dispositivo de bloco também. Eu brinquei um pouco com um serviço trivial que apenas rodava /bin/df
com PrivateTmp=true
, mas não encontrei nenhum problema óbvio lá. Também retornou os resultados corretos.
Eu sugeriria que a melhor coisa a fazer, se você realmente precisa ser capaz de verificar discos por dispositivo de bloco em vez de ponto de montagem, é relatar um problema para os desenvolvedores do Nagios NRPE para que eles possam realmente investigar o código e encontre o que quer que seja.