Nagios no debian Lenny

Publicado: 26/07/2011 em Linux, Programação, Serviços IP
Tags:, ,

A primeira atitude para instalar um ambiente de gerência de rede é instalar um pacote chamado snmp, que contem diversos aplicativos que podem ser utilizados para colher informações do protocolo snmp. Instale-o com o seguinte comando:

# apt-get install snmp

Após o termino da instalação, vários comandos para coleta de informações estarão disponíveis: snmpget, snmpset, snmpgetnext, snmpstatus, snmptrap, snmpwalk, e outros. Neste instante já podemos testar se o snmp está funcionando corretamente:

Digite o seguinte comando:
# snmpwalk -v1 -c minhacomunidade localhost system

Se a resposta for algo como abaixo, o sistema está funcionando corretamente:

SNMPv2-MIB::sysDescr.0 = STRING: Linux laptop.ubuntu 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1402) 0:00:14.02
SNMPv2-MIB::sysContact.0 = STRING: Zilmar (configure /etc/snmp/snmpd.local.conf)
SNMPv2-MIB::sysName.0 = STRING: laptop.ubuntu
SNMPv2-MIB::sysLocation.0 = STRING: Meu Laptop (configure /etc/snmp/snmpd.local.conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB

Agora vamos iniicar as ações para instalar o Nagios. As versões dos aplicativos a serem utilizadas neste post são:

  • nagios-3.2.1;
  • nagios-plugins-1.4.14; e
  • nrpe-2.12.
  • 1) Baixar os pacotes necessários

    http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.2.1/nagios-3.2.1.tar.gz/download
    http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.14/
    http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.12/

    O primeiro arquivo é o próprio Nagios; o segundo contém plugins para o Nagios; e o terceiro arquivo….

    2) Baixar os compiladores básicos e os headers do kernel
    Isto se faz necessário apenas no caso do usuário ainda não ter ainda este ambiente em sua máquina.

    # apt-get install build-essential linux-headers-`uname -r`

    O build-essential é o conjunto de pacotes e bibliotecas de compilação, ele instala o GCC, G++ e os demais integrantes do kit básico. Já o pacote “linux-headers” inclui os headers do kernel, o conjunto de arquivos e ponteiros necessários para que o compilador seja capaz de gerar módulos adequados ao kernel em uso. Existem várias versões do pacote, uma para cada versão do kernel disponível nos repositórios (como em “linux-headers-2.6.26-1-686”); por isso, para facilitar, usamos o “linux-headers-`uname -r`” (o ` é o símbolo de crase) que faz com que o apt descubra sozinho qual versão deve instalar a partir do comando “uname -r”. Com isso, o ambiente fica pronto para a instalação dos drivers.

    3) Criar a pasta nagios
    O Nagios será instalado a partir da pasta /usr/local/. Criar abaixo dela uma pasta chamada nagios e copiar para dentro dela os arquivos baixados (citados no início deste post). Após as instalações descritas ao longo deste post, na pasta nagios serão encontradas seis pastas:


    bin/ ............Nagios binários do Nagios
    etc/ ............Diretório principal do Nagios, ele contém os arquivos de configuração e arquivos de configuração do CGI
    libexec/ ........Os plugins do Nagios são armazenados nesse diretórios
    sbin/ ...........CGIs
    share/ ..........Arquivos HTML (para interface web e documentação online)
    var/ ............Diretório vazio utilizado para os arquivos logs

    4) Extrair os arquivos

    # cd /user/local/nagios
    # tar -xvzf nagios-3.2.1.tar.gz
    # tar -xvzf nagios-plugis-1.4.14.tar.gz
    # tar -xvzf nrpe-2.12.tar.gz

    5) Criar o usuário nagios

    # adduser nagios
    # usermod -G nagios nagios
    # usermod -G www-data,nagios www-data

    O primeiro comando cria o usuário nagios, que será o usuário que o Nagios utilizará para a execução. Automaticamente o grupo nagios também será criado com o comando para esse usuário; o segundo e terceiro comandos servem para que o usuário nagios possa executar comandos através da interface web do apache, estando adicionando o usuário ao grupo do apache.

    6) Compilar o Nagios

    # cd /usr/local/nagios/nagios-3.2.1/
    #./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios
    # make all .............# compila o Nagios e os CGIs
    # make install .........# instala os binários
    # make install-init ....# instala os scripts de inicialização
    # make install commandmode ... # cria a pasta que será utilizada para a inserção de comandos externos
    #make install-config ...# instala o arquivo de configuração de EXEMPLO do Nagios.

    Observações:
    (a) Para o comando configure acima, temos as seguintes explicações:
    -prefix=/usr/local/nagios Destino onde o nagios será instalado
    -with-cgiurl=/nagios/cgi-bin Pasta CGI do Nagios
    -with-htmurl=/nagios/ Arquivos HTML do Nagios, pasta da web interface
    -with-nagios-user=nagios Usuário do Nagios
    -with-nagios-group=nagios Grupo do Nagios
    -with-command-group=nagios Grupo de comandos do Nagios o qual tem o usuário webserver (Apache) e o usuário nagios como membros.
    (b) As configurações do arquivo EXEMPLO, referente ao último comando acima, são apenas configurações básicas necessárias para executá-lo, provavelmente você precisará fazer alterações no arquivo /usr/local/nagios/etc/nagio.cfg de acordo com suas necessidades.

    7) Instalar os plugins

    # cd /usr/local/nagios/nagios-plugins-1.4.14
    # ./configure # compila o arquivo
    # make & make install # instala os binários

    Os plugins serão instalados no diretório /usr/local/nagios/libexec. Agora temos o Nagios e os plugins instalados.

    8 ) Configurar o Apache
    Isto é necessário para que seja possível acessar o Nagios e executar comandos externos via interface web. Existem duas formas de realizar a configuração: a primeira é criar um arquivo contendo configurações de ScriptAlias dentro da pasta /etc/apache2/sites-available/; a segunda através da inserção das configurações no arquivo httpd.conf. Será abordado neste post a segunda forma.

    Dentro do arquivo httpd.conf inserir as seguintes configurações:

    ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin/
    AllowOverride AuthConfig
    Options ExecCGI
    Order allow,deny
    Allow from all

    Alias /nagios /usr/local/nagios/share/

    Options None
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all
    AuthName “Nagios Access”
    AuthType Basic
    AuthUserFile /usr/local/nagios/etc/htpasswd.users
    require valid-user

    Salvar o arquivo e em seguida reiniciar o apache:

    #/etc/init.d/apache2 restart

    9) Permissão de acesso
    Para uma maior segurança, o Nagios será configurado de forma que, cada usuário somente terá acesso a sua web interface caso esteja previamente cadastrado. Para isso, criaremos um arquivo de configuração contendo os usuários que terão permissão de acesso a interface do Nagios. O parâmetro “-c” do comando cria um arquivo htpasswd.users e insere o usuário jose:

    #htpasswd -c /usr/local/nagios/etc/htpasswd.users jose

    Editar o arquivo /usr/local/nagios/etc/cgi.cfg. Este arquivo contém as configurações do cgi utilizadas pelo Nagios. Configure os parâmetros abaixo para os usuários que você cadastrou no arquivo /usr/local/nagios/etc/htpasswd.users para que possam acessar o sistema. No caso, o arquivo ficou da seguinte forma:


    authorized_for_system_information=jose
    authorized_for_configuration_information=jose
    authorized_for_system_commands=jose
    authorized_for_all_services=jose
    authorized_for_all_hosts=jose
    authorized_for_all_service_commands=jose
    authorized_for_all_host_commands=jose

    Em seguida, reinicie o Nagios:
    #/etc/init.d/nagios restart

    10) Verificação de erros de configuração
    Podemos verificar se existe algum erro de configuração no trabalho até aqui realizado:

    # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

    Cujo resultado deve ser:

    Total Warnings: 0
    Total Errors: 0
    Things look okay - No serious problems were detected during the pre-flight check

    11) Acessar o Nagios pelo browser
    O Nagios já pode ser acessado através de seu browser, pelo endereço http://localhost/nagios/

    Após a validação de usuário e senha você terá acesso ao Nagios. Agora é preciso configurar os arquivos de configuração do Nagios.

    12) Instale o serviço de monitoramento de máquinas Linux
    O serviço utilizado para monitoramento de máquinas Linux é o NRPE.

    # apt-get install libssl-dev
    # cd /user/local/nagios/nrpe-2.12/
    # ./configure
    # make & make install

    O pacote nrpe utiliza ssl, logo o motivo da instação do pacote libssl-dev. O NRPE funciona tanto sobre xinetd, inetd ou como deamon. Utilizaremos neste post o inetd. Para configurar o inetd para que o nrpe possa funcionar como um serviço e enviar informações ao servidor Nagios é necessário inserir no arquivo /etc/inetd.conf a seguinte linha:

    nrpe stream tcp nowait nagios /usr/sbin/tcpd /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –inetd

    Onde:
    nrpe ……….#serviço a ser executado
    stream ……#tipo de socket
    tcp …………#protocolo utilizado
    nagios ……#usuário com o qual o serviço será executado
    /usr/local/nagios/bin/nrpe -c …….#diretório onde está localizado o executável do nrpe
    /usr/local/nagios/etc/nrpe.cfg …..#arquivo de configuração do nrpe

    Os serviços executados sobre inetd estão contidos no arquivo /etc/services. Defina uma entrada para o serviço do nrpe também nesse arquivo. O nrpe utiliza a porta 5666 e o protocolo TCP, então a entrada para o nrpe no /etc/services é a seguinte:

    nrpe           5666/tcp

    A partir deste momento o nrpe estará funcionando na máquina local. Para checar seu funcionamento pode-se usar o plugin check_nrpe do Nagios, através do seguinte comando:

    /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

    Onde dece-se obter uma saída do tipo:

    NRPE v2.12

    Terminada a configuração, reinicie o nagios:

    /etc/init.d/nagios restart

    Leia mais:
    1- Configurando o Nagios 3 no Debian lenny
    2- Configurando o Nagios 3 no Debian lenny parte 2
    3- Nagios 3 no Debian 5 (Lenny)
    4- Mensagens de erro do nrpe

    Deixe um comentário, pois isto é muito motivante para continuarmos este trabalho

    Preencha os seus dados abaixo ou clique em um ícone para log in:

    Logotipo do WordPress.com

    Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

    Imagem do Twitter

    Você está comentando utilizando sua conta Twitter. Sair / Alterar )

    Foto do Facebook

    Você está comentando utilizando sua conta Facebook. Sair / Alterar )

    Foto do Google+

    Você está comentando utilizando sua conta Google+. Sair / Alterar )

    Conectando a %s