Controlando Fan Nagios no dialog
Publicado por Joel Silva da Silva Junior (última atualização em 24/06/2011)
[ Hits: 5.989 ]
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
pptd - Simples daemon para controle de conexões pptp.
Script contra ataques de Brutal Force por SSH.
Criar pacotes .deb apartir de script
Instalando e configurando o AIDE em 15 minutos
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Instalando Google Chrome no Ubuntu 24.04 LTS
Quantidade de caracteres suportados na barra de endereços dos navegadores
Erro ao fazer parse GUID string para GUID hexadecimal [AJUDA] (6)
Software de reprodução de mídia [RESOLVIDO] (6)