Controlando Fan Nagios no dialog
Publicado por Joel Silva da Silva Junior (última atualização em 24/06/2011)
[ Hits: 6.181 ]
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
Limpar o cache da memória RAM apenas quando necessário
ORACLE 10.2g - Fazendo Restore
Limitando largura de banda com o CBQ
Atualização automática de data e hora com ntpdate
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
O que esta havendo com o mercado de ti? (9)
Não consigo cadastrar nenhuma conta online (5)
Hotspot Mikrotik nao carrega pagina de login. (0)