Instalação automática do Nagios
Publicado por Carlos Eduardo Fraga Ribeiro (última atualização em 30/08/2009)
[ Hits: 13.284 ]
Homepage: http://www.eftech.com.br
Este script instala, de forma automática, o Nagios com vários add-ons como: NagiosQL, NagVis, NDOUtils.
#!/bin/bash ####################################### # # Arquivo: instalar_nagios.sh # # Definição: Script para instalar o sistema de monitoramento de redes "Nagios" # # Requisitos: Instalação básica do CentOS 5.2 # # Versão: 1.0 - 16/08/2009 - Este programa em shell # Versão: 1.1 - 16/08/2009 - Verifica se o download do nagios já existe # Versão: 2.0 - 16/08/2009 - Incluir o NagiosQL # Versão: 3.0 - 16/08/2009 - Incluir o NDOutils # Versão: 4.0 - 16/08/2009 - Incluir o NagVis # Versão: 5.0 - 27/08/2009 - Revisão desde código par ficar mais legivel # # Autor: Eduardo Fraga eduardo@eftech.com.br # # Licença: GPL v2 # ####################################### # # Debug: # set -xv # # Configurações: # # PROXY=http://<usuario>:<senha>:<host>:<porta> PROXY= # USUÁRIO USUARIO=nagios # GRUPO GRUPO=nagios # SENHA PASSWORD=123456 # # # # ####################################### # # # # Verificar se o sistema operacional é CentOS VERSAO=`cat /etc/redhat-release | cut -d" " -f1` if [ ! "$VERSAO" == "CentOS" ]; then echo "Sistema operacional diferente... Saindo!" exit 1 fi # Defini o proxy if [ "$PROXY" == "" ]; then echo "Sem proxy!" else echo "Com proxy!" export http_proxy=$PROXY export ftp_proxy=$PROXY fi # Create a directory for storing the downloads. if [ ! -d ~/downloads ]; then mkdir ~/downloads cd ~/downloads fi # Atualizar o Yum (atualizador do CentOS) yum -y install yum # Instalar o pacotel EPEL (Extra Packages for Enterprise Linux) if [ -f epel-release-5-3.noarch.rpm ]; then echo "O arquivo epel-release-5-3.noarch.rpm já exite" else wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm fi # Instalar os prerequisitos do nagios yum -y install httpd php gcc glibc glibc-common gd gd-devel net-snmp \ net-snmp-utils net-snmp-perl net-snmp-libs per-Net-SNMP # Criar conta de usuario nagios useradd -m -p $PASSWORD $USUARIO # Criar grupo nagcmd para permitir que comandos externos possam ser executados groupadd $GRUPO usermod -a -G $GRUPO $USUARIO usermod -a -G $GRUPO apache # Download do codigo fonte tar.gz (http://www.nagios.org/download/) if [ -f nagios-3.2.0.tar.gz ]; then echo "O arquivo nagios-3.2.0.tar.gz já exite" else wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz fi if [ -f nagios-plugins-1.4.13.tar.gz ]; then echo "O arquivo nagios-plugins-1.4.13.tar.gz já existe" else wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz fi # Extract the Nagios source code tarball. cd ~/downloads tar xzf nagios-3.2.0.tar.gz cd nagios-3.2.0 # Run the Nagios configure script, passing the name of the group you # created earlier like so: ./configure --with-command-group=$GRUPO # Compile the Nagios source code. make all # Install binaries, init script, sample config files and set permissions on # the external command directory. make install make install-init make install-config make install-commandmode # Editar o arquivo contacts.cfg # vi /usr/local/nagios/etc/objects/contacts.cfg # Install the Nagios web config file in the Apache conf.d directory make install-webconf # Create a nagiosadmin account for logging into the Nagios web interface. # Remember the password you assign to this account - you'll need it later. htpasswd -cmb /usr/local/nagios/etc/htpasswd.users nagiosadmin $PASSWORD # Extract the Nagios plugins source code tarball. cd ~/downloads tar xzf nagios-plugins*.tar.gz cd nagios-plugins* # Compile and install the plugins. ./configure --with-nagios-user=$USUARIO --with-nagios-group=$GRUPO make make install # Add Nagios to the list of system services and have it automatically start when the system boots. chkconfig --add nagios chkconfig nagios on chkconfig httpd on # Verify the sample Nagios configuration files. /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg # If there are no errors, start Nagios. service nagios start service httpd start # See if SELinux is in Enforcing mode. #getenforce # Put SELinux into Permissive mode. #setenforce 0 # To make this change permanent, you'll have to modify the settings in # /etc/selinux/config and reboot. # Instead of disabling SELinux or setting it to permissive mode, you can use # the following command to run the CGIs under SELinux enforcing/targeted mode: #chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ #chcon -R -t httpd_sys_content_t /usr/local/nagios/share/ # NagiosQL # Instalar dependencias yum -y install php php-pear mysql-server php-gettext php-mysql # Configurar o proxy no pear # fazer no futuro pear install HTML_Template_IT # Configurar o servidor mysql (se necessario) chkconfig mysqld on service mysqld start mysqladmin -u root password "'"$PASSWORD"'" # Baixar o codigo fonte cd ~/downloads if [ -f nagiosql303.tar.gz ]; then echo "arquivo nagiosql303.tar.gz ja existe" else wget http://downloads.sourceforge.net/project/nagiosql/nagiosql/NagiosQL%203.0.3/nagiosql303.tar.gz fi # Instalar o NagiosQL cp nagiosql303.tar.gz /var/www/html/ cd /var/www/html/ tar -xvf nagiosql303.tar.gz mv nagiosql3 nagiosql touch /var/www/html/nagiosql/install/ENABLE_INSTALLER chown -R apache:apache /var/www/html/nagiosql # Criar a estrutura de diretorios para nagiosQL #/etc/nagiosql/ -> Common configuration files # " /hosts -> Host configuration files # " /services -> Service configuration files # " /backup/ -> Backups of the common configuration files # " " /hosts -> Backups of the host configuration files # " " /services -> Backups of the service configuration files mkdir -p /etc/nagiosql/{hosts,services,backup/{hosts,services}} # Alterar as permissões chgrp apache /usr/local/nagios/ chgrp apache /usr/local/nagios/etc/nagios.cfg chgrp apache /usr/local/nagios/etc/cgi.cfg chmod 775 /usr/local/nagios/ chmod 664 /usr/local/nagios/etc/nagios.cfg chmod 664 /usr/local/nagios/etc/cgi.cfg chmod 6755 /etc/nagiosql/ chown apache.nagios /etc/nagiosql/ chmod 6755 /etc/nagiosql/hosts/ chown apache.nagios /etc/nagiosql/hosts/ chmod 6755 /etc/nagiosql/services/ chown apache.nagios /etc/nagiosql/services/ chmod 6755 /etc/nagiosql/backup/ chown apache.nagios /etc/nagiosql/backup/ chmod 6755 /etc/nagiosql/backup/hosts/ chown apache.nagios /etc/nagiosql/backup/hosts/ chmod 6755 /etc/nagiosql/backup/services/ chown apache.nagios /etc/nagiosql/backup/services/ # criar link simbolico de /usr/local/nagios para /etc/nagios ln -sf /usr/local/nagios/etc /etc/nagios cp /etc/nagios/nagios.cfg /etc/nagios/nagios2.cfg sed s/cfg_file/#cfg_file/g /etc/nagios/nagios2.cfg > /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/contacttemplates.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/contactgroups.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/contacts.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/timeperiods.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/commands.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/hostgroups.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/servicegroups.cfg" >> /etc/nagios/nagios.cfg echo "cfg_dir=/etc/nagiosql/hosts" >> /etc/nagios/nagios.cfg echo "cfg_dir=/etc/nagiosql/services" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/hosttemplates.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/servicetemplates.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/servicedependencies.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/serviceescalations.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/hostdependencies.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/hostescalations.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/hostextinfo.cfg" >> /etc/nagios/nagios.cfg echo "cfg_file=/etc/nagiosql/serviceextinfo.cfg" >> /etc/nagios/nagios.cfg chmod -R 777 /usr/local/nagios/ mkdir /var/nagios ln -sf /usr/local/nagios/var/nagios.lock /var/nagios/nagios.lock # NDOutil # Instalar requisitos yum -y install mysql-devel # Baixar requisitos cd ~/downloads/ if [ ! -f ndoutils-1.4b8.tar.gz ]; then wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b8.tar.gz fi tar zxf ndoutils-1.4b8.tar.gz cd ndoutils-1.4b8 # Instalar ./configure make cd src/ cp ndomod-3x.o /usr/local/nagios/bin/ cp ndo2db-3x /usr/local/nagios/bin/ cp log2ndo /usr/local/nagios/bin/ cp file2sock /usr/local/nagios/bin/ cd ../db/ echo 'create database nagios;' | mysql -u root -p$PASSWORD ./installdb -u root -p $PASSWORD -h 127.0.0.1 -d nagios cd ../config/ cp ndomod.cfg /usr/local/nagios/etc/ndomod.cfg sed -e s/db_user=ndouser/db_user=root/ -e s/db_pass=ndopassword/db_pass=123456/ \ ndo2db.cfg > /usr/local/nagios/etc/ndo2db.cfg #cat nagios.cfg >> /usr/local/nagios/etc/nagios.cfg echo 'broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg' >> /usr/local/nagios/etc/nagios.cfg cat misccomands.cfg >> /usr/local/nagios/etc/objects/commands.cfg /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg ln -sf /usr/local/nagios/bin/ndo2db-3x /usr/local/nagios/bin/ndo2db service nagios restart service httpd restart # # NagVis # # Requisitos yum -y install php-xml php-gd php-mysql install php-mbstring install perl install perl-JSON-XS graphviz* cd ~/downloads/ # Baixar o NagVis if [ -f nagvis-1.4.2.tar.gz ]; then echo "O arquivo nagvis-1.4.2.tar.gz ja existe" else wget http://downloads.sourceforge.net/project/nagvis/NagVis%201.4%20%28stable%29/NagVis-1.4.2/nagvis-1.4.2.tar.gz fi tar -xvf nagvis-1.4.2.tar.gz -C /usr/local/nagios/share/ cd /usr/local/nagios/share/ mv nagvis-1.4.2 nagvis chown -R $USUARIO.$GRUPO nagvis cd nagvis cp install.sh install2.sh sed s/NEED_GV_VERSION=2.14/NEED_GV_VERSION=2.12/ install2.sh > install.sh ./install.sh cp etc/nagvis.ini.php etc/nagvis2.ini.php sed -e 's/;dbpass=""/dbpass="123456"/' etc/nagvis2.ini.php > etc/nagvis.ini.php service httpd restart service nagios restart
Raízes da equação de segundo grau (Bhaskara) através do prompt em shell
Descobrir se um número é par ou impar
Criação de servidores de arquivos simples com Samba
Correção Bug Kurumin/Som on-boad
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
Remoção de propaganda com o programa Comskip[AJUDA] (4)
Instalação do drive do adaptador wiffi (5)
Linux Lite Demorando Muito Para Ligar (1)