Como criar o seu próprio plug -in Nagios usando script de shell bash
- 3662
- 527
- Wendell Legros
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.
- 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.
- 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
- 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
1 comando [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.
- 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
1234 define comando command_name check_disk_uses command_line $ user1 $/check_nrpe -h $ hostaddress $ -c check_disk_uses - 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
123456 Definir serviço Use o serviço genérico host_name 192.168.10.100 service_description Service Check Check_Command Check_disk_uses - 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.
- 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.
- « Ubuntu 18.04 LTS (Bionic Beaver) liberado
- Exclua todos os e -mails do usuário raiz de um shell no Linux »