Como criar o seu próprio plug -in Nagios usando script de shell bash

Como criar o seu próprio plug -in Nagios usando script de shell bash

Nagios é um popular sistema de monitoramento de código aberto que pode ser usado para monitorar a disponibilidade e o desempenho de vários recursos, como servidores, redes e serviços. Uma maneira de estender os recursos dos Nagios é criando plugins personalizados usando scripts de bash. Aqui está um esboço geral das etapas envolvidas na criação de um plug -in Nagios usando um script bash:

É importante observar que um plug -in Nagios deve ser projetado para funcionar com rapidez e eficiência, pois será executado em intervalos regulares. Isso significa que o plug-in deve evitar executar tarefas desnecessárias ou demoradas e deve retornar a saída o mais rápido possível.

Existem algumas práticas recomendadas a serem lembradas ao criar um plugin Nagios:

  • Use saída clara e concisa: A saída do plug -in deve ser fácil de entender e fornecer informações claras sobre o status do recurso que está sendo monitorado. Evite usar linguagem complexa ou cheia de jargões e tente manter a saída o mais curta possível.
  • Retorne os códigos de status apropriados: O plug -in deve retornar o código de status correto com base no status do recurso que está sendo monitorado. Por exemplo, se o recurso estiver funcionando corretamente, o plugin deve retornar um código de status de 0 (sucesso). Se houver um problema com o recurso, o plugin deverá retornar um código de status de 1 (aviso) ou 2 (crítico), dependendo da gravidade do problema.
  • Retornar dados de desempenho: Se relevante, o plug -in deve retornar dados de desempenho na forma de nome = valor [uom]; [warn]; [crit]; [min]; [max]. Isso permite que Nagios rastreie o desempenho do recurso ao longo do tempo e alerte o usuário se ele cair fora dos limiares aceitáveis.
  • Use check_nrpe quando possível: Se o plug -in estiver em execução em um servidor remoto, geralmente é mais eficiente usar o utilitário check_nrpe para executar o plug -in, em vez de executá -lo diretamente sobre SSH. Isso evita a sobrecarga de estabelecer uma conexão SSH para cada execução do plug -in.

Seguindo essas práticas recomendadas, você pode criar plugins Nagios eficientes e eficazes que o ajudarão a monitorar os recursos que são importantes para sua organização.

Etapa 1: determine o objetivo do plugin

O primeiro passo na criação de um plug -in Nagios é determinar para que o plug -in será usado. Será usado para verificar o status de um serviço, monitorar o desempenho de um servidor ou executar alguma outra tarefa? Isso ajudará você a projetar o plug -in e escrever o código necessário.

Etapa 2: Escreva um script de shell

Depois de saber para que o plugin será usado, você pode começar a escrever o script Bash. O script deve incluir a lógica necessária para executar a tarefa que o plug -in foi projetado para fazer. Ele também deve incluir a saída no formato esperado por Nagios, que consiste em um código de status (e.g., 0 para sucesso, 1 para aviso, 2 para crítico), uma mensagem e dados de desempenho opcionais.

sudo vim check_disk_usas.sh  

Adicione o script abaixo.

#!/usr/bin/Env Bash ### ========================================== =============================== ### ### Um plugin Nagios para verificar o disco ponto ### ### usa: ./check_disk_usas.sh / ### ### ./check_disk_usas.sh /mnt ### ### ./check_disk_usas.sh /dev /sda1 ### ### ========================================= ================================= ### ### ============= =================================================== ========== ### ### Funções ### ### ============================= ============================================ ### Calcular_Disk_USes () # Calcular o disco usa usada_disk_space = "df -h $ Mount_point | Grep -v FileSystem | awk" print $ 5 '| sed <=100)); then echo "CRITICAL - $USED_DISK_SPACE% of disk space used." exit 2 else echo "UNKNOWN - $USED_DISK_SPACE% of disk space used." exit 3 fi ### ======================================================================= ### ### SCRIPT EXECUTION STARTS HERE ### ### ======================================================================= ### if [[ -z "$1" ]] then echo "Missing parameters! Syntax: ./'basename $0' mount_point/disk" exit 3 else MOUNT_POINT=$1 fi calculate_disk_uses ### ======================================================================= ### ### END OF SCRIPT ### ### ======================================================================= ###
12345678910111213141516171819202122232425262728293031323334353637373839404142434444464748#!/usr/bin/Env Bash ### ========================================== =============================== ##### Um plug -in Nagios para verificar o disco para um determinado disco ou montagem Point ###### usa: ./check_disk_usas.sh / ###### ./check_disk_usas.sh /mnt ###### ./check_disk_usas.sh /dev /sda1 ###### ======================================== ================================= ### ### ============= =================================================== ========== ###### Funções ###### ============================= ============================================ ### Calcular_Disk_USes () # Calcular o disco usa usada_disk_space = 'df -h $ Mount_point | Grep -v FileSystem | awk 'print $ 5' | sed 's/%// g' 'if (($ usada_disk_space> = 0 && $ usada_disk_space<=80)); then echo "OK - $USED_DISK_SPACE% of disk space used." exit 0 elif (($USED_DISK_SPACE>= 81 && $ usada_disk_space<=90)); then echo "WARNING - $USED_DISK_SPACE% of disk space used." exit 1 elif (($USED_DISK_SPACE>= 91 && $ usada_disk_space <=100)); then echo "CRITICAL - $USED_DISK_SPACE% of disk space used." exit 2 else echo "UNKNOWN - $USED_DISK_SPACE% of disk space used." exit 3 fi ### ======================================================================= ###### SCRIPT EXECUTION STARTS HERE ###### ======================================================================= ### if [[ -z "$1" ]] then echo "Missing parameters! Syntax: ./'basename $0' mount_point/disk" exit 3else MOUNT_POINT=$1fi calculate_disk_uses ### ======================================================================= ###### END OF SCRIPT ###### ======================================================================= ###

