9
Manual de implementação do Nagios Faça o download da versão atual do Nagios, você pode usar o wget: $ wget http://heanet.dl.sourceforge.net/sourceforge/nagios/nagios- 1.1.tar.gz Descompacte o arquivo utilizando o tar: $ tar zxvf nagios-1.1.tar.gz É necessário criar uma conta de usuário para o programa, um possível comando seria: # adduser --disabled-password --shell /bin/false nagios Entre na pasta inicie a compilação: $ ./configure se tudo estiver correto: $ make all # make install A compilação irá gerar arquivos CGIs que serão utilizados em conjunto com o Apache, então para que o Nagios funcione corretamente, o Apache deverá estar funcionando. O Nagios funciona através de plugins, ou seja, caso queira disponibilizar alguma funcionalidade que não esteja no pacote padrão, basta baixar o plugin e instalar. Por padrão o Nagios é instalado em /usr/local/nagios. Os próximos passos são: # make install-ini

Manual de implementação do Nagios

Embed Size (px)

Citation preview

Page 1: Manual de implementação do Nagios

Manual de implementação do Nagios

Faça o download da versão atual do Nagios, você pode usar o wget:

$ wget http://heanet.dl.sourceforge.net/sourceforge/nagios/nagios-1.1.tar.gz

Descompacte o arquivo utilizando o tar:

$ tar zxvf nagios-1.1.tar.gz

É necessário criar uma conta de usuário para o programa, um possível comando seria:

# adduser --disabled-password --shell /bin/false nagios

Entre na pasta inicie a compilação:

$ ./configure

se tudo estiver correto:

$ make all# make install

A compilação irá gerar arquivos CGIs que serão utilizados em conjunto com o Apache, então para que o Nagios funcione corretamente, o Apache deverá estar funcionando.

O Nagios funciona através de plugins, ou seja, caso queira disponibilizar alguma funcionalidade que não esteja no pacote padrão, basta baixar o plugin e instalar.

Por padrão o Nagios é instalado em /usr/local/nagios.

Os próximos passos são:

# make install-ini-> para instalar o script de inicialização do nagios.

# make install-commandmode-> para configurar as permissões de pasta para aplicativos externos.

# make install-sample-> um modelo de arquivo de configuração será instalado em /usr/local/nagios/et

Page 2: Manual de implementação do Nagios

Configurando o ApacheExistem duas maneiras de se configurar o Apache, uma delas é simplesmente

definindo um alias no arquivo srm.conf, que no meu caso se localiza em /etc/apache/:

# vi srm.conf

Adicione as seguintes linhas no arquivo:

ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/Alias /nagios/ /usr/local/nagios/share/

# vi access.conf

Adicione as seguintes linhas no arquivo:

<Directory /usr/local/nagios/sbin>AllowOverride NoneOptions ExecCGI FollowSymLinks</Directory>

Ou então através de um host virtual. Edite o arquivo httpd.conf e adicione as linhas:

<VirtualHost seuipexterno seuipinterno>        ServerAdmin [email protected]        ServerName nagios.seudominiocom.br        DocumentRoot /usr/local/nagios/share/        ErrorLog /var/log/apache/nagios.seudominio.com.br-erro.log        Transferlog /var/log/apache/nagios.seudominio.com.br-access.log</VirtualHost>

É necessário que exista um alias no DNS ou no arquivo host para o endereço nagios.seudomino.com.br.

Maiores informações sobre como criar um host virtual você pode encontrar em http://www.apache.org ou procurando aqui mesmo no Viva o Linux.

Neste artigo assumirei a configuração do Nagios através da criação de um alias.

A versão do Apache utilizado neste arquivo foi:

Server version: Apache/1.3.26 (Unix) Debian GNU/Linux

Arquivos de configuraçãoA seguir darei uma breve descrição dos principais arquivos de configuração do

Nagios.

Page 3: Manual de implementação do Nagios

nagios.cfg, arquivo de configuração principal do Nagios, responsável por iniciar os serviços de monitoramento.

cgi.cfg, arquivo de configuração dos programas CGIs localizados na pasta sbin. hosts.cfg, arquivo contendo informações sobre hosts. hostgroups.cfg, arquivo contendo informações de hosts por grupos. contacts.cfg, contatos que deverão se notificados caso alguma falha aconteça. contactsgroups.cfg, contatos divididos em grupos. services.cfg, serviços que deverão ser monitorados. dependencies.cfg, informações de serviços que dependem de outros serviços. timeperiods.cfg, informações sobre o período de monitoramento, podem ser

definidos vários períodos de monitoramento diferentes. checkcomands.cfg, definição dos comandos que podem ser executados pelo

Nagios. resource.cfg, macros definidas pelo usuário.

Configurando o NagiosPrimeiramente copie todos os arquivos .cfg-sample para .cfg.

A configuração do Nagios não é direta, uma vez que os arquivos são interdependentes, caso ao iniciar o Nagios aconteça algum erro na configuração, geralmente o motivo foi a falta de configuração de todos os arquivos cfg necessários, uma vez que o cfg copiado de cfg-sample não irá funcionar, ele é apenas utilizado como referência para suas próprias configurações.

