Nagios com SNMP

•19 Novembro, 2008 • 2 Comentários

Este artigo presume que você já tenha um Linux instalado e configurado, estou usando o CentOS 5.1 mas não é difícil adaptar este artigo para outras distros.

O artigo não vai cobrir aspectos da configuração do Nagios, se você quer começar a entender o Nagios é bom dar uma olhada na documentação disponibilizada em http://nagios.sourceforge.net/docs/3_0/toc.html. De resto, o objetivo é ser uma referência para quem está procurando configurar o Nagios com SNMP e gerar gráficos pelo projeto pnp4nagios.

Vou começar fazendo o download dos componentes, no meu caso eu criei uma pasta chamada Nagios para trabalhar:

# cd ~

# mkdir nagios

# cd nagios

# wget http://ufpr.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.5.tar.gz

# wget http://ufpr.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz

Descompacte todos os sources em /usr/src / :

# tar -zxvf nagios-3.0.5.tar.gz -C /usr/src/

# tar -zxvf nagios-plugins-1.4.13.tar.gz -C /usr/src/

Instale os pacotes necessários para o Nagios:

# yum install httpd gcc glibc glibc-common gd gd-devel

Crie o usuário e grupo para o Nagios:

# /usr/sbin/useradd -m nagios

# passwd nagios

# /usr/sbin/groupadd nagcmd

# /usr/sbin/usermod -a -G nagcmd nagios

# /usr/sbin/usermod -a -G nagcmd apache

Vamos manter todos os arquivos do nagios dentro de /usr/local/nagios, isso facilita a administração e backup, vamos à compilação:

# cd /usr/src/nagios-3.0.5/

# ./configure –with-nagios-user=nagios –with-nagios-group=nagios –with-command-group=nagcmd

# make all && make install && make install-init && make install-config && make install-commandmode && make install-webconf

Compile os plugins:

# cd ../nagios-plugins-1.4.13

# ./configure –with-nagios-user=nagios –with-nagios-group=nagios

# make && make install

Crie o usuário e senha para acessar a interface web do nagios:

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

# service httpd restart

Configure o script de inicialização do Nagios:

# chkconfig –add nagios

# chkconfig nagios on

Teste se a configuração está correta e inicialize o Nagios:

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

# service nagios start

Agora o Nagios deve estar acessível pelo navegador:

http://ip-do-servidor/nagios/

Vamos baixar e descompactar os plugins SNMP para o Nagios:

# wget http://nagios.manubulon.com/nagios-snmp-plugins.1.1.1.tgz

# tar -zxvf nagios-snmp-plugins.1.1.1.tgz -C /usr/src/

Instale o plugin Net::SNMP para Perl, faremos isto através do cpan:

# perl -MCPAN -e shell

cpan> install Net::SNMP

Agora instalamos os plugins:

# cd /usr/src/nagios_plugins/

# ./install.sh (Aqui ele faz algumas perguntas, normalmente o padrão atende)

Vamos alterar o resource.cfg, ele guarda as variáveis que são utilizadas pelo Nagios nas definições de comando. Normalmente, ele vem somente com a variável $USER1$ setada como /usr/local/nagios/libexec.

Vamos incluir as seguintes variáveis no fim do arquivo:

$USER7$=-C public

$USER8$=public

Substitua public pela sua comunidade snmp

É preciso incluir os comandos abaixo no commands.cfg.

define command{

command_name check_snmp_load_v1

command_line $USER1$/check_snmp_load.pl -H $HOSTADDRESS$ $USER7$ -T $ARG1$ -w $ARG2$ -c $ARG3$ $ARG4$

}

define command{

command_name check_snmp_int_v1

command_line $USER1$/check_snmp_int.pl -H $HOSTADDRESS$ $USER7$ -n $ARG1$ $ARG2$

}

