Acabei usando o NRPE com um plug-in que resolveu meu problema de conexão.
Estou tentando testar o plugin check_mysql para o Nagios usando a linha de comando. Ele funciona muito bem quando eu estou apenas verificando localhost, mas quando tento especificar um servidor diferente (usando o argumento -H) fico recebendo a seguinte mensagem de erro:
CRITICAL - Unable to connect to mysql://nagios_user@{remoteServerHostname}/ - Access denied for user 'nagios_user'@'{localServerHostName}' (using password: YES)
Parece que ele está tentando se conectar ao banco de dados usando o servidor localhost, mesmo que eu tenha especificado um nome de host diferente. Eu já configurei esse usuário no banco de dados remoto e eles têm permissões corretas. Eu só estou tentando descobrir por que o script continua inserindo o nome do servidor localhost em vez do remoto.
A configuração padrão para um servidor MySQL é negar o acesso de clientes com endereços IP diferentes do endereço do servidor. Para contornar isso, execute o seguinte comando no seu servidor:
# mysql -u root
mysql> grant select on [DB name you're checking].* to 'nagios_user'@'[Nagios server IP address or hostname]' identified by '[password for nagios_user]';
mysql> flush privileges;
Verifique também se o firewall do seu servidor MySQL permite acesso do seu servidor Nagios na porta do servidor MySQL (o padrão é 3306).