Controlando Fan Nagios no dialog
Publicado por Joel Silva da Silva Junior (última atualização em 24/06/2011)
[ Hits: 6.289 ]
Ai moçada, esse script deu trabalho para fazer. Como vocês sabem o Nagios é uma ferramenta um pouco complicada de gerenciar, como criar host, grupo, usuário, apagar usuário, etc. Estou trazendo aqui pra vocês um script que faz a maioria dessas funções, para facilitar o seu gerenciamento.
Obs: Pra esse script funcionar ele precisa do dialog e mc instalado.
#!/bin/bash # Criado por Joel Silva # email: sonic_novel@hotmail.com while : ; do opc=$( dialog --stdout \ --title 'Controle Nagios v 2.0' \ --menu 'Selecione sua opcao - email: sonic_novel@hotmail.com' \ 0 0 0 \ 1 'Iniciar backup do Nagios' \ 2 'Restaurar backup do Nagios' \ 3 'Criar usuario Nagios' \ 4 'Criando HostGroup Nagios' \ 5 'Criando host' \ 6 'Deletar usuario Nagios' \ 7 'Checando Erros no Nagios' \ 8 'Reiniciando Nagios' \ 0 'Sair' ) [ $? -ne 0 ] && clear && break case "$opc" in 1) dialog --sleep 3 --title "BACKUP" --infobox "Iniciando bakcup" 4 40 tar -czvf ~/nagios-bkp-`date +%d-%m-%y`.tar.gz /etc/nagios/ /usr/share/nagios/ dialog --title "Resultado" --msgbox "Backup concluido com sucesso\nno diretorio /root" 0 0 ;; 2) dialog --inputbox "Digite o endereco e nome do backup:" 8 40 2>/tmp/backup tar zxvf `cat /tmp/backup` cp -Rv etc/nagios/ /etc/nagios/ cp -Rv /usr/share/nagios/ /usr/share/nagios/ dialog --sleep 3 --title "RESULTADO" --infobox "Backup Restaurado" 0 0 ;; 3)user=$(dialog --stdout --title "USUARIO" --inputbox "Digite o nome do usario" 8 40) [ $? -ne 0 ] && clear && exit nagiospass=$(dialog --stdout --title "INSIRA A SENHA" --passwordbox "Digite a senha do usuario" 8 40) [ $? -ne 0 ] && clear && exit htpasswd -b /etc/nagios/htpasswd.users $user $nagiospass echo "authorized_for_system_information=$user" >> /etc/nagios/cgi.cfg echo "authorized_for_configuration_information=$user" >> /etc/nagios/cgi.cfg echo "authorized_for_system_commands=$user" >> /etc/nagios/cgi.cfg echo "authorized_for_all_services=$user" >> /etc/nagios/cgi.cfg echo "authorized_for_all_hosts=$user" >> /etc/nagios/cgi.cfg echo "authorized_for_all_service_commands=$user" >> /etc/nagios/cgi.cfg echo "authorized_for_all_host_commands=$user" >> /etc/nagios/cgi.cfg service nagios restart dialog --sleep 3 --title "PARABENS" --infobox "Usuario criando com sucesso" 3 40;; 4) grupo=$(dialog --stdout --title "HOSTGROUP" --inputbox "Digite o nome do grupo" 8 40) [ $? -ne 0 ] && clear && exit echo "define hostgroup{" >> /etc/nagios/objects/hostgroup.cfg echo " hostgroup_name $grupo" >> /etc/nagios/objects/hostgroup.cfg echo " alias $grupo" >> /etc/nagios/objects/hostgroup.cfg echo " }" >> /etc/nagios/objects/hostgroup.cfg echo " define host{" >> /etc/nagios/objects/templates.cfg echo " name $grupo" >> /etc/nagios/objects/templates.cfg echo " use generic-host" >> /etc/nagios/objects/templates.cfg echo " check_period 24x7" >> /etc/nagios/objects/templates.cfg echo " check_interval 1" >> /etc/nagios/objects/templates.cfg echo " retry_interval 1" >> /etc/nagios/objects/templates.cfg echo " max_check_attempts 10" >> /etc/nagios/objects/templates.cfg echo " check_command check-host-alive" >> /etc/nagios/objects/templates.cfg echo " notification_period 24x7" >> /etc/nagios/objects/templates.cfg echo " notification_interval 30" >> /etc/nagios/objects/templates.cfg echo " notification_options d,r" >> /etc/nagios/objects/templates.cfg echo " contact_groups admins" >> /etc/nagios/objects/templates.cfg echo " hostgroups $grupo" >> /etc/nagios/objects/templates.cfg echo " register 0" >> /etc/nagios/objects/templates.cfg echo " }" >> /etc/nagios/objects/templates.cfg service nagios restart dialog --sleep 3 --title "RESULTADO" --infobox "Grupo criado com sucesso" 3 40 [ $? -ne 0] && break ;; 5) while : ; do tipohost=$( dialog --stdout \ --title 'Criano Host' \ --menu 'Escolha o tipo de host para ser criado' \ 0 0 0 \ Windows 'Criando host Windows' \ Linux 'Criando host Linux' \ Outros 'Criando outros tipos de host' \ Edit 'Editando arquivo ou host' \ Retorne 'Retornando para tela principal' ) [ $? -ne 0 ] && clear && exit case "$tipohost" in Windows) hostwin=$(dialog --stdout --title "Host Windows" --inputbox "Digite o nome host Windows" 0 0) ipwin=$(dialog --stdout --title "Endereco IP" --inputbox "Digite o IP do host" 0 0) echo "define host{" >> /etc/nagios/objects/$hostwin.cfg echo " use windows-server " >> /etc/nagios/objects/$hostwin.cfg echo " host_name $hostwin " >> /etc/nagios/objects/$hostwin.cfg echo " alias My Windows Server " >> /etc/nagios/objects/$hostwin.cfg echo " address $ipwin " >> /etc/nagios/objects/$hostwin.cfg echo " }" >> /etc/nagios/objects/$hostwin.cfg echo "define service{" >> /etc/nagios/objects/$hostwin.cfg echo " use generic-service" >> /etc/nagios/objects/$hostwin.cfg echo " host_name $hostwin" >> /etc/nagios/objects/$hostwin.cfg echo " service_description NSClient++ Version" >> /etc/nagios/objects/$hostwin.cfg echo " check_command check_nt!CLIENTVERSION" >> /etc/nagios/objects/$hostwin.cfg echo " }" >> /etc/nagios/objects/$hostwin.cfg echo "define service{" >> /etc/nagios/objects/$hostwin.cfg echo " use generic-service" >> /etc/nagios/objects/$hostwin.cfg echo " host_name $hostwin" >> /etc/nagios/objects/$hostwin.cfg echo " service_description Uptime" >> /etc/nagios/objects/$hostwin.cfg echo " check_command check_nt!UPTIME" >> /etc/nagios/objects/$hostwin.cfg echo " }" >> /etc/nagios/objects/$hostwin.cfg echo "define service{" >> /etc/nagios/objects/$hostwin.cfg echo " use generic-service" >> /etc/nagios/objects/$hostwin.cfg echo " host_name $hostwin" >> /etc/nagios/objects/$hostwin.cfg echo " service_description CPU Load" >> /etc/nagios/objects/$hostwin.cfg echo " check_command check_nt!CPULOAD!-l 5,80,90" >> /etc/nagios/objects/$hostwin.cfg echo " }" >> /etc/nagios/objects/$hostwin.cfg echo "define service{" >> /etc/nagios/objects/$hostwin.cfg echo " use generic-service" >> /etc/nagios/objects/$hostwin.cfg echo " host_name $hostwin" >> /etc/nagios/objects/$hostwin.cfg echo " service_description Memory Usage" >> /etc/nagios/objects/$hostwin.cfg echo " check_command check_nt!MEMUSE!-w 80 -c 90" >> /etc/nagios/objects/$hostwin.cfg echo " }" >> /etc/nagios/objects/$hostwin.cfg echo "define service{" >> /etc/nagios/objects/$hostwin.cfg echo " use generic-service" >> /etc/nagios/objects/$hostwin.cfg echo " host_name $hostwin" >> /etc/nagios/objects/$hostwin.cfg echo " service_description C:\ Drive Space" >> /etc/nagios/objects/$hostwin.cfg echo " check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90" >> /etc/nagios/objects/$hostwin.cfg echo " }" echo "cfg_file=/etc/nagios/objects/$hostwin.cfg" >> /etc/nagios/nagios.cfg dialog --sleep 3 --title "HOST WINDOWS" --infobox "Host $hostwin criado com sucesso" 3 40 ;; Linux) hostlin=$(dialog --stdout --title "Host Linux" --inputbox "Digite o nome host Linux" 0 0) iplin=$(dialog --stdout --title "Endereco IP" --inputbox "Digite o IP do host" 0 0) echo "define host{" >> /etc/nagios/objects/$hostlin.cfg echo " use linux-server " >> /etc/nagios/objects/$hostlin.cfg echo " host_name $hostlin " >> /etc/nagios/objects/$hostlin.cfg echo " alias My Linux Server " >> /etc/nagios/objects/$hostlin.cfg echo " address $iplin " >> /etc/nagios/objects/$hostlin.cfg echo " }" >> /etc/nagios/objects/$hostlin.cfg echo "define service{" >> /etc/nagios/objects/$hostlin.cfg echo " use generic-service " >> /etc/nagios/objects/$hostlin.cfg echo " host_name $hostlin" >> /etc/nagios/objects/$hostlin.cfg echo " service_description PING" >> /etc/nagios/objects/$hostlin.cfg echo " check_command check_ping!100.0,20%!500.0,60%" >> /etc/nagios/objects/$hostlin.cfg echo " }" >> /etc/nagios/objects/$hostlin.cfg echo "define service{" >> /etc/nagios/objects/$hostlin.cfg echo " use generic-service " >> /etc/nagios/objects/$hostlin.cfg echo " host_name $hostlin" >> /etc/nagios/objects/$hostlin.cfg echo " service_description SSH" >> /etc/nagios/objects/$hostlin.cfg echo " check_command check_ssh" >> /etc/nagios/objects/$hostlin.cfg echo " notifications_enabled 0" >> /etc/nagios/objects/$hostlin.cfg echo " }" >> /etc/nagios/objects/$hostlin.cfg echo "cfg_file=/etc/nagios/objects/$hostlin.cfg" >> /etc/nagios/nagios.cfg dialog --sleep 3 --title "HOST LINUX" --infobox "Host $hostlin criado com sucesso" 3 40 ;; Outros) hostou=$(dialog --stdout --title "Outros Host" --inputbox "Digite o nome host" 0 0) ipou=$(dialog --stdout --title "Endereco IP" --inputbox "Digite o IP do host" 0 0) groupou=$(dialog --stdout --title "HostGroup" --inputbox "Digite o HostGroup do host" 0 0) echo "define host{" >> /etc/nagios/objects/$hostou.cfg echo " use $groupou " >> /etc/nagios/objects/$hostou.cfg echo " host_name $hostou " >> /etc/nagios/objects/$hostou.cfg echo " alias My Linux Server " >> /etc/nagios/objects/$hostou.cfg echo " address $ipou " >> /etc/nagios/objects/$hostou.cfg echo " }" >> /etc/nagios/objects/$hostou.cfg echo "define service{" >> /etc/nagios/objects/$hostou.cfg echo " use generic-service " >> /etc/nagios/objects/$hostou.cfg echo " host_name $hostou" >> /etc/nagios/objects/$hostou.cfg echo " service_description PING" >> /etc/nagios/objects/$hostou.cfg echo " check_command check_ping!100.0,20%!500.0,60%" >> /etc/nagios/objects/$hostou.cfg echo " }" >> /etc/nagios/objects/$hostou.cfg echo "cfg_file=/etc/nagios/objects/$hostou.cfg" >> /etc/nagios/nagios.cfg dialog --sleep 3 --title "OUTROS HOST" --infobox "Host $hostou criado com sucesso" 3 40 ;; Edit) dialog --title "INFORMACAO" --msgbox "INFORMACAO: A ferremante usada e um editor chamado MC. \nPara manusear basta usar as teclas F1 a F10" 10 50 mc /etc/nagios/objects/;; Retorne) clear ./$0;; esac done;; 6) dialog --title "REMOVENDO USUARIO" --inputbox "Digite o nome do usuario" 8 40 2>/tmp/userdel [ $? -ne 0] && clear && break sed -i /`cat /tmp/userdel`/d /etc/nagios/htpasswd.users sed -i /`cat /tmp/userdel`/d /etc/nagios/cgi.cfg sed -i s/,`cat /tmp/userdel`//g /usr/share/nagios/nagvis/etc/maps/*.cfg dialog --title "RESULTADO" --msgbox "Usuario deletado com sucesso" 8 40;; 7) (echo 40; sleep 1 echo 75; sleep 1 echo 100; sleep 1) | dialog \ --title "Checando error no Nagios" \ --gauge "\n Checando Errors" \ 8 40 70 nagios -v /etc/nagios/nagios.cfg > /tmp/check_error dialog --textbox /tmp/check_error 0 0 ;; 8) dialog --sleep 3 --title "RESULTADO" --infobox "Reiniciando servico Nagios" 3 40 [ $? -ne 0] && clear && exit service nagios restart dialog --title "RESULTADO" --msgbox "Servico reiniciado com sucerro" 5 40 ;; 0)clear echo "Programa encerrado" break;; esac done
Inventário e Análise de hardware
syncnow - sincronizar diretórios com servidor local
script dapper para debootstrap
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (1)
O que você está ouvindo agora? [2] (190)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (5)
warsaw parou de funcionar após atualização do sistema (solução) (10)