define command{

command_name check_snmp_mem_v1

command_line $USER1$/check_snmp_mem.pl -H $HOSTADDRESS$ $USER7$ $ARG1$ -w $ARG2$ -c $ARG3$ $ARG4$

}

define command{

command_name check_snmp_storage_v1

command_line $USER1$/check_snmp_storage.pl -H $HOSTADDRESS$ $USER7$ -m $ARG1$ -w $ARG2$ -c $ARG3$ $ARG4$

}

define command{

command_name check_snmp_hpux_storage_v1

command_line $USER1$/check_snmp_hpux_storage.pl -H $HOSTADDRESS$ $USER7$ -m $ARG1$ -w $ARG2$ -c $ARG3$ $ARG4$

}

define command{

command_name check_snmp_hpux_mem_v1

command_line $USER1$/check_snmp_hpux_mem.sh $USER8$ $HOSTADDRESS$ $ARG1$ $ARG2$ $ARG3$ $ARG4$

}

define command{

command_name check_snmp_v1

command_line $USER1$/check_snmp -H $HOSTADDRESS$ $USER7$ -o $ARG1$ -w $ARG2$ -c $ARG3$ $ARG4$

}

define command{

command_name check_snmp_process_v1

command_line $USER1$/check_snmp_process.pl -H $HOSTADDRESS$ $USER7$ -n $ARG1$ -w $ARG2$ -c $ARG3$ $ARG4$

}

define command{

command_name check_win

command_line $USER1$/check_snmp_win.pl -H $HOSTADDRESS$ $USER7$ -n $ARG1$ $ARG2$

}

Não vou dar muitos detalhes dos arquivos de configuração para maquinas Linux e Windows, vou postar aqui só um exemplo para cada um, os detalhes dos comandos você acha em: http://nagios.manubulon.com/

Exemplo para Windows

define host{

use Windows-Servers

host_name win01

alias win01

address 171.16.0.5

}

define service {

use generic-service

host_name win01

service_description L_DISK_USAGE_C:

check_command check_snmp_storage_v1!”^C:”!55!99!-f

}

define service {

use generic-service

host_name win01

service_description L_DISK_USAGE_D:

check_command check_snmp_storage_v1!”^D:”!55!99!-f

}

define service {

use generic-service

host_name win01

service_description L_CPU_LOAD

check_command check_snmp_load_v1!stand!80!90

}

define service {

use generic-service

host_name win01

service_description L_MEMORY_LOAD

check_command check_snmp_storage_v1!”Virtual Memory”!80!90!-rf

}

define service{

use generic-service

host_name win01

service_description N_HTTP

check_command check_tcp!80!

}

Exemplo para Linux

define host{

use Linux-Servers

host_name lin01

alias lin01

address 172.16.0.18

}

define service {

use generic-service

host_name lin01

service_description L_DISK_USAGE_/

check_command check_snmp_storage_v1!/!95!99!-r

}

define service {

use generic-service

host_name lin01

service_description L_CPU_LOAD

check_command check_snmp_load_v1!netsc!90!95

}

define service {

use generic-service

host_name lin01

service_description L_MEMORY_LOAD

check_command check_snmp_mem_v1!-N -w!90,20!95,30

}

define service{

use generic-service

host_name lin01

service_description N_HTTP

check_command check_tcp!80!

}

define service{

use generic-service

host_name lin01

service_description N_SAMBA_DS

check_command check_tcp!445!

}

define service{

use generic-service

host_name lin01

service_description N_SAMBA_NETBIOS

check_command check_tcp!139!

}

Não esqueça que as entradas acima são só exemplos! Leia a documentação em http://nagios.manubulon.com/ pra entender o que você vai fazer.