Salve seu script e verifique executando -o manualmente

Etapa 3: teste o script

Antes de usar o script como um plug -in Nagios, é importante testá -lo para garantir que ele funcione corretamente e produz a saída esperada. Você pode testar o script executando -o da linha de comando e verificando que ele produz a saída correta.

bash check_disk_uss.sh / sh /  

Isso deve funcionar corretamente, antes de configurá -lo com o servidor Nagios.

Etapa 4: instale o plugin

O NRPE é a execução do plug -in remota Nagios que é executada em máquinas clientes, aceita solicitações do servidor Nagios, processam que solicitam e envia o resultado de volta ao servidor Nagios.

  1. Se você não tiver o NRPE instalado em seu sistema. Use os seguintes comandos para instalar o cliente NRPE em seus sistemas baseados em Debian.
    Atualização do sudo apt  sudo apt install nagios-nrpe-server  

    Os comandos acima são para sistemas baseados em Debian. Para instalar o NRPE no sistema baseado em redhat, visite este tutorial.

  2. Depois que o script é testado e funcionando corretamente, você pode instalá -lo como um plug -in Nagios, copiando -o para o “/Usr/local/nagios/libexec” diretório no servidor Nagios.
    sudo mv check_disk_usas.sh/usr/lib/nagios/plugins/check_disk_us.sh  sudo chmod +x/usr/lib/nagios/plugins/check_disk_us.sh  
  3. Em seguida, edite o arquivo de configuração do NRPE “/Etc/nagios/nrpe.CFG ” e adicione seu comando para monitorar alguns discos do seu sistema. comando [check_disk_uss] =/usr/lib/nagios/plugins/check_disk_uss.sh /dev /sda1
    1comando [check_disk_uss] =/usr/lib/nagios/plugins/check_disk_uss.sh /dev /sda1

Você pode ligar para o 'check_disk_uss' comando do servidor Nagios usando o 'check_nrpe' comando e recupere os resultados.

Etapa 5: teste com check_nrpe Comando

Agora, execute o comando abaixo do seu servidor Nagios, onde 192.168.10.100 é o IP do sistema de clientes NRPE.

./check_nrpe -h 192.168.10.100 -C CHECK_DISK_USES  OK - 22% do espaço em disco usado. 

Etapa 6: Configure Nagios para usar este plugin

Depois de instalar o plug -in, você precisará configurar Nagios para usá -lo. Isso envolve a criação de uma definição de comando no arquivo de configuração Nagios (e.g., /usr/local/nagios/etc/objetos/comandos.cfg) e criando uma definição de serviço para especificar como e quando o plug -in deve ser executado.

  1. Primeiro edite o “/Etc/nagios/objetos/comandos.CFG ” arquivo de configuração e defina o comando abaixo: define comando command_name check_disk_uses command_line $ user1 $/check_nrpe -h $ hostaddress $ -c check_disk_uses
    1234define comando command_name check_disk_uses command_line $ user1 $/check_nrpe -h $ hostaddress $ -c check_disk_uses

  2. Em seguida, crie um novo serviço para gerenciar esse serviço: Definir Service Use o serviço genérico host_name 192.168.10.100 service_description Service Check Check_Command Check_disk_uses
    123456Definir serviço Use o serviço genérico host_name 192.168.10.100 service_description Service Check Check_Command Check_disk_uses

  3. Para verificar os arquivos de configuração, execute o 'Nagios -v' comando como:
    /usr/local/nagios/bin/nagios -v/usr/local/nagios/etc/nagios.cfg  

    Se algum erro for exibido, corrija isso antes de reiniciar o serviço Nagios.

  4. Finalmente reinicie o serviço Nagios para aplicar alterações.
    Serviço Nagios Reiniciar  

Conclusão

Este é um esboço geral com um exemplo do mundo real do processo envolvido na criação de um plug-in Nagios usando um script bash. Pode haver etapas ou considerações adicionais, dependendo dos requisitos específicos do seu plugin.