Como monitorar uma coisa customizada (uma consulta sql) no Nagios on Centos

2

Passei dias lendo páginas de documentação enigmática e ininteligível e exemplos incompletos ou mal documentados.

Eu não consigo encontrar por onde começar - é desconcertante!

Basicamente, eu só quero executar um script de shell simples em um servidor de destino e ter nagios agindo no resultado. Eu não quero ter que aprender "C" e passar meses desenvolvendo um plugin, que é como está.

Por exemplo Eu quero dizer escrever um script que executa "select count (*) de logged_in_users"

e têm nagios graph desenham o número resultante (e até alertam sobre isso)

Eu posso escrever um script de 5 linhas na máquina do banco de dados, que retorna o status e as informações em cerca de 10 segundos. O problema é como fazer Naigos ler este valor.

Eu li muitas informações sobre plugins, e vi muitos "scripts" de plugins, mas a informação nunca diz onde os plugs funcionam, eles rodam no Srever, no cliente ou em ambos, agora como eles estão configurados . Eu não quero que o servidor tenha as senhas de banco de dados, então eu só quero escrever um script de shell abitrary no servidor de destino e ter o resultado monitorado.

Os servidores de destino já têm algo chamado nrpe instalado, o que eu esperava que me permitisse escrever um simples shell script, mas todos os seus "comandos" estão em binário, e é completamente enigmático, e não consigo encontrar nenhuma documentação geral .

Alguém pode sugerir por onde começar? Alguém escreveu um roteiro de "hello world"? Não consegui encontrar uma string de pesquisa do google que retorne quaisquer hits relevantes. Ninguém no planeta quer monitorar os resultados de um script personalizado simples via nagios?

Melhor ainda seria um plugin mysql, que permite que você insira seu próprio bit de sql, mas eu não consigo encontrar nada parecido com isso.

Obrigado!

    
por John Little 29.04.2012 / 16:07

3 respostas

3

Sim, você pode executar o servidor nrpe no servidor de destino. No servidor nagios, você pode usar o plugin check_nrpe, que recebe um comando como argumento. Esse comando deve ser definido como nrpe server no servidor de destino. Então, seu script será executado no servidor de destino pelo servidor nrpe.

Aqui está um exemplo:

Você pode definir um comando como este no arquivo nrpe.cfg no servidor de destino:

command[check_my_query]=/usr/lib/nagios/plugins/check_my_query.sh

Você precisa escrever o script /usr/lib/nagios/plugins/check_my_query.sh no servidor de destino. Claro, você pode passar quaisquer parâmetros necessários normalmente.

No servidor nagios, você define o comando de verificação da seguinte forma:

define service{
        use                             generic-service
        host_name                       My_Target_Server
        service_description             My_Query
        check_command                   check_nrpe_1arg!check_my_query
        notifications_enabled           1
        }

Você precisa usar o nome adequado de check_nrpe_1arg na sua configuração do nagios. Já pode ser definido como:

define command {
        command_name    check_nrpe_1arg
        command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -t 15
}
    
por 29.04.2012 / 16:21
2

Parece que você realmente quer ser orientado sobre como usar o check_nrpe com um conjunto personalizado de parâmetros aplicados a um plug-in existente.

Primeiro instale o plugin mysql check no seu servidor mysql. Descobrir o comando que você deseja executar e os parâmetros que você precisa. Escreva essas configurações.

Instale o daemon NRPE no seu servidor mysql. Abra a porta 5666 no iptables, se necessário. Edite o arquivo /etc/nagios/nrpe.cfg e adicione uma linha como a seguinte.

command[annoying_mysql_check]=/usr/lib/nagios/plugins/check_mysql -w 5 -c 10 "select top 10 from .. order by"

Do seu servidor Nagios (na linha de comando)

check_nrpe -H <your mysql host> -c annoying_mysql_check

Isso retornará os resultados encontrados no primeiro conjunto de instruções acima.

Uma vez que você tenha este trabalho a partir da linha de comando em seu servidor Nagios, converta isto para os arquivos de sintaxe e configuração usados pelo Nagios para automatizar o agendamento das verificações. Isso faz parte da documentação principal do Nagios.

    
por 29.04.2012 / 20:46
1

link que faz parte do pacote Nagios no Ubuntu. Não tenho certeza se está no pacote Nagios no CentOS (pode estar em um pacote diferente do pacote de servidores direto do Nagios).

Verificar a saída é uma questão de colocar o check_mysql_query como um "comando" no Nagios e fazer com que o servidor Nagios o execute. Você pode executar o comando de qualquer máquina que tenha acesso ao servidor MySQL, seja o servidor Nagios ou alguma outra máquina (nesse caso você configuraria o NRPE naquela máquina, que o servidor Nagios usaria para executar o comando) .

A representação gráfica é outra questão. Você pode usar nagiosgraph, que eu acho uma dor absoluta para configurar. Há também Munin.

    
por 29.04.2012 / 16:20

Tags