Mostrarei aqui os arquivos que deverão ser alterados para que o Nagios funcione corretamente e mostrarei alguns exemplos de configuração.

Os arquivos que a princípio devem ser modificados são:

hosts.cfghostgroups.cfgcontacts.cfgcontactgroups.cfgservices.cfgcgi.cfgescalation.cfgdependencies.cfg

nagios.cfgO nagios.cfg é o arquivo de configuração principal do programa, nele se

encontra todas as configurações básicas do mesmo.

Page 4: Manual de implementação do Nagios

A princípio nenhuma modificação precisará ser feita. Basta apenas colocar o nagios.cfg em /usr/local/nagios/etc/.

cgi.cfgNeste arquivo, a fim de facilitar a configuração, iremos desabilitar a

autenticação CGI para usuários. Localize a linha:

use_authentication=1

e modifique para:

use_authentication=0

Explicarei em outro artigo como habilitar a autenticação de usuário no Nagios, a princípio nos preocuparemos em colocar o serviços funcionando.

Este arquivo deverá estar em /usr/local/nagios/etc/.

hostgroups.cfgArmazena informações de grupos de equipamentos (computadores, switch,

impressoras) existentes em sua rede.

A configuração de hostgroups.cfg torna-se necessário para que se organize os dispositivos de rede e torne a leitura mais fácil.

Um exemplo de hostgroups.cfg:

define hostgroup {        hostgroup_name     servidores        alias                       Servidores windows e linux        contact_groups       administrador        members               computador.dominio.com.br }

omputador.dominio.com.br terá que existir no arquivo de configuração hosts.cfg.

administrador terá que existir no arquivo de configuração contactgroups.cfg.

hosts.cfgArmazenas as informações sobre os dispositivos de rede (computador, switch,

impressora, roteador).

Page 5: Manual de implementação do Nagios

Um exemplo de hosts.cfg com apenas uma máquina:

define host {        use generic-host        ; Name of host template to use        host_name                computador.dominio.com.br        alias                      computador        address                 192.168.0.1        check_command         check-host-alive        max_check_attempts       10        notification_interval    120        notification_period      24x7        notification_options    d,u,r}

host_name é o nome do computador na rede. alias é um apelido amigável para o computador. address é o endereço IP da máquina. check_command é o comando a ser executado, está definido em

checkcommands.cfg. max_check_attempts é o número máximo de vezes que o programa irá checar

pelo serviço até reportar um erro. notification_interval, de quantos em quantos segundos será enviado uma

notificação para o usuário responsável pelo serviço. notification_period, qual o horário que o serviço ficará ativo. notification_options, quando notificar um erro, d-down,u-unrecheable,r-

recovery.

contactgroups.cfg e contacts.cfgcontactsgroups.cfg são os contatos divididos em grupos.

Um exemplo de contactgroups.cfg:

define contactgroup {        contactgroup_name       administrador        alias                   Administradores de rede        members                 wberbert}

contacts.cfg são os contatos cadastrados no sistema. Estes contatos serão notificados caso algum erro aconteça na rede.

Um exemplo de contacts.cfg:

define contact {        contact_name                  wberbert        alias                         Wanderson Berbert

Page 6: Manual de implementação do Nagios

        service_notification_period   workhours        host_notification_period      workhours        service_notification_options  c,r        host_notification_options     d,r        service_notification_commands notify-by-email        host_notification_commands    host-notify-by-email        email                         [email protected]}

Instalando os pluginsOs plugins são os programas que farão a checagem do serviço propriamente

dito, sem os plugins o Nagios é um programa inútil.

Primeiramente obtenha os plugins com o comando:

$ wget http://keihanna.dl.sourceforge.net/sourceforge/nagiosplug/ nagios-plugins-1.4.0alpha1.tar.gz

Descompacte com o comando:

$ tar -zxvf nagios-plugins-1.4.0alpha1.tar.gz

Entre na pasta e execute:

$ ./configure$ make # make install

Pronto, os plugins estarão instalados na pasta /usr/local/nagios/libexec/.

Se tudo foi feito corretamente, o Nagios a esta altura estará funcionando com a configuração básica.

Boa sorte.

Disponibilizei na sessão de .Conf os arquivos básicos de configuração do Nagios: nagios.tar.gz

ATENÇÃO: todos os arquivos da pasta /usr/local/nagios deverão pertencer ao usuário nagios.nagios, a fim que se evite problemas desnecessários com permissões de arquivos.

Page 7: Manual de implementação do Nagios

Considerações finaisE importante que se tenha em mente:

O Nagios não irá funcionar sem os plugins. O Nagios não irá funcionar se o Apache não estiver configurado corretamente. Verifique as permissões dos arquivos antes de ficar desesperado :-). Preste atenção na localização dos arquivos. Tenha certeza que configurou tudo antes de iniciar o programa.

Maiores informações podem ser obtidas em: http://www.nagios.org.

Qualquer dúvida envie um email.