Estou recebendo NRPE: Não é possível ler a saída ao tentar se conectar ao contêiner docker usando nagios.
Quando executo esse script diretamente na máquina cliente, ele retorna com êxito o número de linhas no mongo db. Mas quando eu o executo remotamente a partir do servidor, estou ficando incapaz de ler a saída.
executing from nagios server
/usr/lib64/nagios/plugins/check_nrpe -H hostipaddress -c check_mongocount
NRPE: Unable to read output
O script check_mongocount está basicamente conectando-se ao contêiner docker e contando o número de linhas de um determinado cliente para uma data.
count='sudo /bin/docker exec -it container mongo dbname --quiet -u "test" -p "test" --authenticationDatabase "test" --eval '(db.test.count( { $and: [{create_at: {$gte: NumberLong("1499227200"), $lt: NumberLong("1499313599")}},{customerid:1}]}))'
/etc/nagios/nrpe.cfg tem a seguinte linha adicionada.
command[check_mongocount]=sudo /usr/lib64/nagios/plugins/test.sh
Eu tenho nrpe ALL=(ALL) NOPASSWD:ALL
no meu arquivo / etc / sudoers . Embora o nrpe tenha todos os direitos para executar o comando docker, ele não está retornando o valor da contagem.