Isso conclui a parte de configurar o nagios e os plugins, eu já postei como configurar o SNMP no XP (http://luizcarlostomaz.wordpress.com/2008/09/09/snmp-no-windows-xp/) e vou postar como configurar no Linux.

FreeNAS

•23 Setembro, 2008 • Deixe um comentário

O FreeNAS é um servidor NAS (Network-Attached Storage) free com suporte a FTP, NFS, AFP, RSYNC, Protocolos iSCI e CIFS (Samba). Suporta RAID 0,1,5 (software) e tem uma interface de configuração WEB muito abrangente (pode-se configurar todos os recursos da solução pela interface WEB).

A Instalação mínima com interface Web, scripts PHP é baseada no M0n0wall e ocupa 32 MB depois de instalado. pode ser baixado em www.freenas.org

Instalando

Inicie a maquina com o CD do FreeNAS

Depois de iniciado o FreeNAS, escolha a opção 9 (Install/Upgrade to na hard drive/flash device, etc.)

No menu de instalação, escolha a opção que se adequa ao que você quer fazer, no meu caso é a opção 3 (Install ´full´ OS on HDD + data partition)

Depois de terminada a instalação, reinicie sem a mídia do FreeNAS.

A console do FreeNAS sempre vai ficar com uma imagem do daemon, se você teclar qualquer coisa, vai aparecer um menu em Shell onde você pode configurar a rede, interface WEB, desligar, reiniciar ou até abrir uma Shell válida no servidor.

Vamos começar configurando um IP no servidor, entre com a opção 2 (Set LAN IP address) ele vai perguntar se deve buscar a configuração em um servidor DHCP, caso você queira inserir a configuração manualmente, tecle “No”

Ele vai pedir um IP, a mascara o gateway e o DNS, depois vai perguntar se deve configurar o IPv6 automaticamente e volta ao menu inicial.

Agora é possível acessar o FreeNAS webGUI.

Abra o endereço HTTP://ip-do-freenas e entre com o login “admin” e a senha “freenas”.

Vou postando minhas experiências com o FreeNAS, por hora é só.

A ilusão é o combustível dos perdedores

•16 Setembro, 2008 • 2 Comentários

Não conheço ninguém que conseguiu realizar seu sonho, sem sacrificar feriados e domingos pelo menos uma centena de vezes.
Da mesma forma, se você quiser construir uma relação amiga com seus filhos, terá que se dedicar a isso, superar o cansaço, arrumar tempo para  ficar om eles, deixar de lado o orgulho e o comodismo.
Se quiser um casamento gratificante, terá que investir tempo, energia e  sentimentos nesse objetivo.
O sucesso é construído à noite!
Durante o dia você faz o que todos fazem.
Mas, para obter um resultado diferente da maioria, você tem que ser  especial.
Se fizer igual a todo mundo, obterá os mesmos resultados.
Não se compare à maioria, pois infelizmente ela não é modelo de sucesso.
Se você quiser atingir uma meta especial, terá que estudar no horario em  que os outros estão tomando chopp com batatas fritas.
Terá de planejar, enquanto os outros permanecem à frente da televisão.
Terá de trabalhar enquanto os outros tomam sol à beira da piscina.
A realização de um sonho depende de dedicação.
Há muita gente que espera que o sonho se realize por mágica, mas toda  mágica é ilusão e a ilusão não tira ninguém de onde está.
Em verdade, a ilusão é combustível dos perdedores pois…  ‘Quem quer fazer alguma coisa, encontra um meio.  Quem não quer fazer nada, encontra uma desculpa.’

(Roberto Shinyashik)

O cara sabe o que tá falando não?

Plugins SNMP no Nagios

•12 Setembro, 2008 • Deixe um comentário

Algumas coisas facilitam muito a vida de um SysAdmin, shell script e SNMP são duas delas com certeza! Normalmente eu uso o Nagios ou o Groundwork monitorando minhas redes, mas instalar plugins do Nagios nos servidores é um muito chato a gasta tempo demais (instalação, manutenção, etc.) sempre que posso faço as coisas com SNMP, mais simples e funcional.

A dica vai para uma pequena coleção de plugins do Nagios para monitoramento com SNMP.

http://nagios.manubulon.com/

VMware ESXi

•11 Setembro, 2008 • 4 Comentários

A VMware disponibilizou o ESXi, uma solução de virtualização mais robusta que o VMware Server que também é free.

A versão de avaliação (se você não colocar a serial da licença free) vem com o VMware Consolidate Backup ativo, você perde este add-on quando ativa a licença free. Você pode instalar e testar várias soluções da VMware como o VMware VMotion, Hight Availability, Distributed Resources Scheduler e o Virtual Infrastructure.

O ESXi vem com suporte para uso de NAS, SAN e iSCSI além de suportar a alocação de recursos (muito mais abrangente que o VMware Server)como Memória, Processador, disco, etc.

Outro ponto forte são os relatórios de uso de recursos dos equipamentos e diversos outros recursos que não se via em uma solução free da VMware.

Quanto a redes, tem um recurso muito legal de suporte para VLANs onde você pode configurar a porta do seu servidor VMware como hibrida e suas maquinas virtuais serão capazes de conectar a todas as VLANs (claro que você que configura isso).

Monitoramento de redes ninja com Groundwork – 1 de X

•11 Setembro, 2008 • Deixe um comentário

1.0 – Introdução

Este artigo descreve a instalação do Groundwork, um sistema de monitoramento baseado no Nagios com diversos recursos como histórico de desempenho das maquinas, graficos de uso, entre outros.

Existem diversas versões pagas do Groundwork, mas vamos trabalhar com a versão “Community” que não tem qualquer tipo de custo e é “suportada” pela comunidade na web.

Mais informações sobre o Groundwork em www.groundworkopensource.com.

1.1 - Laboratório

A maquina usada para criar este documento é um CentOS 5 em uma maquina Intel x86 32-bit.

1.2 - Requisitos mínimos

No site do projeto, os requisitos mínimos são descritos como:

1.2.0 – Requisitos de hardware

- Intel x86 32/64-bit ou AMD x86 32/64-bit.

- 4GB RAM ou mais.

- 2 CPU 3GHz.

- 160GB de disco.

- É recomendado um servidor dedicado.

Está configuração deve suportar mais de 500 checagens de serviços por minuto.

1.2.1 – Requisitos de S.O.

O Groundwork foi homologado para as seguintes distribuições:

- Red Hat Enterprise Linux 5 Server, 32 or 64-bit

- Red Hat Enterprise Linux 4, 32 or 64-bit

- CentOS 5, 32 or 64-bit

- CentOS 4, 32-bit

- Novell SuSE Linux Enterprise Server (SLES) 10, 32 or 64-bit

- Novell SuSE Linux Enterprise Server (SLES) 9, 32-bit

O Groundwork também é suportado rodando no VMware ESX 3.X

1.2.2 – Requisitos de Software

O Groundwork precisa que já estejam instalados:

- MySQL Community Edition 5.0.51a-0

- Java JDK version 1.5 release 6 or the latest released version of Java JDK 1.5

- perl-DBI 1.40 or later (may already be installed)

2.0 – Baixando e instalando os pacotes necessários

Precisamos baixar os pacotes necessários para continuar com a instalação:

2.1 – Baixando e instalando Perl-DBI

Acesse o home do root:

# cd ~

Faça o download do pacote para a instalação:

# wget ftp://archive.groundworkopensource.com/pub/pre-req-community-edition/perl-DBI-1.40-5.i386.rpm

Instale o pacote:

# rpm –ivh perl-DBI-1.40-5.i386.rpm

2.2 – Baixando e instalando Java JDK

Faça o download do pacote de instalação:

# wget ftp://archive.groundworkopensource.com/pub/pre-req-community-edition/jdk-1_5_0_06-linux-i586-rpm.bin.tar.gz

Descompacte o tarball:

# tar -zxvf jdk-1_5_0_06-linux-i586-rpm.bin.tar.gz

Habilite execução para o arquivo abaixo:

# chmod +x jdk-1_5_0_06-linux-i586-rpm.bin

Execute o bin para gerar o pacote rpm:

# ./jdk-1_5_0_06-linux-i586-rpm.bin

Instale o pacote:

# rpm -ivh jdk-1_5_0_06-linux-i586.rpm

2.3 – Baixando e instalando MySQL community

Faça o download dos pacotes do MySQL:

# wget http://dev.mysql.com/get/Downloads/MySQL-5.0/MySQL-server-community-5.0.51a-0.rhel5.i386.rpm/from/http://mysql.cce.usp.br/

# wget http://dev.mysql.com/get/Downloads/MySQL-5.0/MySQL-client-community-5.0.51a-0.rhel5.i386.rpm/from/http://mysql.cce.usp.br/

# wget http://dev.mysql.com/get/Downloads/MySQL-5.0/MySQL-shared-community-5.0.51a-0.rhel5.i386.rpm/from/http://mysql.cce.usp.br/

Instale os pacotes:

# rpm -ivh MySQL-*

3.0 – Instalando o Ground work

Devemos editar o arquivo /etc/hosts de acordo com o exemplo:

127.0.0.1 localhost localhost.localdomain

172.30.0.51 groundwork groundwork.rede.net

No exemplo acima, a entrada mais importante para nós é a linha de localhost, ela deve estar idêntica ao exemplo acima, a segunda entrada é só ilustrativa, você deve alterar de acordo com suas configurações.

Edite o arquivo etc/selinux/config e mude a linha:

SELINUX=enforcing

Por

SELINUX=disabled

Desabilite o selinux manualmente:

# setenforce 0

Vamos fazer o download do Groundwork:

# wget http://superb-east.dl.sourceforge.net/sourceforge/gwmos/groundwork-ce-5.2.1-52.rhel5.i386.tar.gz

Descompacte o tarball:

# tar -zxvf groundwork-ce-5.2.1-52.rhel5.i386.tar.gz

Acesse o diretório criado:

# cd groundwork-installer-5.2.1/

Execute o script de instalação:

# ./run_install.sh

Caso o hardware da maquina não esteja de acordo com o especificado como mínimo, o script irá exibir alguns avisos, selecione a opção “yes” nestes casos.

O script deve exibir um alerta de que a instalação terminou.

De qualquer navegador, tente acessar a interface de administração do Groundowork simplesmente digitando o IP do equipamento no navegador, usuário “admin” e senha “admin”

Dentro da interface de administração tem o “Bookshelf”, um help bem documentado do Groundwork, de qualquer forma, vou postando algumas coisas ai.

SNMP no Windows XP

•9 Setembro, 2008 • Deixe um comentário

Só pra não dizer q não postei nada hoje, vai ai um tutozinho de como configurar o SNMP no Windows XP/2003:

Dentro do Painel de Controle, acesse o ícone “Adicionar ou remover programas” e no menu da esquerda vá em “Adicionar/remover componentes do Windows” conforme figura abaixo.

Na janela que vai se abrir depois, marque a opção “Ferramentas de gerenciamento e monitoramento” e avançar, o Assistente de componentes vai pedir o cd do Windows XP.

Depois de terminada a instalação, acesse “Painel de controle” > “Ferramentas administrativas” > “Serviços” conforme figura abaixo:

Clique com o botão direito do mouse em “Serviço SNMP” e em propriedades.

Na janela de propriedades, acesse a aba segurança.

Na aba “Segurança”, é possível editar a comunidade SNMP e suas permissões, é possível limitar por IP as maquinas que vão acessar o serviço SNMP do windows.

Depois é só reiniciar o “Serviço SNMP” e pronto, Vou arranjar um Windows 2008 e posto como instalar o SNMP nele também.