nagios na pratica

97
MANUAL DE NAGIOS Baseado no site: http://nagiosnapratica.wordpress.com/

Upload: francisco-silva

Post on 19-Jan-2016

77 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Nagios Na Pratica

MANUAL DE NAGIOS

Baseado no site:

http://nagiosnapratica.wordpress.com/

Page 2: Nagios Na Pratica

Sumário

ARTIGO 01 - O Poderoso Nagios...................................................................................................3ARTIGO 02 - Instalando o Nagios..................................................................................................4ARTIGO 03 - Monitorando Serviços TCP/IP no Nagios................................................................7ARTIGO 04 - Entendendo o define host e define service no Nagios..............................................9ARTIGO 05 – Monitorando SO Windows com NSCLIENT++ no Nagios..................................12ARTIGO 06 – Monitorando SO Linux com NRPE no Nagios......................................................18ARTIGO 07 – Organizando a Configuração do Nagios................................................................25ARTIGO 08 – Hostextinfo, Parents e Mapa no Nagios.................................................................30ARTIGO 09 – Enviando e-mail de notificação no Nagios............................................................35ARTIGO 10 – Nagios utilizando MySQL com NDOUtils............................................................39ARTIGO 11 – Gráfico no Nagios com PNP4Nagios.....................................................................42ARTIGO 12 – Criando plugin para o Nagios em Shell Script.......................................................46ARTIGO 13 – Instalando Novo Tema para o Nagios....................................................................50ARTIGO 14 – Atualizando a Versão do Nagios............................................................................52ARTIGO 15 – Monitorando Hardware do Switch com SNMP.....................................................55DICA 01 – Monitorando Web Sites por PalavraChave.................................................................58DICA 02 – Plugin no Mozilla Firefox para o Nagios....................................................................60DICA 03 – Plugin que monitora servidor de e-mail no Nagios.....................................................67DICA 04 – Listas de discussões sobre o Nagios em português.....................................................68DICA 05 – Backup do Nagios.......................................................................................................70DICA 06 – Nagios monitorando com hora marcada......................................................................71DICA 07 – Script para Monitorar SO Windows............................................................................73DICA 08 – Monitorando Processo com parâmetro (Windows) no NSClient++...........................77NOTÍCIAS 01 – Curso Oficial do Nagios.....................................................................................78NOTÍCIAS 02 – O “Pai” do Nagios no Brasil..............................................................................80NOTÍCIAS 03 – LM entrevista o Pai do Nagios – Ethan Galstad................................................81NOTÍCIAS 04 – Nagios 3.3.1.......................................................................................................86NOTÍCIAS 05 – Novo Canal de Video para Nagios.....................................................................88TUTORIAL 01 – NagiosVision.....................................................................................................89

Introdução.................................................................................................................................89Requisitos..................................................................................................................................89Download e instalação..............................................................................................................90

TUTORIAL 02 – Nagios 3.3.1 com Check_MK...........................................................................92TUTORIAL 03 - Instalação Nagios 3.4.x Ubuntu e CentOS – Documentação Oficial................97

Page 3: Nagios Na Pratica

ARTIGO 01 - O Poderoso NagiosO Poderoso Nagios!

Olá a todos, venho aqui escrever sobre o Nagios, conhecido por muitos entendido por poucos! rs(pior que é verdade)!

Senhores o Nagios é uma poderosa e mais completa ferramenta de monitoramento no mundoSoftware Livre, com esta ferramenta é possível monitorar equipamentos de rede, SistemasOperacionais Linux, Unix, FreeBSD, Windows e etc. Costumo questionar aos clientes:

P. O que você quer que eu monitore tem IP??R. Se a resposta for SIM! então informo animado! SIM.

Com o Nagios é possivel Monitorar:

• Serviços TCP/IP • Processos Linux/Windows • Disponibidade • Hardware através SNMP

No próprio site do Nagios é possível encontrar um guia de instalação e manual de como instalar econfigurar os clientes para Linux e Windows, porém tudo em English. Não se preocupe em brevevou escrever como instalar e configurar (aguardem).

De qualquer forma você que esta com pressa de ter informações sobre o Nagios além de pesquisarno google, você pode ir direto para estes sites que sem duvidas são os principais:

• http://www.nagios.org • http://exchange.nagios.org • http://nagios.sourceforge.net/docs/3_0/toc.html

Para ver os screenshots segue o link:

http://www.nagios.com/products/nagioscore/screenshots

Page 4: Nagios Na Pratica

ARTIGO 02 - Instalando o NagiosApós apresentar o Nagios e dizer do que ele é capaz, chegou a hora de realizar a instalação do mesmo, com as melhores práticas!

Antes de qualquer comando informo que utilizo o Linux distro Debian 5

## Primeiramente vamos atualizar o SO, acesse o arquivo source.list com o vim e insira as linhas abaixo

vim /etc/apt/source.list

### ------------ Repositório no Debian ----------------------------------###deb http://security.debian.org/ lenny/updates maindeb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile maindeb-src http://volatile.debian.org/debian-volatile lenny/volatile main

deb http://ftp.br.debian.org/debian/ lenny maindeb-src http://ftp.br.debian.org/debian/ lenny main

## Agora vamos atualizar os repositorios e em seguidas todo o sistema

nagios:~# aptitude updatenagios:~# aptitude safe-upgrade

## Pacotes Basicos necessários

nagios:~# aptitude install make g++-4.3 g++ bzip2 vim

## Agora antes de instalar o Nagios é necessário instalar as suas dependencias, que nada mais é o que o Nagios precisa para funcionar

aptitude install apache2 libapache2-mod-php5 build-essential libgd2-xpm-dev

## Necessário criar usuario nagios

nagios:~# useradd -m -s /bin/bash nagios

## É recomendado a troca de senha deste usuario e inclui-lo em alguns grupos

nagios:~# passwd nagios

Digite a nova senha UNIX:Redigite a nova senha UNIX:passwd: senha atualizada com sucesso

nagios:~# groupadd nagcmdnagios:~# usermod -a -G nagcmd nagiosnagios:~# usermod -a -G nagcmd www-data

### Agora vamos baixar e instalar o Nagios e seus plugins

cd /usr/src/wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.2.tar.gzwget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz

### Descompactando

Page 5: Nagios Na Pratica

nagios:/usr/src# tar zxvf nagios-3.2.2.tar.gznagios:/usr/src# tar zxvf nagios-plugins-1.4.11.tar.gz

### ------------ Instalando o Nagios ----------------------------------###cd nagios-3.2.2./configure --prefix=/usr/local/nagios --with-command-group=nagcmd \--enable-nanosleep --enable-event-brokermake allmake installmake install-initmake install-commandmodemake install-configmake install-webconf

## Configurando usuário para acessar a interface web

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

New password:Re-type new password:Adding password for user nagiosadmin

### Terminando o ajuste no apache

/etc/init.d/apache2 reload

### Agora para o nagios funcionar é necessário a configuração dos seus plugins Nativos, neste pacote é encontrado todos os plugins homologados pelo Nagios, como ping, http, by_ssh, pop, etc.

nagios:/usr/src/nagios-3.2.2# cd ../nagios-plugins-1.4.11

./configure --with-nagios-user=nagios --with-nagios-group=nagiosmakemake install

## Ajustes finais na configuração

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

aptitude install mailx postfix

## Testando a configuração do Nagios, sempre utilizar este comando antes de reiniciar o seu Nagios, este comando testa toda a configuração e aponta caso tenha qualquer problema na configuração.

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

## Iniciando o Nagios

/etc/init.d/nagios startStarting nagios: done.

## Acessando a Interface Gráfica do Nagios através do seu navegador favorito

http://IP-do-Servidor/nagios

## Anteriormente criamos usuario: nagiosadmin e uma senha, chegou a hora de utiliza-los.

Page 6: Nagios Na Pratica

Tela de autenticação do Nagios

O Poderoso Nagios

Beleza, O proximo artigo vou escrever como adicionar no monitoramento SO Windows e Linux

Luciano Maia Cirilo

www.nagiosnapratica.com.br

Page 7: Nagios Na Pratica

ARTIGO 03 - Monitorando Serviços TCP/IP no Nagios

Bem, continuando na idéia de monitoramento com Nagios (após instalação do mesmo), agoravamos monitorar serviços TCP/IP sem necessidade de instalar agentes/clientes nos SO Linux ouWindows.

O que precisamos entender de imediato após a instalação do Nagios?

Precisamos conhecer o básico dos principais arquivos de configuração!

nagios:/# ls -1 /usr/local/nagios/etc/

cgi.cfg - Contem as permissões de acesso dos usuários da interface do Nagios e configurações de Mapa

nagios.cfg – Principal arquivo de configuração do Nagios contem todos os parametros

objects - Diretório que contem a configuração dos hosts e serviços a serem monitorados

commands.cfg – Contem os parametros de cada plugin utilizado pelo Nagioscontacts.cfg – Contem os dados dos administradores que devem ser alertadoslocalhost.cfg - Contem o que esta sendo monitorado do próprio servidor Nagiosprinter.cfg – Exemplo de configuração de monitoração de Impressoraswitch.cfg – Exemplo de configuração de monitoração de Switchtemplates.cfg – Configuração de Templates de Host, Contatos, Serviços, etctimeperiods.cfg – Configuração de Periodos de Monitoramentowindows.cfg – Exemplo de configuraçao para SO Windows utilizando Nsclient

OBS: Os arquivos em vermelho estão desativado no arquivo principal nagios.cfg

resource.cfg – Informa qual diretório contem os plugins

Ok, Agora conforme proposto vamos monitorar alguns serviços TCP/IP sem necessidade de instalação de plugins.

## Para melhor organização, vamos criar um pasta chamada linux e criarmos arquivos referentes aos servidores linux na mesma

nagios:/# mkdir /usr/local/nagios/etc/linux

nagios:/# cd /usr/local/nagios/etc/linux/

## Agora vamos Criar nosso primeiro HOST

nagios:/usr/local/nagios/etc/linux# vim srv-linux.cfg

### ------------ Definições de Host ----------------------------------###

define host{use linux-server ; Nome do Template já criado na instalação

Page 8: Nagios Na Pratica

host_name srv-linux ; Nome do seu Servidoralias Servidor Linux Web ; Descrição do seu Servidor Linuxaddress 10.0.3.169 ; IP do seu Servidor Linux}

### ------------ Monitorando o Serviço TCP/IP -----------------------------###

define service{use local-service ; Template já criado na instalaçãohost_name srv-linux ; Nome do seu servidor linuxservice_description PING ; Descrição do Serviço a ser monitorado para o hostcheck_command check_ping!100.0,20%!500.0,60% ; Plugin e Parametros}

define service{use local-service ; Template criado na instalaçãohost_name srv-linux ; Nome do hostservice_description SSH ; Descrição do Serviçocheck_command check_ssh ; Plugin utilizado}

## Agora vamos habilitar o nosso novo diretorio e host no nagios.cfg

nagios:/# vim /usr/local/nagios/etc/nagios.cfg

## Insira na primeira linha do arquivo

cfg_dir=/usr/local/nagios/etc/linux

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

## Resultado deve ser semelhante com o abaixo

Total Warnings: 0Total Errors: 0

nagios:# /etc/init.d/nagios reload

## Pronto, agora basta acessar a interface Web

http://IP/nagios

.

Page 9: Nagios Na Pratica

ARTIGO 04 - Entendendo o define host e define service no NagiosOlá Pessoal, hoje quero explicar alguns Parametros do “Super” Nagios!

Tudo isso para não ficar apenas um copia e cola, acredito que com algumas definições dos parametros inclusos no Host e no Serviços, podemos retirar muito mais da ferramenta.

vim /usr/local/nagios/etc/linux/terra.cfg

### ------------ Definições de Host ----------------------------------### define host{ name TemplateHost alias TemplateHostcheck_command check-host-alivemax_check_attempts 3check_interval 5active_checks_enabled 1check_period 24x7retain_status_information 1contact_groups Adminnotification_interval 60notification_period 24x7notification_options d,u,r}

## Agora vamos utilizar o template acima referenciando no Host abaixo

define host{host_name SiteTerrause TemplateHostalias Testando a saida de Internetaddress www.terra.com.br}

Ok, Agora vamos entender cada parametro utilizado no define host

• name : Nome do Template

• alias: Descrição do Template

• check_command : Nome do Comando utilizado para realizar a checagem, referenciado em commands.cfg

• max_check_attempts : Número de tentativas que deve ser feita antes do Nagios notificar (neste caso via e-mail) os responsaveis.

• check_interval: Tempo em minutos que o nagios ira realizar a checagem (5), neste caso de 5 em 5 minutos.

• active_checks_enabled: Define se a monitoração deve ser ativa (1), sendo aquela que o servidor Nagios é que vai até o destino.

• check_period: Periodo que o Nagios ira realizar a monitoração, referenciado em timeperiods.cfg

• retain_status_information: (1) Define que o Nagios ira guardar a informação do host, mesmo quando ocorre reinicialização do SO.

Page 10: Nagios Na Pratica

• contact_groups: Define o (s) grupo (s) que devem ser alertados em caso de problemas.

• notification_interval: Tempo em minutos que o nagios deve reenviar notificaçao ( neste caso via e-mail) em caso de problemas.

• notification_period: Periodo que o Nagios ira realizar a notificação, referenciado em timeperiods.cfg.

• notification_options: Define quais são os casos que o nagios deve notificar (d – down, r – recovery, u – unknown)

• address: Endereço IP ou FQDN do host

Ok, Agora chegou a vez do define services, insira os campos no final do arquivo terra.cfg

vim /usr/local/nagios/etc/linux/terra.cfg

### ------------ Definições de Serviços ----------------------------------###define service{name ICMP service_description ICMPis_volatile 0check_command check_ping!300,20%!900,52%!max_check_attempts 3normal_check_interval 5retry_check_interval 5active_checks_enabled 1check_period 24x7retain_status_information 1notification_interval 0notification_period 24x7notification_options u,c,r}

## Agora vamos utilizar o template acima referenciando no Serviço abaixo

define service{host_name SiteTerraservice_description ICMPuse ICMP contact_groups Admin}

## Senhores, a maioria dos parametros são iguais aos host define, então comentarei apenas os que são diferentes:

• is_volatile : Define se o serviço alarma com frequência (0 – não, 1 – sim).

• retry_check_interval: Tempo em minutos que o Nagios ira verificar o serviço caso encontre algum problema.

• notification_options: Define quais são os casos que o nagios deve notificar (c – critical, r – recovery, u – unknown).

OK, De quebra vamos criar um segundo arquivo:

vim /usr/local/nagios/etc/linux/admin.cfg

### ------------ Definições de Contatos ----------------------------------### define contact{ contact_name Adminalias Admin

Page 11: Nagios Na Pratica

contactgroups Adminhost_notification_period 24x7service_notification_period 24x7host_notification_options d,uservice_notification_options u,c,rhost_notification_commands notify-host-by-emailservice_notification_commands notify-service-by-emailemail [email protected], [email protected]}

define contactgroup{contactgroup_name Adminalias Adminmembers Admin}

Pronto, agora basta executar os comandos:

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

/etc/init.d/nagios reload

http://IP/nagios/

Page 12: Nagios Na Pratica

ARTIGO 05 – Monitorando SO Windows com NSCLIENT++ no Nagios

Olá, continuando a série O poderoso Nagios, hoje vou explicar como monitorar ServidoresWindows com o NSCLIENT++. Com este plugin é possivel monitorar a utilização de memória,processador e partições do Windows.

Mais informações sobre o Nsclient++ pode ser encontrada na página do projeto:

http://www.nsclient.org/nscp/

## Ok, baixe o executavel para sua versão de Windows 32 ou 64 bits

http://www.nsclient.org/nscp/downloads

## No meu caso utilizei a versão 32 bits NSClient++-0.3.8-Win32.msi

Clique em Next > Next > Next > Next > Next > Next e Finish

OBS: Apenas aceite or termos da licença, senão não vai funcionar né? rs

Page 14: Nagios Na Pratica

## Necessário editar o arquivo de configuração do Nsclient++, acesse o diretorio:

C:\Arquivos de programas\NSClient++\

## Edite o arquivo NSC.INI e descomente as linhas abaixos, o restante deixa igual:

[modules]FileLogger.dllCheckSystem.dllCheckDisk.dllNSClientListener.dllSysTray.dllCheckEventLog.dllCheckHelpers.dllCheckWMI.dll

[Settings]use_file=1allowed_hosts=

[NSClient]allowed_hosts=port=1248

## Salve o arquivo e reinicie o Serviço no windows

Clique em Iniciar > Programas > NSClient++ > Start NSClient++

Page 15: Nagios Na Pratica

## Para saber se tudo deu certo, verifique se a porta 1248 TCP escutando no seu windows

Clique em Iniciar > Executar > digite cmd

## No prompt do DOS digite:

netstat -na | more

## Procure por esta linha

TCP 0.0.0.0:1248 0.0.0.0 LISTENING## Ok, agora vamos acessar o servidor Nagios no Linux (ufa )

cd /usr/local/nagios/etc/mkdir windows

# Aproveitando o arquivo criado anteriormente

cp linux/terra.cfg windows/srvWindows.cfg

## Editando o Arquivo

cd windows/vim srvWindows.cfg

### ------------ Definições de Host ----------------------------------###

define host{name TemplateHostWindowsalias TemplateHostWindowscheck_command check-host-alivemax_check_attempts 3check_interval 5active_checks_enabled 1passive_checks_enabled 0check_period 24x7retain_status_information 1contact_groups Adminnotification_interval 0notification_period 24x7notification_options d,u,rregister 0}

define host{host_name SRV_Windowsuse TemplateHostWindowsalias Servidor Windows Localaddress 10.0.3.199}

### ----------- Definições de Serviço -------------------- #### define service{name ICMP-Windowsservice_description ICMP-Windowsis_volatile 0check_command check_ping!300,20%!900,52%!max_check_attempts 3normal_check_interval 5retry_check_interval 5active_checks_enabled 1passive_checks_enabled 0

Page 16: Nagios Na Pratica

check_period 24x7retain_status_information 1notification_interval 0notification_period 24x7notification_options u,c,rregister 0}

define service{host_name SRV_Windowsservice_description ICMP-Windowsuse ICMP-Windowscontact_groups Admin}

### ---------- Definições do Plugin ----------- #### ### (OBS: Tudo junto e misturado no mesmo arquivo) ## define command{command_name check_nt_diskcommand_line $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 \-v USEDDISKSPACE -l $ARG1$ -w 80 -c 90}

## Criando o template de monitoração para partições do Windows

define service{name Particaoservice_description Particaois_volatile 0max_check_attempts 3normal_check_interval 5retry_check_interval 5active_checks_enabled 1passive_checks_enabled 0check_period 24x7retain_status_information 1notification_interval 0notification_period 24x7notification_options u,c,rregister 0}

define service{host_name SRV_Windowsservice_description Particaouse Particaocheck_command check_nt_disk!C contact_groups Admin}

## Agora é necessário informar para o nagios que inserimos um novo diretorio

vim /usr/local/nagios/etc/nagios.cfg

## Insira a linha no começo do arquivo

cfg_dir=/usr/local/nagios/etc/windows

### Ok, agora basta verificar se não existem erros de configuração e reload no Nagios

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

Page 17: Nagios Na Pratica

/etc/init.d/nagios reload

http://IP/nagios

## Considerações Finais:

A configuração do Nagios é muito maleavel, pode-se criar um arquivo com tudo dentro (templates,hosts, serviços, comandos, grupos, etc), do jeito que eu escrevi em uma grande estrutura podeparecer um pouco desorganizado, mas a idéia aqui é apenas mostrar como funciona, ok?

Neste artigo mostrei exemplo de como monitorar partições no Windows com o Nagios utilizando oNSClient++, com este mesmo plugins é possivel monitorar processos, utilização de memória e cpu.Lembrando que caso tenha um firewall entre o seu servidor Nagios e o Servidor Windows énecessário liberar a porta TCP 1248.

Para mais informações sobre check_nt utilize o help

/usr/local/nagios/libexec/check_nt –help | more

Ok, Pessoal este é o artigo número 5. Siga a sequência que tudo vai funcionar corretamente.

Page 18: Nagios Na Pratica

ARTIGO 06 – Monitorando SO Linux com NRPE no NagiosOlá amigos, continuando nossa série de artigos sobre o Nagios hoje vou mostrar como utilizar o programa NRPE.

O NRPE possibilita executarmos plugins locais do Nagios (check_procs, check_disk, check_load,etc) remotamente, Eu chamo de plugins locais aqueles que não disponibilizam a opção de IP ouHostname, logo só funciona localmente. Lembrando também que neste artigo o NRPE só vale paramonitorarmos Linux ok?

Pense na seguinte situação: Preciso monitorar quantos processos temos rodando de um determinadoPrograma, por exemplo o DHClient3?

Podemos utilizar o check_procs, mas tente verificar as opções do mesmo:

# ./check_procs –help

Usage:check_procs -w <range> -c <range> [-m metric] [-s state] [-p ppid][-u user] [-r rss] [-z vsz] [-P %cpu] [-a argument-array][-C command] [-t timeout] [-v]

Cade a opção IP para que eu possa informar em qual servidor eu quero monitorar?Resposta: Não Existe!

Para resolver este caso precisamos instalar o NRPE no Servidor Nagios e no Cliente Linux.

Esta imagem vale mais que mil palavras

Para Maiores informações sobre o NRPE acesse o site:

http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf

## Blz, Segue como fiz a instalação no nosso servidor Nagios (Siga todos os Artigos )

cd /usr/src/wget http://www.openssl.org/source/openssl-0.9.8o.tar.gzwget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz

## Agora vamos descompactar e começar a compilação da dependência

tar zxvf openssl-0.9.8o.tar.gzcd openssl-0.9.8o

./configmakemake installcp libcrypto.a /usr/local/lib/cd /usr/lib/ln -s libssl.so.0.9.8 libssl.so

## Chegou a vez do NRPE

cd /usr/src/tar zxvf nrpe-2.12.tar.gz

Page 19: Nagios Na Pratica

cd nrpe-2.12

./configuremake allmake installcp src/nrpe /usr/local/nagios/bin/cp src/check_nrpe /usr/local/nagios/libexec/cp sample-config/nrpe.cfg /usr/local/nagios/etc/

## Ok, Lembrando que em caso de erro precisa analisar o erro, verificar se falta algumadependência e etc.## OBS: De qualquer forma se você esta seguindo todos os artigos não vai dar erro, pois, fiz

questão de documentar todos os passos

## Continuando, agora vamos configurar o arquivo nrpe.cfg

vim /usr/local/nagios/etc/nrpe.cfg

## Procure as linhas e insira os dados abaixo e salve o arquivo

server_address=IP-do-Nagios

command[check_dhclient3]=/usr/local/nagios/libexec/check_procs -c 1:8 -C dhclient3

# OBS: O comando acima significa que estamos procurando pelo processo dhclient3 no linux, temque ter de 1 até 8 processos para o nagios considerar normal, se não tiver processo rodando ou + de8 processos com o nome dhclient3 o nagios ira alarmar.

## Outra observação é que neste mesmo arquivo contém como deve ser feito para monitorar load, disks, etc

## Continuando denovo . Agora vamos iniciar o processo

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

## Verifique se o processo esta rodando

ps aux | grep nrpe

## OK, O seu servidor esta pronto e escutando a porta 5666 TCP

——————— Instalação e Configuração do NRPE no Cliente Linux ———————————

Chegou a vez do seu cliente Linux OK? Segue abaixo como Configurar no Debian

## Instalando o minimo

aptitude install make g++-4.3 g++ bzip2 vim

# OBS: Aceite as dependências ok

## Ok pessoal, Mas se for no Centos 5 como faço?

yum install gcc gcc-c++ make openssl openssl-devel

## Daqui por diante vale para Debian 5 e o CentOS 5

Page 20: Nagios Na Pratica

cd /usr/src/wget http://www.openssl.org/source/openssl-0.9.8o.tar.gzwget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz

##Agora vamos descompactar e começar a compilação da dependência

tar zxvf openssl-0.9.8o.tar.gzcd openssl-0.9.8o

./configmakemake installcp libcrypto.a /usr/local/lib/cd /usr/lib/ln -s libssl.so.0.9.8 libssl.so

## Chegou a vez do NRPE

mkdir -p /usr/local/nagios/etcmkdir /usr/local/nagios/libexecmkdir /usr/local/nagios/bin

cd /usr/src/tar zxvf nrpe-2.12.tar.gzcd nrpe-2.12

## Antes da compilação é necessário criar o usuario nagios

adduser nagios

./configuremake allmake installcp src/nrpe /usr/local/nagios/bin/cp src/check_nrpe /usr/local/nagios/libexec/cp sample-config/nrpe.cfg /usr/local/nagios/etc/

## Continuando, agora vamos configurar o arquivo nrpe.cfg

vim /usr/local/nagios/etc/nrpe.cfg

## Procure as linhas e insira os dados abaixo e salve o arquivo

allowed_hosts=IP-do-Nagios

command[check_dhclient3]=/usr/local/nagios/libexec/check_procs -c 1:8 -C dhclient3

## Inicie o NRPE no seu cliente

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

## Recomendo que insira esta mesma linha no arquivo rc.local

vim /etc/rc.local

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

## Agora é necessário copiar o plugin check_procs do servidor nagios

cd /usr/local/nagios/libexec/scp root@IP:/usr/local/nagios/libexec/check_procs .

# Ok, agora é necessário configurar o nosso Servidor Nagios

Page 21: Nagios Na Pratica

—————————— Acesse o Servidor Nagios —————————————

cd /usr/local/nagios/etc/linux/

vim debian.cfg

### ------------ Definições de Host ----------------------------------###

define host{name TemplateHostLinuxalias TemplateHostLinuxcheck_command check-host-alivemax_check_attempts 3check_interval 5active_checks_enabled 1passive_checks_enabled 0check_period 24x7retain_status_information 1contact_groups Adminnotification_interval 0notification_period 24x7notification_options d,u,rregister 0}

define host{host_name SRV-Linux-Debianuse TemplateHostLinuxalias Servidor Linuxaddress 192.168.0.103}

### ----------- Definições de Serviço ----------------------------- ####

define service{name Ping-Linuxservice_description Ping-Linuxis_volatile 0check_command check_ping!300,20%!900,52%!max_check_attempts 3normal_check_interval 5retry_check_interval 5active_checks_enabled 1passive_checks_enabled 0check_period 24x7retain_status_information 1notification_interval 0notification_period 24x7notification_options u,c,rregister 0}

define service{host_name SRV-Linux-Debianservice_description Ping-Linuxuse Ping-Linuxcontact_groups Admin}

### Ok, agora vem a novidade NRPE

Page 22: Nagios Na Pratica

### Definindo as configurações do comando NRPE

define command{command_name check_nrpecommand_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -t 25}

define service{name NRPE_DHClientservice_description NRPE_DHClientis_volatile 0check_command check_nrpe!check_dhclient3 max_check_attempts 2normal_check_interval 5retry_check_interval 5active_checks_enabled 0passive_checks_enabled 1check_period 24x7retain_status_information 1notification_interval 0notification_period 24x7notification_options u,c,rregister 0}

define service{host_name SRV-Linux-Debianservice_description NRPE_DHClientuse NRPE_DHClientcontact_groups Admin}

## Ok, Agora basta testar as suas configurações e reload no Nagios

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

/etc/init.d/nagios reload

## Acesse a interface do Nagios

http://IP/nagios/

## Dica: Para testar toda a configuração do NRPE pode ser executado manualmente no servidor Nagios

/usr/local/nagios/libexec/check_nrpe -H IP -c check_dhclient3

## Segue como deve ser a saída no shell

PROCS OK: 1 process with command name ‘dhclient3′

### Caso não tenha sucesso no teste, faça um checklist das permissões dos arquivos e serviços iniciados

# Servidor Nagios:

servidornagios:~# ps aux | grep nrpenagios 2209 0.0 0.0 4024 904 ? S<s 16:32 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

servidornagios:~# ls -la /usr/local/nagios/libexec/check_nrpe-rwxrwxr-x 1 nagios nagios 65328 Out 19 19:06 /usr/local/nagios/libexec/check_nrpe

Page 23: Nagios Na Pratica

servidornagios:~# ls -la /usr/local/nagios/libexec/check_procs-rwxr-xr-x 1 nagios nagios 81877 Set 19 20:02 /usr/local/nagios/libexec/check_procs

### Arquivo nrpe.cfg (sem comentarios e linhas em branco)

servidornagios:~# cat /usr/local/nagios/etc/nrpe.cfg | grep -v “^#” | grep -v “^$”

log_facility=daemonpid_file=/var/run/nrpe.pidserver_port=5666server_address=10.0.3.168nrpe_user=nagiosnrpe_group=nagiosallowed_hosts=127.0.0.1dont_blame_nrpe=0debug=0command_timeout=60connection_timeout=300command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Zcommand[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200command[check_dhclient3]=/usr/local/nagios/libexec/check_procs -c 1:8 -C dhclient3

OBS: Após qualquer alteração no arquivo de configuração do NRPE é necessário reiniciar o serviço.

## Cliente Linux (no meu caso Debian)

cliente:~# ps aux | grep nrpenagios 2463 0.0 0.2 4024 912 ? S<s 16:36 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

cliente:~# ls -la /usr/local/nagios/libexec/check_nrpe-rwxrwxr-x 1 nagios nagios 65328 Out 20 00:11 /usr/local/nagios/libexec/check_nrpe

cliente:~# ls -la /usr/local/nagios/libexec/check_procs-rwxr-xr-x 1 root nagios 81877 Out 20 01:34 /usr/local/nagios/libexec/check_procs

### Arquivo nrpe.cfg (sem comentarios e linhas em branco)

cliente:~# cat /usr/local/nagios/etc/nrpe.cfg | grep -v “^#” | grep -v “^$”

log_facility=daemonpid_file=/var/run/nrpe.pidserver_port=5666nrpe_user=nagiosnrpe_group=nagiosallowed_hosts=10.0.3.168dont_blame_nrpe=0debug=0command_timeout=60connection_timeout=300command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1

Page 24: Nagios Na Pratica

command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Zcommand[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200command[check_dhclient3]=/usr/local/nagios/libexec/check_procs -c 1:8 -C dhclient3

.

.

Page 25: Nagios Na Pratica

ARTIGO 07 – Organizando a Configuração do Nagios

Olá, continuando a nossa série de artigos do Nagios (Este é o número 7). Hoje vou mostrar comoorganizar a configuração do Nagios.

Até agora escrevi os artigos me preocupando apenas no proposto, de como fazer e não comomanter. Mas tudo isso é uma maneira de dizer que a configuração do Nagios é flexível e pode serfeita da maneira que o administrador quiser, afinal, o que é organizado pra mim, pode não ser pravocê!

Ok, até agora estamos monitorando alguns hosts de maneira desorganizada, tendo em vista que oambiente de monitoração cresce da mesma forma que sua Rede.

OBS: Já alteramos alguns parâmetros no nagios.cfg em artigos anteriores, adicionando algumaslinhas que fazem com o que o nagios leia os diretórios abaixo a procura de arquivos com o final.cfg:

/usr/local/nagios/etc/linux/usr/local/nagios/etc/windows

A configuração padrão do Nagios já sugere esta tal organização, vamos entender?

## Dentro do diretório objects ficam alguns arquivos de configuração, vamos reutiliza-los!

ls -1 /usr/local/nagios/etc/objects/

commands.cfgcontacts.cfglocalhost.cfgprinter.cfgswitch.cfgtemplates.cfgtimeperiods.cfgwindows.cfg

cd /usr/local/nagios/etc/objects/

## Agora vamos reaproveitar o que já criamos, insira as linhas abaixo no final do arquivo

Page 26: Nagios Na Pratica

vim contacts.cfg

define contact{contact_name Adminalias Admincontactgroups Adminhost_notification_period 24x7service_notification_period 24x7host_notification_options d,uservice_notification_options u,c,rhost_notification_commands notify-host-by-emailservice_notification_commands notify-service-by-emailemail [email protected], [email protected]}

define contactgroup{contactgroup_name Adminalias Adminmembers Admin}

OBS: Poderiamos ter um arquivo para Grupo do Contato, mas particularmente acredito que seja mais facil dessa forma.

## Agora vamos editar o arquivo template.cfg e insira as linhas abaixo no final do arquivo

vim templates.cfg

define host{name TemplateHostalias TemplateHostcheck_command check-host-alivemax_check_attempts 3check_interval 5active_checks_enabled 1passive_checks_enabled 0check_period 24x7retain_status_information 1notification_interval 0notification_period 24x7notification_options d,u,rregister 0}

define service{name TemplateServiceis_volatile 0max_check_attempts 3normal_check_interval 5retry_check_interval 5active_checks_enabled 1passive_checks_enabled 0check_period 24x7retain_status_information 1notification_interval 0notification_period 24x7notification_options u,c,rregister 0}

## Chegou a vez do commands.cfg, insira as linhas abaixo no final do arquivo

Page 27: Nagios Na Pratica

vim commands.cfg

define command{command_name check_nrpecommand_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -t 25}

define command{command_name check_nt_diskcommand_line $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 \-v USEDDISKSPACE -l $ARG1$ -w 80 -c 90}

## Blz, agora vou zerar os arquivos e fazer desta forma que julgo mais organizada

> /usr/local/nagios/etc/windows/srvWindows.cfgvim /usr/local/nagios/etc/windows/srvWindows.cfg

define host{host_name SRV_Windowsuse TemplateHostcontact_groups Adminalias Servidor Windows Localaddress IP}

define service{host_name SRV_Windowsservice_description Pinguse TemplateServicecheck_command check_ping!300,20%!900,52%!contact_groups Admin}

define service{host_name SRV_Windowsservice_description Particaouse TemplateServicecheck_command check_nt_disk!Ccontact_groups Admin}

## Os arquivos linux vamos apagar e começar do zero

rm -rf /usr/local/nagios/etc/linux/*

## Comente a linha abaixo no nagio.cfg

vim /usr/local/nagios/etc/nagios.cfg

#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

## Criando um novo arquivo de host

vim /usr/local/nagios/etc/linux/debian.cfg

define host{host_name SRV-Linux-Debianuse TemplateHostcontact_groups Adminalias Servidor Linux

Page 28: Nagios Na Pratica

address IP}

define service{host_name SRV-Linux-Debianservice_description Pinguse TemplateServicecheck_command check_ping!300,20%!900,52%!contact_groups Admin}

define service{host_name SRV-Linux-Debianservice_description NRPE_DHClientuse TemplateServicecheck_command check_nrpe!check_dhclient3contact_groups Admin}

## Fácil né?, vamos adicionar um novo host linux para testar esta configuração

cd /usr/local/nagios/etc/linux/cp -p debian.cfg web.cfg

## Edite Nome do Host, IP e neste caso estou adicionando o Serviço HTTP e retirei o NRPE

vim web.cfg

define host{host_name SRV-Linux-Webuse TemplateHostcontact_groups Adminalias Servidor Linuxaddress IP}

define service{host_name SRV-Linux-Webservice_description Pinguse TemplateServicecheck_command check_ping!300,20%!900,52%!contact_groups Admin}

define service{host_name SRV-Linux-Webservice_description HTTPuse TemplateServicecheck_command check_httpcontact_groups Admin}

## Ok, Agora é só testar as configurações e reload no Nagios

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg/etc/init.d/nagios reload

Considerações: Agora adicionar um host fica muito mais facil porque podemos reaproveitar aconfiguração duplicando um arquivo ja existente.

Caso tenha um numero grande de hosts, pode nomea-los com as iniciais do seu cliente, (cliente_srv-

Page 29: Nagios Na Pratica

linux-web.cfg) caso tenha que excluir este cliente da configuração do Nagios ou desativa-lo, bastamover os arquivo (mv cliente* /desativados/) para outro local e reload no Nagios.

Page 30: Nagios Na Pratica

ARTIGO 08 – Hostextinfo, Parents e Mapa no Nagios

Olá Amigos, hoje quero falar sobre o Mapa que o Nagios disponibiliza sobre o ambientemonitorado.

Já tive que responder perguntas do tipo:

P. Luciano, para que serve este Mapa?R. Para te ajudar a identificar aonde esta o causador do problema.

Para melhor entendimento, vamos acrescentar alguns hosts no nosso Nagios e verificar como ficano Mapa ok? Com isso, fica muito mais facil de explicar os outros itens deste artigo, afinal a idéiaaqui é mostrar na pratica.

OBS: Lembrando que este artigo é uma continuação, então leia os últimos artigos ou adapte ao seu Nagios

## Ok, vamos aproveitar a configuração já existente

cd /usr/local/nagios/etc/linux/cp -p debian.cfg srv-nagios.cfg

vim srv-nagios.cfg

define host{host_name SRV-Nagiosuse TemplateHostcontact_groups Adminalias Servidor Linuxaddress 10.0.3.183}

define service{host_name SRV-Nagiosservice_description Pinguse TemplateServicecheck_command check_ping!300,20%!900,52%!contact_groups Admin}

## Agora vamos reaproveitar esta configuração também!

cp -p srv-nagios.cfg gateway.cfg

Page 31: Nagios Na Pratica

vim gateway.cfg

define host{host_name Gatewayuse TemplateHostcontact_groups Adminalias Gateway da Redeaddress 10.0.3.1}

define service{host_name Gatewayservice_description Ping use TemplateServicecheck_command check_ping!300,20%!900,52%!contact_groups Admin}

## Vamos testar as configurações e Reload no Nagios

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

Total Warnings: 0Total Errors: 0

# OBS: Nenhum problema

/etc/init.d/nagios reload

## Agora vamos acessar a interface web do Nagios e clicar em Map

http://IP-do-Nagios/nagios/

## Vou disponibilizar as imagens que utilizo para alguns dos hosts que monitoro no meu Nagios

firewall.jpg

linux40.jpg

route2.png

win40.jpg

Page 32: Nagios Na Pratica

switch40.jpg

## Salve essas imagens no seu servidor Nagios

cd /usr/local/nagios/share/images/logos/

wget http://nagiosnapratica.files.wordpress.com/2010/10/firewall.jpgwget http://nagiosnapratica.files.wordpress.com/2010/10/linux40.jpgwget http://nagiosnapratica.files.wordpress.com/2010/10/router2.pngwget http://nagiosnapratica.files.wordpress.com/2010/10/win40.jpgwget http://nagiosnapratica.files.wordpress.com/2010/10/switch40.jpg

## Ok, agora vamos configurar o nagios para utilizar estas imagens

cd /usr/local/nagios/etc/linux/

vim debian.cfg

## Insira o conteudo abaixo no final do arquivo

define hostextinfo{host_name SRV-Linux-Debianicon_image linux40.jpgicon_image_alt Servidor Linuxstatusmap_image linux40.jpg}

## Agora vamos replicar para os outros linux

vim srv-nagios.cfg

## Insira o conteudo abaixo no final do arquivo

define hostextinfo{host_name SRV-Nagiosicon_image linux40.jpgicon_image_alt Servidor Linuxstatusmap_image linux40.jpg}

vim web.cfg

## Insira o conteudo abaixo no final do arquivo

define hostextinfo{host_name SRV-Linux-Webicon_image linux40.jpgicon_image_alt Servidor Linuxstatusmap_image linux40.jpg}

## Blz, para o host gateway vamos adicionar uma nova imagem

vim gateway.cfg

## Insira o conteudo abaixo no final do arquivo

define hostextinfo{host_name Gatewayicon_image router2.pngicon_image_alt Gateway da Rede

Page 33: Nagios Na Pratica

statusmap_image router2.png}

## Falta apenas o servidor windows que temos como exemplo

vim /usr/local/nagios/etc/windows/srvWindows.cfg

## Insira o conteudo abaixo no final do arquivo

define hostextinfo{host_name SRV_Windowsicon_image win40.jpgicon_image_alt Servidor Windowsstatusmap_image win40.jpg}

## Vamos testar as configurações e reload no Nagios

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg/etc/init.d/nagios reload

## Agora vamos acessar a interface web do Nagios e clicar em Map

http://IP-do-Nagios/nagios/

## Ficou claro que com a configuração do hostextinfo associamos uma imagem ao host.

# Agora vamos visualizar de uma outra forma:

altere em Layout Method: para Balanced tree

#OBS: Particularmente prefiro esta visualização

## Para deixar o Balanced tree como visualização padrão, altere o arquivo abaixo:

vim /usr/local/nagios/etc/cgi.cfg

default_statusmap_layout=3default_statuswrl_layout=3

## Reload no Nagios

/etc/init.d/nagios reload

## OK, agora ficou faltando apenas a configuração do Parents, com esta configuração podemosorganizar o mapa mostrando quem esta acima de quem ou em outras palavras o desenho do seuambiente.

Page 34: Nagios Na Pratica

## Insira a linha em negrito e salve o arquivo

vim /usr/local/nagios/etc/linux/web.cfg

define host{host_name SRV-Linux-Webuse TemplateHostcontact_groups Adminalias Servidor Linuxaddress 200.150.208.2parents Gateway}

## Insira a linha em negrito e salve o arquivo

vim /usr/local/nagios/etc/linux/gateway.cfg

define host{host_name Gatewayuse TemplateHostcontact_groups Adminalias Servidor Linuxaddress 10.0.3.1parents SRV-Nagios}

## Agora vamos verificar o resultado

/etc/init.d/nagios reload

## Acesse a interface web do Nagios e clicar em Map

http://IP-do-Nagios/nagios/

Considerações Finais: Logo conseguimos entender que caso o gateway venha a ficar down, vamoster o alarme do servidor Web.

.

Page 35: Nagios Na Pratica

ARTIGO 09 – Enviando e-mail de notificação no Nagios

Olá caros amigos Sysadmin Nagios, hoje vamos continuar nossa série contínua de artigos, sigatodos passo a passo e a cada artigo se torne +1 administrador Nagios.

Senhores, hoje vou descrever o processo de notificação via e-mail feito através do Nagios.

Primeiramente devo lembrar que no artigo2 – instalando o poderoso Nagios instalamos o Postfix(MTA) no servidor, ele não é necessário para enviar e-mails, mas recomendo pela flexibilidade queele pode nos proporcionar. Ainda mais se o seu servidor Nagios esta dentro da sua rede e vocêprecisa encaminhar as mensagens diretamente para o seu servidor de E-mail.

Vamos a prática!!

## Acesse o servidor nagios e edite o arquivo abaixo

vim /etc/postfix/main.cf

## Encontre o Parametro e informe qual é o seu servidor de e-mail

relayhost = IP-do-servidor-e-mail ou FQDN

## Necessário executar reload no Postfix

/etc/init.d/postfix reload

OBS: Com isso, o Postfix vai encaminhar todos os e-mails gerados no SO diretamente para o seu servidor de e-mail, detalhe que o IP do servidor Nagios deve estar autorizado no seu servidor de correio, para evitar que o mesmo sofra filtragem e seja bloqueado por N motivos!

## Voltando ao Nagios, perguntas e respostas:

P. O que é realmente necessário para receber um alerta através do Nagios?R. Configurar os status dos hosts e serviços que você queira que o Nagios te alerte!!

P. Como assim?R. Por exemplo, se você deseja receber e-mails de alerta quando o host ou serviço ficar down, warning!

## Nos templates criados no Artigo7 – Organizando a Configuração do Nagios já deixei tudo pronto, mas hoje eu vou explicar um pouco mais!

## Para o Nagios enviar e-mails precisamos configurar 2 arquivos, lembrando que todos os hosts criados até então estão associados aos templates e contatos adicionados nestes arquivos:

templates.cfgcontacts.cfg

Page 36: Nagios Na Pratica

## Acesse o arquivo templates.cfg apenas para entender, encontre as linhas abaixo.

vim /usr/local/nagios/etc/objects/templates.cfg

## Este é o template dos hosts

define host{name TemplateHostalias TemplateHostcheck_command check-host-alivemax_check_attempts 3check_interval 5active_checks_enabled 1passive_checks_enabled 0check_period 24x7retain_status_information 1notification_interval 0notification_period 24x7notification_options d,u,rregister 0}

## Este é o template para os Serviços

define service{name TemplateServiceis_volatile 0max_check_attempts 3normal_check_interval 5retry_check_interval 5active_checks_enabled 1passive_checks_enabled 0check_period 24x7retain_status_information 1notification_interval 0notification_period 24x7notification_options u,c,rregister 0}

## Parametros referentes a e-mail estão em negrito.

check_interval: Tempo em minutos que o nagios ira realizar a checagem (5), neste caso de 5 em 5 minutos.

retry_check_interval: Tempo em minutos que o nagios ira realizar a checagem após ter identificado algum problema.

max_check_attempts: Número de tentativas que deve ser feita antes do Nagios notificar os responsaveis. (3) Neste caso o Nagios vai verificar 3 vezes a cada 5 minutos (retry_check_interval),isto é, vai enviar o e-mail após 15 minutos.

## significa que o Nagios vai enviar apenas 1 e-mail, se estivesse com o número 10, o nagios iria enviar e-mail de 10 em 10 minutos até que o serviço ou host voltasse ao normal

notification_interval 0

## Siginifica o periodo que o nagios podera enviar e-mail de notificação, isto é, o tempo todo

notification_period 24×7

Page 37: Nagios Na Pratica

## Esta opção é diz para qual estatus o nagios deve enviar e-mail.

# Opções para Hostnotification_options u,d,r(d – down, r – recovery, u – unknown)

# Opções para Serviçonotification_options u,c,r(c – critical, r – recovery, u – unknown)

## Agora vamos verificar o arquivo contacts.cfg, encontre as linhas abaixo.

vim /usr/local/nagios/etc/objects/contacts.cfg

define contact{contact_name Adminalias Admincontactgroups Adminhost_notification_period 24x7service_notification_period 24x7host_notification_options d,u,rservice_notification_options u,c,rhost_notification_commands notify-host-by-emailservice_notification_commands notify-service-by-emailemail [email protected]}

## Este parametro precisa ter as mesmas opções notification_options do host

host_notification_options u,d,r

## Este parametro precisa ter as mesmas opções notification_options do serviço

service_notification_options u,c,r

## Para ambos os casos o notify-host-by-email e o notify-service-by-email são os nomes dos scriptsque enviaram os e-mails de alertas do nagios, na verdade estes scripts conversam com MTA.

host_notification_commands notify-host-by-emailservice_notification_commands notify-service-by-email

OBS: Estes scripts ficam no arquivo commands.cfg e podem ser personalizados, boa sorte

## Segue e-mail de notificação padrão do Nagios

***** Nagios *****

Notification Type: PROBLEM

Service: NRPE_DHClientHost: Servidor LinuxAddress: 10.0.3.197State: CRITICAL

Date/Time: Fri Nov 12 17:29:26 BRST 2010

Additional Info:

CHECK_NRPE: Socket timeout after 25 seconds.

Page 38: Nagios Na Pratica

Considerações Finais:

Os Templates já estão associados aos hosts e seus serviços conforme artigos anteriores, então na verdade a parte de configuração de e-mail através do Nagios ja estava pronta, o que estava faltando era a configuração do MTA.

O Postfix é na minha opinião o MTA mais popular e utilizado no mundo Linux, trabalho com o mesmo desde 2004 e recomendo – informações sobre o mesmo pode ser encontrados no site: http://www.postfix.org

.

Page 39: Nagios Na Pratica

ARTIGO 10 – Nagios utilizando MySQL com NDOUtils

Olá Pessoal, hoje quero escrever sobre o NDOutils que possibilita fazer que o Nagios salve as informações de logs para uma database no MySQL.

A instalação padrão do Nagios proporciona que o logs sejam salvos no diretório:

/usr/local/nagios/var/archives/

Caso queira salvar 1 log por dia por tempo indeterminado é necessário desabilitar esta opção abaixono nagios.cfg:

use_syslog=1

Para saber mais sobre o NDOutils acesse o site:

http://nagios.sourceforge.net/docs/ndoutils/NDOUtils.pdfhttp://nagios.sourceforge.net/docs/ndoutils/NDOUtils_DB_Model.pdf

Agora vamos para parte Prática, acesse o seu servidor Nagios (siga todos os artigos) para

implentarmos o NDOUtils

## Vamos instalar a dependência, necessário cadastrar senha para o banco

aptitude install mysql-server-5.0 libmysqlclient15-dev

## Vamos baixar o NDOutils

cd /usr/src/wget http://downloads.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gztar zxvf ndoutils-1.4b9.tar.gzcd /usr/src/ndoutils-1.4b9/

## Mais ajustes, Compilar e instalar

./configure –enable-mysql –disable-pgsql –with-ndo2db-user=nagios –with-ndo2db-group=nagiosmake

## Criando a database no MySQL, utilize a senha criada anteriormente

Page 40: Nagios Na Pratica

cd /usr/src/ndoutils-1.4b9/db/mysqladmin –user=root -p’senha’ create nagiosmysql -u root -p’senha’ nagios < mysql.sql./installdb -u root -p senha -h 127.0.0.1 -d nagios

## Agora vamos finalizar a instalação

cd /usr/src/ndoutils-1.4b9/src/cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin/cp ndomod-3x.o /usr/local/nagios/bin/ndomod.o

cd /usr/src/ndoutils-1.4b9/config/cp ndo2db.cfg-sample ndomod.cfg-sample /usr/local/nagios/etc/

cd /usr/local/nagios/etc/mv ndo2db.cfg-sample ndo2db.cfgmv ndomod.cfg-sample ndomod.cfgchown nagios.nagios ndo*

## Agora, acesse o arquivo de configuração do Nagios

vim /usr/local/nagios/etc/nagios.cfg

## Insira os parametros abaixo no final do arquivo:

event_broker_options=-1broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg

## Criar arquivo de configuração do NDO

mv /usr/local/nagios/etc/ndo2db.cfg /usr/local/nagios/etc/ndo2db-cfg-original

vim /usr/local/nagios/etc/ndo2db.cfg

## Deixe exatamente como abaixo:

lock_file=/usr/local/nagios/var/ndo2db.lockndo2db_user=nagiosndo2db_group=nagiossocket_type=tcpsocket_name=/usr/local/nagios/var/ndo.socktcp_port=5668use_ssl=0db_servertype=mysqldb_host=localhostdb_port=3306db_name=nagiosdb_prefix=nagios_db_user=rootdb_pass=senhamax_timedevents_age=1440max_systemcommands_age=10080max_servicechecks_age=10080max_hostchecks_age=10080max_eventhandlers_age=44640max_externalcommands_age=44640debug_level=0debug_verbosity=1debug_file=/usr/local/nagios/var/ndo2db.debugmax_debug_file_size=1000000

Page 41: Nagios Na Pratica

## Agora vamos editar o outro arquivo

mv /usr/local/nagios/etc/ndomod.cfg /usr/local/nagios/etc/ndomod.cfg-original

vim /usr/local/nagios/etc/ndomod.cfg

## Deixe exatamente como abaixo:

instance_name=nagiosoutput_type=tcpsocketoutput=127.0.0.1tcp_port=5668use_ssl=0output_buffer_items=5000buffer_file=/usr/local/nagios/var/ndomod.tmpfile_rotation_interval=14400file_rotation_timeout=60reconnect_interval=15reconnect_warning_interval=15data_processing_options=-1config_output_options=2

## Agora vamos iniciar o serviço

/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg

OBS: Recomendo que insira esta linha no arquivo /etc/rc.local

## Necessario Reload no Nagios

/etc/init.d/nagios restart

## Verifique no arquivo de log do nagios se encontra a linha referente o NDO

cat /usr/local/nagios/var/nagios.log | grep ndomod

Event broker module ‘/usr/local/nagios/bin/ndomod.o’ initialized successfully

## Blz e agora? como consultar o banco??

aptitude install phpmyadmin

OBS: Marque a opção Apache2

## Acesse o diretório abaixo

cd /usr/src/ndoutils-1.4b9/db/queries/

OBS: Neste diretório existem algumas consultas prontas utilize o phpmyadmin para executa-las.

Conclusão: Agora utilize a sua criatividade de desenvolvedor para criar uma interface com as suas consultas ok

Considerações: Pessoal já existe uma interface de consultas dos logs do Nagios incluidos no MySQL e esta no Centreon, futuramente pretendo escrever sobre o Centreon, mas para isso creio que seja necessário conhecer o Nagios de uma forma mais profunda.

Page 42: Nagios Na Pratica

ARTIGO 11 – Gráfico no Nagios com PNP4Nagios

Olá turma do Nagios, hoje vou mostrar o PNP4Nagios que exibe um gráfico de perfomance domonitoramento, por exemplo, com ele podemos avaliar o crescimento da utilização de espaço emdisco, logo estimar em quanto tempo você tera um problema de espaço.

O PNP4Nagios pode funcionar de 4 modos:

• Synchronous Mode • Bulk Mode • Bulk Mode with NPCD • Bulk Mode with npcdmod

Vamos utilizar Bulk Mode with NPCD, segue imagem do funcionamento deste modo:

Para mais informações sobre como o PNP4Nagios funciona acesse:

http://docs.pnp4nagios.org/pnp-0.6/modes

Para gerar este grafico o plugin (check_alguma_coisa) precisa gerar dados de performance. Para saber se o plugin gera estes dados acesse a interface do Nagios e clique no serviço ou no host:

O item Performance Data esta vazio

Page 43: Nagios Na Pratica

O item Performance Data esta preenchido

## Acesse o servidor Nagios e instale os pacotes abaixo:

aptitude install php5 rrdtool librrds-perl

## Vamos baixar e instalar o PNP4Nagios

cd /usr/src/wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.6.tar.gztar zxvf pnp4nagios-0.6.6.tar.gz

cd pnp4nagios-0.6.6./configuremake allmake installmake install-configmake install-webconfldconfig

## Agora precisamos ativar modulo rewrite no apache

cd /etc/apache2/mods-enabled/ln -s ../mods-available/rewrite.load rewrite.load

## Configurar o nagios.cfg, procure pelo parametro process_performance_data e insira os dados abaixo:

vim /usr/local/nagios/etc/nagios.cfg

process_performance_data=1 service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$ service_perfdata_file_mode=a service_perfdata_file_processing_interval=15 service_perfdata_file_processing_command=process-service-perfdata-file host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$ host_perfdata_file_mode=a host_perfdata_file_processing_interval=15 host_perfdata_file_processing_command=process-host-perfdata-file

## Acesse o arquivo commands.cfg e insira os dados no final no arquivo:

vim /usr/local/nagios/etc/objects/commands.cfg

define command{

Page 44: Nagios Na Pratica

command_name process-service-perfdata-file command_line /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$ }

define command{ command_name process-host-perfdata-file command_line /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$ }

## Ajustando a configuração

cd /usr/local/pnp4nagios/etc/mv process_perfdata.cfg-sample process_perfdata.cfmv npcd.cfg-sample npcd.cfg

## Reinicie o Apache e acesse a interface do pnp4Nagios

/etc/init.d/apache2 restart

http://IP/pnp4nagios/

OBS: Verifique se todas as dependências estão ok.

## + Ajustes

cd /usr/local/pnp4nagios/share/mv install.php install.php-old

## Vamos iniciar o serviço

/usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg

OBS: Insira a linha acima no arquivo /etc/rc.local

## Blz, agora vamos integrar as interface do Nagios e PNP4Nagios

# Acesse o arquivo srvWindows.cfg e insira a linha em negrito (action_url )

vim /usr/local/nagios/etc/windows/srvWindows.cfg

define service{ host_name SRV_Windows service_description Particao use TemplateService check_command check_nt_disk!C contact_groups Admin action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ }

## Agora Reload no Nagios

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg/etc/init.d/nagios reload

Page 45: Nagios Na Pratica

## Agora acesse a interface do nagios e no serviço partição vai aparecer a imagem abaixo

Pronto, Grafico vai ser gerado!

O PNP4Nagios é uma ferramenta adicional para o Nagios e como muitas pessoas utilizam resolvi escrever, contra partida após conhece-lá tenho que dizer que prefiro a utilização do Cacti, futuramente apresento o Cacti aqui no site de qualquer forma para os mais apressados podem visitara página do projeto:

http://www.cacti.net/

.

Page 46: Nagios Na Pratica

ARTIGO 12 – Criando plugin para o Nagios em Shell Script

Olá a todos, hoje vou mostrar como escrever um plugin para o Nagios em shell Script. Na verdade um simples plugin apenas para mostrar né

O Nagios compreende 4 tipos de saída referente a status:

• OK = 0 • WARNING = 1 • CRITICAL = 2 • UNKNOWN = 3

Logo precisamos escrever as saídas com estes números (0,1,2,3) ou para casos mais simples com (0 e 2).

Para fazer isso em shell script é necessário escrever a saída com exit 0, exit 1, exit 2 e exit 3

Ok, Maioria de nós conhecemos o check_mailq que analisa a fila de e-mail e funciona muito bem, mas vamos imaginar que ele não exista pelo menos até o fim deste artigo ok?

Pessoal, este é apenas um exemplo de shell script, não sou expert em shell script mas me viro, entãosem criticas ok?

## Vamos criar o arquivo com o conteúdo abaixo:

vim /usr/local/nagios/libexec/check_fila_mail.sh

#!/bin/sh

################################################# Luciano Maia Cirilo #### lucianosuper at hotmail.com #### http://www.nagiosnapratica.com.br #################################################

## Criando os arquivos temporariosmailq > /tmp/fila.logmailq > /tmp/fila-vazia.log

## Realizando as consultastail -n 1 /tmp/fila.log | cut -d " " -f 5 > /tmp/nfila.txtcat /tmp/fila-vazia.log | grep "Mail queue is empty" > /dev/null

## Testando a ultima consulta para verificar se a fila esta vaziaif [ $? = 0 ]

Page 47: Nagios Na Pratica

thenecho "OK - A fila de E-mail esta vazia"exit 0

## Fila menor ou igual a 50 elif [ `cat /tmp/nfila.txt` -lt 50 ] then echo "OK - A fila tem `cat /tmp/nfila.txt` e-mails" exit 0

## Fila menor ou igual a 80 elif [ `cat /tmp/nfila.txt` -lt 80 ] then echo "WARNING - A fila tem `cat /tmp/nfila.txt` e-mails" exit 1

## Fila maior que 80 elif [ `cat /tmp/nfila.txt` -gt 80 ] then echo "CRITICAL - A fila tem `cat /tmp/nfila.txt` e-mails" exit 2 else echo "UNKNOWN - Erro ao tentar ler a fila de e-mail" exit 3fi

## Necessário alterar a permissão

chmod 755 check_fila_mail.sh

## Ok, agora vamos testar o plugin

./check_fila_mail.sh

OK – A fila tem 35 e-mails

## Vocês podem alterar os valores para teste, ja fiz aqui e esta funcionando Este é um plugin que funciona apenas local, logo para utiliza-lo em servidores remotos é necessário que utilize o NRPE já explicado aqui no artigo 6

Pessoal vou aproveitar e disponibilizar um plugin que verifica se um determinado IP esta listado emalgumas blacklist publicas, como vocês perceberam como qualquer outro sysadmin não vivo só de

Nagios. Espero que gostem e utilizem:

vim /usr/local/nagios/libexec/check_rbl.sh

#!/bin/sh

########################################################################### ### check_rbl.sh - Verifica se o IP esta listado nas principais RBLs ### Luciano Maia Cirilo - lucianosuper2 at gmail.com ### http://www.nagiosnapratica.com.br ### ##########################################################################

iprbl () {

Page 48: Nagios Na Pratica

cat /tmp/$iplog | cut -d. -f 1 > /tmp/1$iplogcat /tmp/$iplog | cut -d. -f 2 > /tmp/2$iplogcat /tmp/$iplog | cut -d. -f 3 > /tmp/3$iplogcat /tmp/$iplog | cut -d. -f 4 > /tmp/4$iplog

paste -d"." /tmp/4$iplog /tmp/3$iplog /tmp/2$iplog /tmp/1$iplog > /tmp/reverso2$iplog.log

}

nomeip () {> /tmp/nslookup$iplog.lognslookup "$iplog" > /tmp/nslookup$iplog.logcat /tmp/nslookup$iplog.log | grep -v "#53" | grep "Address" | cut -c 10-900 > /tmp/$iplog}

if [ $# = 0 ]thenecho "Usage: $0 {IP} "echo "Or"echo "Usage: $0 200.0.0.10 "exit 1fi

iplog="$1"echo "$iplog" > /tmp/$iplog

> /tmp/reverso2$iplog.log> /tmp/nslookup$iplog.log> /tmp/verifica2$iplog.log> /tmp/saida$iplog.log> /tmp/ips-listados2$iplog.log

grep "[0-9]\.[0-9]" /tmp/$iplog > /dev/null

if [ $? = 0 ]theniprblelsenomeipiprblfi

##### verificando as rblsfor i in `cat /tmp/reverso2$iplog.log`;dohost -t A $i.relays.mail-abuse.org >> /tmp/verifica2$iplog.loghost -t A $i.b.barracudacentral.org >> /tmp/verifica2$iplog.loghost -t A $i.rbl.smtpcheck.net >> /tmp/verifica2$iplog.loghost -t A $i.zen.spamhaus.org >> /tmp/verifica2$iplog.loghost -t A $i.bl.spamcop.net >> /tmp/verifica2$iplog.logdone

#### Tratando a Saida do Arquivooutput () {

cat /tmp/ips-listados2$iplog.log | grep "relays.mail-abuse" > /dev/nullif [ $? = 0 ]thenecho "$i.relays.mail-abuse.org" >> /tmp/saida$iplog.log

Page 49: Nagios Na Pratica

elseecho "IP not found" >> /dev/nullfi

cat /tmp/ips-listados2$iplog.log | grep "barracudacentral" > /dev/nullif [ $? = 0 ]thenecho "$i.b.barracudacentral.org" >> /tmp/saida$iplog.logelseecho "IP not found" >> /dev/nullfi

cat /tmp/ips-listados2$iplog.log | grep "rbl.smtpcheck" > /dev/nullif [ $? = 0 ]thenecho "$i.rbl.smtpcheck.net" >> /tmp/saida$iplog.logelseecho "IP not found" >> /dev/nullfi

cat /tmp/ips-listados2$iplog.log | grep "zen.spamhaus" > /dev/nullif [ $? = 0 ]thenecho "$i.zen.spamhaus.org" >> /tmp/saida$iplog.logelseecho "IP not found" >> /dev/nullfi

cat /tmp/ips-listados2$iplog.log | grep "spamcop.net" > /dev/nullif [ $? = 0 ]thenecho "$i.bl.spamcop.net" >> /tmp/saida$iplog.logelseecho "IP not found" >> /dev/nullfi

echo "CRITICAL - `cat /tmp/saida$iplog.log` "exit 2}

cat /tmp/verifica2$iplog.log | grep -v "not found" | grep -v "has no A" > /tmp/ips-listados2$iplog.logif [ $? = 0 ]thenoutputelseecho "OK - `cat /tmp/$iplog` IP Not List RBLs Public"exit 0fi

### Alterando a permissão

chmod 755 check_rbl.sh

.Espero que tenha sido esclarecedor para todos. Até a próxima!

.

Page 50: Nagios Na Pratica

ARTIGO 13 – Instalando Novo Tema para o Nagios

Olá a todos, conforme prometido vamos continuar nossa série de artigos sobre o Nagios. Mas nestecaso poderia ser um Tutorial (Instalando Novo Tema para o Nagios) porque é fácil de se adequarpara qualquer instalação do Nagios.

Hoje vou propor instalarmos um novo Tema para o Nagios, para quem não gosta do visual dainterface do Nagios hoje vamos instalar algo mais moderninho, em outras palavras dar uma RoupaNova para o Nagios!

Pergunta: Mas Luciano o que isso muda no funcionamento do Nagios?Resposta: Nada

A idéia deste artigo é mostrar que você pode customizar e até mesmo traduzir o menu do Nagiospara melhor entendimento.

Vamos a Prática

## Acesse o link abaixo (todos os créditos estão na página ok?)

cd /usr/src/

http://exchange.nagios.org/directory/Addons/Frontends-%28GUIs-and-CLIs%29/Web-Interfaces/Themes-and-Skins/Arana-Theme-1-2E0-for-Nagios-3-2Ex/details

## Realize o download

wget http://downloads.sourceforge.net/project/arana-nagios/arana_style-1.0for-Nagios3x-ENG.zip

## Para manter o cenário fiel, vamos instalar o unzip

aptitude install unzip

## Backup do layout original

cd /usr/local/nagios/tar czf nagios-share.tar.gz share/

## Agora vamos descompactar e fazer a mágica

cd /usr/src/

unzip arana_style-1.0for-Nagios3x-ENG.zipcd arana_stylecp -pR * /usr/local/nagios/share/

Page 51: Nagios Na Pratica

## Pronto, esta feito! Acesse a interface do Nagios e veja o resultado

http://IP/nagios/

### Veja como ficou

## Não gostou? Não tem problemas vamos retornar para original

rm -rf /usr/local/nagios/share/*mkdir /root/nagiosnapraticacd /usr/local/nagios/tar zxvf nagios-share.tar.gz -C /root/nagiosnapratica/cd /root/nagiosnapratica/share/cp -pR * /usr/local/nagios/share/

/etc/init.d/apache2 restart

## Ok, voltamos ao normal, para o próximo artigo eu estou retornando para a interface original ok?

Considerações: Caso queiram traduzir o Menu do Nagios edite o arquivo side.html que fica em /usr/local/nagios/shared/

Ok, Pessoal aguardem até o próximo post!

Page 52: Nagios Na Pratica

ARTIGO 14 – Atualizando a Versão do NagiosOlá pessoal, hoje quero falar sobre um assunto muito, mas muito importante para qualquer SysAdmin:

– Atualização de Segurança ou em outras palavras Correções de Problemas!

Este é o nosso artigo de número 14 e até o momento estamos utilizando a versão 3.2.2 do Nagios e na própria interface do Nagios existe um link de check para verificar se existe alguma atualização:

Check for Updates

Update Required

Your installation of Nagios Core 3.2.2 is outdated and should be upgraded. The latest version ofNagios Core is 3.2.3 was released on 2010-10-03.

Download the latest version of Nagios CoreLogo a mensagem diz que já existe uma nova versão do Nagios que com certeza devemos realizar a atualização, mas o que mudou nesta versão?

Existe um link que é o ChangeLog que mostra o que foi corrigido, segue o link:

http://www.nagios.org/projects/nagioscore/history/core-3x

FIXES

• Fixes problem where disabling all active hosts/services was not taking effect • Fixes for compiler warnings (code cleanup by Stephen Gran) • Fixes for format errors in event handler logging (Guillaume Rousse) • Fixed incorrect info in sample nagios.cfg file for state_retention_file (Michael Friedrich) • Fixed broker_event_handler() to return ERR if data is NULL (Michael Friedrich)

Acima estão os problemas que foram corrigidos referente a versão anterior, logo se você percebeu que esta sofrendo alguns dos problemas acima deve com certeza realizar a atualização para nova versão.

blablablabla, vamos a prática!

### Vamos fazer o download e descompactar

cd /usr/src/wget http://downloads.sourceforge.net/project/nagios/nagios-3.x/nagios-3.2.3/nagios-3.2.3.tar.gztar zxvf nagios-3.2.3.tar.gz

## Ok, mas antes de qualquer coisa realizar o backup conforme expliquei anteriormente (Backup do Nagios)

mkdir /backup-nagioscp -p /etc/init.d/nagios /usr/local/nagios/tar czf /backup-nagios/nagios-pro.tar.gz /usr/local/nagios

## Agora, vamos atualizar

cd /usr/src/nagios-3.2.3

./configure --prefix=/usr/local/nagios --with-command-group=nagios --enable-nanosleep --enable-event-brokermake allmake installmake install-init

Page 53: Nagios Na Pratica

make install-commandmodemake install-configmake install-webconf

## Ok, não aparecendo nenhum erro, reinicie os serviços

/etc/init.d/nagios restart/etc/init.d/apache2 restart

## Acesse a Interface do Nagios

http://IP/nagios

## Cade meus hosts? Calma, pessoal agora vamos acertar a configuração para deixar exatamente como antes

cd /usr/local/nagios/etc/ls -1

## Observe o Resultado

cgi.cfgcgi.cfg~htpasswd.userslinuxnagios.cfgnagios.cfg~ndo2db.cfgndomod.cfgnrpe.cfgobjectsresource.cfgresource.cfg~windows

OBS: O A nova instalação não excluiu os arquivos apenas renomeou com o final ~

## Pessoal eu utilizo o comando diff para resolver este problema, segue abaixo:

diff cgi.cfg cgi.cfg~

< # CGI.CFG – Sample CGI Configuration File for Nagios 3.2.3—> # CGI.CFG – Sample CGI Configuration File for Nagios 3.2.2228c228< default_statusmap_layout=5—> default_statusmap_layout=3242c242< default_statuswrl_layout=4—> default_statuswrl_layout=3

OBS: O resultado mostra a diferença entre os dois arquivos sempre na ordem da consulta, primeira linha ta no arquivo cgi.cfg e segunda linha esta no arquivo cgi.cfg~ / porque foi assim que eu executei o comando.

Page 54: Nagios Na Pratica

## Acertando o cgi.cfg, altere conforme parâmetros abaixo

vim /usr/local/nagios/etc/cgi.cfg

default_statusmap_layout=3default_statuswrl_layout=3

## Agora ensinei a pescar ok? acerte as diferenças do principal arquivo nagios.cfg

Pergunta: Posso renomear os arquivos??Resposta: Sim, mas preste atenção nos novos parâmetros caso existam!

## Agora apague os arquivos com ~ no final

rm -rf /usr/local/nagios/etc/*~

## Calma que ainda não acabou, vamos utilizar o nosso backup

cd /backup-nagiostar zxvf nagios-pro.tar.gzcd /backup-nagios/usr/local/nagios/etc/objects/

## Agora vamos deixar igualzinho como estava copiando alguns arquivos

cp templates.cfg /usr/local/nagios/etc/objects/cp contacts.cfg /usr/local/nagios/etc/objects/cp commands.cfg /usr/local/nagios/etc/objects/

## Chegou a hora da verdade, vamos testar a nossa configuração

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

## Caso não tenha erros, reinicie o Nagios

/etc/init.d/nagios restart

## Acesse a Interface e verifique se todos os seus hosts voltaram para a monitoração

http://IP/nagios/

## Ok, Nagios atualizado e funcionando!!

Page 55: Nagios Na Pratica

ARTIGO 15 – Monitorando Hardware do Switch com SNMPOlá a todos, hoje estou aqui para escrever sobre como monitorar Hardware de equipamentos, comoRoteadores e Switches. Como? através do Protocolo SNMP (Simple Network Management Protocol– Protocolo Simples de Gerência de Redes), pois é pessoal este protocolo é universal, podemosdizer assim, este vem por padrão em tudo que é equipamento de rede Roteadores, Switches,Impressoras, Servidores e etc.

Quando você precisar saber sobre o hardware do equipamento procure saber se o mesmo temsuporte ao protocolo SNMP ok? Pessoal me desculpem não me aprofundar no mesmo, afinal aqui éapenas uma idéia prática de como se utilizar as coisas

Para fazer com que o Nagios consiga checar através do protocolo SNMP é necessário ter um plugincapaz de entender o SNMP e para isso existe diversos plugins, como no meu caso tenho SwitchCisco então utilizo este plugin:

nagios-plugin-cisco-snmp.tar.gz

Bem vamos a prática

## Baixar os plugins do projeto

cd /usr/src/wget –no-check-certificate https://www.monitoringexchange.org/attachment/download/Check-Plugins/Network/Cisco/Cisco-SNMP-device-monitoring/nagios-plugin-cisco-snmp.tar.gz

## Agora vamos para Instalação

aptitude install libnet-snmp-perl

tar zxvf nagios-plugin-cisco-snmp.tar.gzcp -p check_snmp_cisco_* /usr/local/nagios/libexec/

## Blz, agora para que o Nagios consiga monitorar é necessário que o equipamento, neste caso oSwitch tenha suporte ao protocolo SNMP configurado com um nome de comunidade, favorpesquisar sobre, mas quem gerencia switches não encontra dificuldades em fazer tal configuração.

## Antes de configurar os arquivos do Nagios, vamos realizar um teste com plugin

# Comando/usr/local/nagios/libexec/check_snmp_cisco_memutil -H IP -C Public -w 60% -c 80%

# Public – É o nome da comunidade cadastrada no Switch# 60% Warning# 80% Critical

#ResultadoStatus is OK – MEMORY: total: 12.17 MB, used: 3.11 MB (26%), free: 9.05 MB

## Tudo certo, vamos configurar o arquivo do Nagios

cd /usr/local/nagios/etc/objects/

vim commands.cfg

# Insira os dados abaixo no final no arquivo

Page 56: Nagios Na Pratica

define command{ command_name check_snmp_cisco_memutil command_line $USER1$/check_snmp_cisco_memutil -H $HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$ }

## Legal, agora vamos criar um arquivo para o switches

mkdir /usr/local/nagios/etc/switches

vim /usr/local/nagios/etc/switches/switch01-2andar.cfg

# Insira no as linhas abaixo

define host{ host_name Switch-Cisco-2andar use TemplateHost contact_groups Admin alias Switch Cisco address IP-do-Switch }

define service{ host_name Switch-Cisco-2andar service_description Ping use TemplateService check_command check_ping!300,20%!900,52%! contact_groups Admin }

define service{ host_name Switch-Cisco-2andar service_description SWITCH-MEMORIA use TemplateService check_command check_snmp_cisco_memutil!Public!60!80 contact_groups Admin }

define hostextinfo{ host_name Switch-Cisco-2andar icon_image switch40.jpg icon_image_alt Switch Cisco statusmap_image switch40.jpg }

## Agora insira no arquivo nagios.cfg este novo diretório

vim /usr/local/nagios/etc/nagios.cfg

cfg_dir=/usr/local/nagios/etc/switches

# Agora vamos verificar o resultado

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg/etc/init.d/nagios reload

## Verifique a Interface

Page 57: Nagios Na Pratica

http://IP-doNagios/nagios

Pessoal preciso citar 2 projetos que utilizo:

http://www.cacti.nethttp://nagios.manubulon.com/

Ok, até o próximo post

Page 58: Nagios Na Pratica

DICA 01 – Monitorando Web Sites por PalavraChave

Olá pessoal, ando sem tempo para variar mas vou continuar firme na idéia de compartilhar omaximo possível de informações sobre Nagios.

Hoje quero iniciar os meus Posts de dicas de monitoramento, mas a nossa série de artigos vaicontinuar, fiquem tranquilos!

Como devemos monitorar Web Sites? Fácil monitorando a porta 80 TCP!

Pode ser, mas monitorar a porta 80 TCP não garante que a página esta ok, pergunto a todos:

• Caso ocorra algum problema com desenvolvimento da página? • Algum problema no sistema que deixe a página fora? • Mostrando algum erro na página inicial do seu site?

Podemos também monitorar o processo do apache (NRPE) ou do IIS (NSClient)? Sim! pensando napossibilidade de ter um NAT sendo feito para o servidor errado. Pois é, mas mesmo assim nãoresolve o problema de um problema de desenvolvimento!

Toda esta história para dizer que podemos monitorar também uma determinada palavra de uma

determinada página, como? com o próprio check_http

Vamos para Prática!!

## Acesse o seu servidor Nagios

cd /usr/local/nagios/libexec/

# Sintax./check_http -I IP-Servidor-Web -u http://EndereçoDoSite/Pagina.html -R PalavraChave

# Testando./check_http -I 216.34.181.96 -u http://nagios.sourceforge.net/docs/3_0/quickstart.html -R quickstart

# RespostaHTTP OK HTTP/1.1 200 OK – 0,456 second response time |time=0,456224s;;;0,000000 size=4844B;;;0

## Procurando por uma palavra que não existe (Luciano)./check_http -I 216.34.181.96 -u http://nagios.sourceforge.net/docs/3_0/quickstart.html -R Luciano

Page 59: Nagios Na Pratica

# RespostaHTTP CRITICAL – pattern not found|time=0,439705s;;;0,000000 size=4844B;;;0

Conclusão: A limitação desta monitoria esta em uma página estatica, de qualquer forma não deixade ser um itém a+ a ser considerado, o que pode ser feito como sugestão é solicitar ao seudesenvolvedor uma página “secreta” ou de teste, utilizando todos os módulos da linguagemescolhida e consultando o Banco de Dados.

Pensem nisso e aguardem até a próxima dica!

.

Page 60: Nagios Na Pratica

DICA 02 – Plugin no Mozilla Firefox para o Nagios

Olá pessoal, hoje a dica é sobre como monitorar o Nagios sem ficar olhando para a tela do Nagios! Já pensou?

Nem preciso dizer que o Mozilla Firefox tem diversos plugins (ou extenções chame como quiser ) que permite personalizar o seu Navegador!

Ok, a idéia é acessar outros sites e deixar o plugin monitorar o nagios para você!

## Acesse o link:

https://addons.mozilla.org/pt-BR/firefox/

Pesquise pela palavra: Nagios

## Vai encontrar esta página:

https://addons.mozilla.org/pt-BR/firefox/addon/3607/

## O plugin chama-se:

Nagios Checker e esta na versão 0.15.4

## Segue os passos para instalação:

Clique em + Add to Firefox

Clique em Instalar Agora

Necessário clicar em Reiniciar o Firefox

Page 61: Nagios Na Pratica

## Ok, Vai aparecer no canto inferior direito o Ícone do Nagios Checker

Clique com o botão direito e em seguida em Configurações…

Agora clique em Adicionar novo…

## Preencha conforme exemplo

Page 62: Nagios Na Pratica

## Insira a URL do seu Nagios e login e senha

## Na próxima guia adicione a URL conforme exemplo abaixo

## Seguem todas as outras telas:

Page 66: Nagios Na Pratica

## Blz, agora clique com o botão direito novamente no ícone e em seguida em Iniciar

## Este é o exemplo de alerta, clique no alerta em vermelho para acessar o alarme

## Agora você pode navegar em outros sites e deixar que o plugin verifique o seu Nagios para você!

Ok Pessoal, agora aguardem as próximas dicas e artigos!

.

Page 67: Nagios Na Pratica

DICA 03 – Plugin que monitora servidor de e-mail no NagiosOlá Pessoal, hoje estou aqui para apresentar 2 plugins que eu considero obrigatório em monitoraçãode e-mail, são eles:

• check_smtp_send - Envia uma mensagem (smtp) com o assunto escolhido por você!

• check_pop3_subject.pl - Acessa (pop3) a conta e procura por mensagens com determinado assunto

Entenderam?

Uma maravilha porque simula o envio e recebimento de e-mails no seu servidor, qualquer sintoma estranho no seu serviço de e-mail sera alarmado no Nagios.

Seguem os links dos plugins:

• check_smtp_send • check_pop3_subject.pl

Estes e muitos mais plugins disponíveis para o Nagios estão em:

• http://exchange.nagios.org/directory/Plugins

Segue a sintaxe:

check_smtp_send -H IP-do-Servidor-Email –mailto [email protected] –mailfrom [email protected] –header ‘Subject:NagiosNaPratica’

check_pop3_subject.pl -u [email protected] -p senha-conta-destino -H IP-do-Servidor-Email -s NagiosNaPratica..

Considerações: Esta dica foi feita pelo Elias em um dos artigos do Nagios na Prática. Aguardem até a próxima dica!.

Page 68: Nagios Na Pratica

DICA 04 – Listas de discussões sobre o Nagios em português

Olá a todos Administradores Nagios, hoje venho aqui apenas indicar algumas listas que recomendoaos iniciantes do Nagios ok?

Para quem esta iniciando no Linux ou em software livre em geral, talvez não saiba que para maioriados softwares existe uma lista de discussão!

Na lista geralmente criadas pelos próprios desenvolvedores do software em questão ou por usuáriosdo seu dia-a-dia, que proporciona uma fonte de pesquisas sobre problemas e soluções em diversoscenários da ferramenta.

Por exemplo, participo de algumas listas relacionadas a outros softwares livres, com intuito deaprender mais com o problema alheio que amanhã podera ser o meu problema, logo, espero ajudar eser ajudado por esses parceiros que utilizam a mesma solução.

Participo de listas como: Bacula, Postfix, LPI, Squid, Nagios e etc.

Então para quem ainda não conhece existem 2 listas em português sobre o Nagios que gostaria deindicar, são elas:

Nagios Br

Para realizar o cadastro nesta lista, acesse o link:https://lists.sourceforge.net/lists/listinfo/nagios-users-br

Para visualizar o histórico desta lista acesse o link:http://sourceforge.net/mailarchive/forum.php?forum=nagios-users-br

Nagios Lab

Para realizar o cadastro nesta lista, acesse o link:https://groups.google.com/group/nagios-lab/subscribe

Para visualizar o histórico desta lista acesse o link:https://groups.google.com/group/nagios-lab/topics

Pessoal, tenho alguns pensamento sobre listas e gostaria de compartilhar com todos aqui:

• Quando você envia duvida para uma lista, imagine-se que você já tentou resolver esta duvida sozinho, que ja realizou pesquisas sem sucesso sobre o problema;

• Ninguém tem obrigação (talvez nem tempo) de responde-lo de imediato o que você deseja e nem de descrever detalhadamente como resolver;

• Seja sempre educado, pois existem outras pessoas sendo copiadas no mesmo e-mail;.

• Não apenas pergunte em uma lista, tente ajudar a responder alguma duvida também!

Page 69: Nagios Na Pratica

Considerações: Pessoal, gostaria de agradecer todos os comentários feitos e prometo que vou continuar contribuindo na medida do possível com artigos, dicas, tutoriais, noticias sobre o Nagios econto a colaboração e compreensão de todos.

Desejo Boas Festas para todos neste fim de 2010!

Page 70: Nagios Na Pratica

DICA 05 – Backup do Nagios

Olá pessoal, hoje quero escrever bem rápido sobre algo muito importante:

“Backup do Nagios”

Vamos ser sincero que a instalação do Nagios não é complicada, muito pelo contrario e da forma como instalamos no Artigo 2 (Acompanhe os artigos em sequencia), centralizamos os diretórios do Nagios em:

/usr/local/nagios

Quando penso em Backup tenho que confessar que penso no Bacula, sou tão fã do Bacula quanto sou do Nagios, enfim backup de verdade é aquele que existe uma rotina de cópia e tempo de retenção, mas não vou entrar neste detalhe o importante é saber que deve-se realizar backup no mínimo regularmente do diretório /usr/local/nagios ok?

Então como seria um backup simples do Nagios:

## Acesse o Servidor Nagios e execute os Comandos abaixo

mkdir /backup-nagioscp -p /etc/init.d/nagios /usr/local/nagios/tar czf /backup-nagios/nagios-pro.tar.gz /usr/local/nagios

# Ok, agora o seu backup simples esta no diretório /backup-nagios

Quando se deve fazer backup do Nagios após toda alteração do mesmo, isto é, adicionou um novo host, serviço no monitoramento faça o backup, outra razão é para atualização da versão do Nagios, antes de atualizar a versão do nagios é necessário ou recomendado este tipo de backup (full).

Ok pessoal até o próximo Post!

Page 71: Nagios Na Pratica

DICA 06 – Nagios monitorando com hora marcada

Olá a todos,

Hoje quero falar sobre o que me aconteceu na semana passada e aproveitar e deixar a dica para todos que acompanham o Nagios na Prática.

Monitoro servidor de e-mail que na hora do backup é necessário parar alguns serviços (POP eSMTP) e imagina a criticidade do alarme para um servidor de e-mail com estes serviços alarmandoCRITICAL no Nagios as 2:00 da madrugada?

Solução: Criar um template de periodo de monitoração para os serviços deste host.

P. Como fazer?R. Simples, acessar o arquivo timeperiods.cfg

timeperiods.cfg – Fica a Configuração de Periodos de Monitoramento.

## Acesse o arquivo e vamos analisar o principal template

vim /usr/local/nagios/etc/objects/timeperiods.cfg

define timeperiod{timeperiod_name 24x7alias 24 Hours A Day, 7 Days A Weeksunday 00:00-24:00monday 00:00-24:00tuesday 00:00-24:00wednesday 00:00-24:00thursday 00:00-24:00friday 00:00-24:00saturday 00:00-24:00}

### 24×7 é por padrão o que estamos monitorando já nos nossos hosts e serviços.

## Para criar um template novo basta copiar o 24×7 e realizar as alterações necessárias, no meu caso, precisei dizer que entre as 2:00 até as 5:00 da manhã não quero que o serviço seja monitorado

define timeperiod{ timeperiod_name 24x7-less-backup alias less-backup

Page 72: Nagios Na Pratica

sunday 05:00-24:00,00:00-01:59 monday 05:00-24:00,00:00-01:59 tuesday 05:00-24:00,00:00-01:59 wednesday 05:00-24:00,00:00-01:59 thursday 05:00-24:00,00:00-01:59 friday 05:00-24:00,00:00-01:59 saturday 05:00-24:00,00:00-01:59}

## Pronto agora basta associar aos serviços que você não quer que monitore entre as 2:00 até as 4:59

define service{ ... ... check_period 24x7-less-backup ...}

OBS: Nos nossos hosts e serviços monitorados até aqui, não temos a linha acima nos arquivos (web.cfg, srv-nagios.cfg, debian.cfg e etc) isto é, esta linha é referenciada nos nossos templates (TemplateHost e TemplateService) criados no arquivo timeperiods.cfg, quando inserida ela sobrepõe o template padrão.

OK, pessoal esta é a dica do dia, simples porém quando necessária ajuda bastante.

Page 73: Nagios Na Pratica

DICA 07 – Script para Monitorar SO Windows

Olá Pessoal,

Hoje estou aqui para mostrar um script que fiz há algum tempo, mas que é muito funcional pramim.

Sei que estou sem escrever artigos já algum tempo, mas estou tentando não abandonar o projeto equero fazer desde blog uma fonte de conhecimento sobre o Nagios ok? quem quiser ajudarenviando artigos, dicas, fiquem a vontade. Prometo que publico com todos os créditos.

——————————————————————————————————————————————————

OK Let’s go!

Esse script chamo de check_windows.sh que para quem usa o nsclient++ para monitorar SOMicrosoft ajuda bastante. Ao executar este script já tenho uma boa idéía do que preciso monitorarno SO.

O resultado é semelhante a este:

./check_windows.sh 192.168.11.200

O servidor Windows esta com as seguintes portas abertas80/tcp open http135/tcp open msrpc139/tcp open netbios-ssn445/tcp open microsoft-ds1025/tcp open NFS-or-IIS1248/tcp open hermes3389/tcp open ms-term-serv8080/tcp open http-proxy8081/tcp open blackice-icecap10000/tcp open snet-sensor-mgmt161/udp open|filtered snmp

Page 74: Nagios Na Pratica

O servidor Windows tem as seguintes Particoes e Processos Monitorar P.I.N.GMonitorar Particao CMonitorar Particao DMonitorar Particao PMonitorar processo snmp.exe

Ok, Para este script funcionar corretamente é necessário ter o NMAP instalado no servidor Nagios eo plugin check_nt deve estar em /usr/local/nagios/libexec, no servidor windows a ser monitorado oNSClient++ deve estar instalado e configurado corretamente.

## Execute os comandos abaixo como root

vim check_windows.sh

## Copie e cole toda a parte abaixo

#!/bin/bash

################################################################### ## #### Luciano Maia Cirilo #### lucianosuper {at} hotmail.com #### Script varre Windows e mostra precisa ser monitorado #### ## ###################################################################

if [ $# = 0 ]thenecho ""echo "./check_windows.sh [IP]"echo ""echo "Exemplo:"echo ""echo "./check_windows.sh 192.168.98.63"echo ""exit 1fi

### Variavel IPIP="$1"

particao () {

### Testando Particoesfor i in C D E F G H I J L M N O P Q R S T U V W X Zdo/usr/local/nagios/libexec/check_nt -H "$IP" -p 1248 -v USEDDISKSPACE -l "$i" -w 50 -c 70 > /tmp/disco.log | > /dev/nullcat /tmp/disco.log | grep -i Usedif [ $? = 0 ]thenecho "Monitorar Particao $i" >> /tmp/resultadochek.logelseecho "nada a fazer" > /dev/nullfidone

}

Page 75: Nagios Na Pratica

processos () {

#### Testando Processosfor j in oracle.exe ORACLE.EXE SAPlpd.exe SAPOSCOL.EXE sapstartsrv.exe snmp.exe sqlagent.exe SQLAGENT.EXE sqlbrowser.exe SQLSERVERAGENT sqlservr.exe sqlwriter.exe syslogd.exe tapeeng.exe tcpsvcs.exe TNSLSNR.exe TNSLSNR.EXE tomcat5.exe tomcat6.exe tomcat.exe updaterd.exedo/usr/local/nagios/libexec/check_nt -H "$IP" -v PROCSTATE -d SHOWALL -l "$j" > /tmp/processos.log | > /dev/nullcat /tmp/processos.log | grep -i "not running"if [ $? = 0 ]thenecho "nada a fazer" > /dev/nullelseecho "Monitorar processo $j" >> /tmp/resultadochek.logfidone

}

brincadeira () {

############# Brincando com o Tempo

echo -e "33[1;38;5;001m .33[0m"echo -e "33[1;38;5;001m ..33[0m"echo -e "33[1;38;5;001m ...33[0m"echo -e "33[1;38;5;001m ....33[0m"echo -e "33[1;38;5;001m .....33[0m"echo -e "33[1;38;5;001m ......33[0m"echo -e "33[1;38;5;001m .......33[0m"echo -e "33[1;38;5;001m ........33[0m"echo -e "33[1;38;5;001m .........33[0m"echo -e "33[1;38;5;001m ..........33[0m"echo -e "33[1;38;5;001m ........... Processando...33[0m"echo -e "33[1;38;5;001m ..........33[0m"echo -e "33[1;38;5;001m .........33[0m"echo -e "33[1;38;5;001m ........33[0m"echo -e "33[1;38;5;001m .......33[0m"echo -e "33[1;38;5;001m ......33[0m"echo -e "33[1;38;5;001m .....33[0m"echo -e "33[1;38;5;001m ....33[0m"echo -e "33[1;38;5;001m ...33[0m"echo -e "33[1;38;5;001m ..33[0m"echo -e "33[1;38;5;001m .33[0m"

}

final () {

echo ""echo -e "33[1;38;5;118mO servidor Windows esta com as seguintes portas abertas33[0m"

nmap -sT $IP > /tmp/portas.lognmap -sU -p 161 $IP >> /tmp/portas.logcat /tmp/portas.log | grep openecho ""

Page 76: Nagios Na Pratica

echo ""echo -e "33[1;38;5;118mO servidor Windows tem as seguintes Particoes e Processos33[0m"

cat /tmp/resultadochek.logecho ""echo ""> /tmp/resultadochek.log

}

#### Testando Pingping -qc5 $IP > /dev/nulla=$?

nmap -sT $IP -p 1248 | grep openb=$?

if [ $a -eq 0 -a $b -eq 0 ]thenecho "Monitorar P.I.N.G" >> /tmp/resultadochek.logparticaoprocessosbrincadeirafinalelsebrincadeiraecho ""echo -e "33[1;38;5;001m#### --- ATENCAO Verificar se o IP esta Pingando ou Cliente do Nagios (NSClient - Porta 1248 TCP) Foi instalado --- ####33[0m"echo ""fi

##########################################################################

### Ok, agora vamos ajustar a permissão no arquivo

chmod 755 check_windows.sh## Agora divirta-se

./check_windows.sh IP-servidor-windows

OBS: Este script pode e deve ser melhorado, por exemplo na parte de processos você pode acrescentar os que você geralmente monitora no Windows. Detalhe como eu já disse anteriormente não sou especialista em Shell Script então sem críticas ok?

Page 77: Nagios Na Pratica

DICA 08 – Monitorando Processo com parâmetro (Windows) no NSClient++

Olá Pessoal, quanto tempo? Pois é, mas quem é vivo sempre aparece não é mesmo? rs

Hoje vou mostrar um “macete” que demorei para descobrir a solução, mas acredito que possa ter muita utilidade para os Sysadmins de plantão. Me deparei com seguinte problema:

- Precisava monitorar um processo do MS Windows que tinha um parâmetro:

svchost.exe -k netsvcs

Logo não consegui do jeito convencional, então depois de algumas pesquisas encontrei a seguinte solução com expressão regular

check_nt -H $HOSTADDRESS$ -v PROCSTATE -d SHOWALL -l ‘cmdLine,match=regexp,.*svchost\.exe* \-k netsvcs’

Pessoal, sem mais nem menos, dessa forma consegui monitorar o processo + o seu parâmetro.

Para quem chegou no blog agora, já existem alguns tutorias de como instalar o NSClient++ e configuração no Nagios o comando acima.

Page 78: Nagios Na Pratica

NOTÍCIAS 01 – Curso Oficial do Nagios

Olá Pessoal, este é o primeiro Post de 2011 e gostaria de dizer que sempre que possível teremos artigos, tutoriais, dicas, notícias e etc sobre o Nagios.

Estava eu preparando alguns artigos sobre o Nagios e visitando a página do Nagios (nagios.org) encontrei este link:

http://community.nagios.org/2011/01/06/official-nagios-training-schedule-january-2011/

Tenho pretensões de ministrar treinamento sobre o Nagios, por que não?

Fiquei surpreso de saber que já existe um treinamento oficial, particularmente pra mim é uma novidade. Interessante que alguns itens do treinamento já foi falado aqui no www.nagiosnapratica.com.br

São aproximadamente 20 horas de treinamento e custa $995.95

Segue o conteúdo do treinamento oficial:

Topics Covered in the Class

Learn How to Monitor: Linux Server, Windows Servers, Printers, Routers, Switches, with Activeand Passive Checks

Monitor Network Services Monitor services that you run on your servers like SMTP, POP3,HTTP, etc.

Monitor Host Resources Nagios will allow you to monitor processor load, disk and memoryusage, running processes, log files, etc.

Monitor Environmental Factors You will be able to monitor temperature changes and problemswith Nagios.

Develop Plugins Create or modify plugins that so that you can monitor all aspects that you need.

Define Host Status Create a recognition of down and unreachable servers to eliminate falsepositives.

Contact Notifications Contact support with email or pager when service or host problems occur.

Page 79: Nagios Na Pratica

Implement Redundant and Distributed Monitoring External command interface that allows on-the-fly modifications to be made to the monitoring and notification behavior through the use ofevent handlers, the web interface, and third-party applications. This includes NSCA and passivemonitoring.

Schedule Downtime for Limiting Notifications During planned outages you can schedule in thattime.

Access Web Interface The web interface provides a summary of status and issues on each server.

Multiple Levels of Authentication for the Web Interface

NagVis ImplementationNagVis allows an administrator to create a specific map either geographical or logical based andthen insert the organization’s hosts and services on the map.

Review of Nagios XIThe class will provide a review of the Nagios XI product.

Para + informações segue o link:

http://beginlinux.com/web/index.php?app=ccp0&ns=prodshow&ref=nagios_live

Pessoal, em breve vou estar postando mais artigos, dicas, notícias e etc.

Até a próxima.

Page 80: Nagios Na Pratica

NOTÍCIAS 02 – O “Pai” do Nagios no BrasilOlá pessoal,

Conforme comentário do Sr. Dilson que recebi esta semana:

A OpServices trará para o Brasil a primeira edição da Nagios Conference Latin America nos dias 13 a 15 de Abril de 2011 em São Paulo.

E quem estará presente??

Nada + nada – que o criador do Nagios Mr. Ethan Galstad

Para Maiores informações:

http://www.monitoringconferencelatinamerica.com/

Page 81: Nagios Na Pratica

NOTÍCIAS 03 – LM entrevista o Pai do Nagios – Ethan GalstadOlá Pessoal,

Como a maioria dos Sysadmin ando com o tempo muito corrido, por isso, estou um pouco devagarem escrever artigos aqui no blog ok? Mas sejam pacientes que logo publico novos artigos!

Para quem quiser colaborar em enviar tutorias, publico com todos os créditos ok?

Senhores todos sabem que o Pai do Nagios o Sr. Ethan Galstad esteve no Brasil para participar deevento que eu particularmente não tive dinheiro para ir, mas a Linux Magazine fez uma entrevistacom o mesmo e divulgaram na lista do Nagios. Logo, só estou publicando aqui e não colocandoapenas o link para informação não se perder ok?

Todos os créditos são da Revista Linux Magazine ok?

Att.Luciano Maia CiriloLPIC-3

——————————————————————————————————————————————————-

Ethan Galstad veio ao Brasil durante a Nagios Conference Latin America, que aconteceu em SãoPaulo de 13 a 15 de abril de 2011, em São Paulo. Em sua primeira visita ao país e à América Latina,Ethan concedeu uma entrevista exclusiva à Linux Magazine e nos contou um pouco de suatrajetória e de seu projeto, talvez um dos mais bem sucedidos softwares de código aberto parautilização em redes. O resultado dessa conversa você pode conferir nas próximas páginas da LinuxMagazine.

LM » Fale um pouco de você para as pessoas que não te conhecem no Brasil.

EG » Bom, eu vivo em Minnesota, que fica ao norte, perto da fronteira com o Canadá, na parte

Page 82: Nagios Na Pratica

central dos EUA. Temos um bocado de neve por lá e comecei como um assistente de administraçãode redes.

LM » Você não era um desenvolvedor naquele momento?

EG » Na verdade, fui para a Universidade de Minnesota estudar Ciências da Computação e gostavadisso, mas também gostava de hardware e de redes. Meu primeiro trabalho foi como assistente deadministração de redes e eu gostava de desenvolver software para redes. É por isso que acredito queuma solução de monitoramento como o Nagios é um passo acertado, por causa da combinação desistemas, redes e desenvolvimento. É o que eu gosto de fazer.

LM » Por que você começou a desenvolver o Nagios? Quando a ideia veio à sua cabeça?

EG » Veio pela primeira vez em 1996, no meu primeiro emprego em administração de redes. Nolugar em que trabalhava, costumava fazer os encontros do pessoal de TI em um bar próximo e nós,bebíamos… muito. Durante uma dessas reuniões, um servidor no trabalho parou de funcionar,ninguém sabia onde estávamos e nos metemos em um monte de problemas. Por causa disso, nosdisseram que não poderíamos mais fazer nossas reuniões no bar. Então, eu pensei: “Bom, preciso deuma solução para monitorar esses sistemas, para que eu saiba o quanto antes, se eles estão ou nãofuncionando”. Foi assim que a ideia surgiu pela primeira vez. Escrevi um programa bem básico em1996, mas foi só em 1999, quando pensava em abrir uma empresa, que decidi oferecer serviços demonitoramento.

LM » Você abriu uma empresa?

EG » Eu ia abrir uma empresa e queria oferecer com ela serviços de monitoramento, pois ossoftwares que existiam na época eram ou muito caros, ou não faziam o que eu queria que fizessem.Pensei: “Pego a ideia que tive antes e tento transformá-la em um aplicativo”. Não fiz nada paracomeçar a minha empresa, mas escrevi a primeira versão do Nagios. Honestamente, nunca imagineique mais do que 10 ou 12 pessoas usariam o software. Nunca imaginei que haveria algum interesse,mas o projeto começou a decolar e a chamar a atenção. Foi assim que tudo começou.

LM » Como é o desenvolvimento do Nagios hoje? É patrocinado por alguma empresa ou você tem sua própria companhia?

EG » Nós temos nossa própria companhia. Começamos uma empresa que oferece serviçosbaseados no Nagios. Oferecemos treinamento, consultoria e suporte técnico. Também temos umaversão comercial do Nagios. Porém, o projeto Nagios em si não é patrocinado por nenhumaempresa, nem mesmo pela nossa. Acho que podemos dizer que, de certa forma, patrocinamos, pormantermos a página web do projeto e fazermos algumas propagandas do software. As pessoas quecontribuem para o Nagios estão espalhadas pelo mundo e trabalham em outras empresas, alguns dosprincipais contribuidores para o núcleo do Nagios trabalham para empresas que competem com anossa e também para outras empresas que possuem soluções comerciais baseadas no Nagios.Mesmo assim, temos muitos contribuidores para o projeto. Eu não poderia dizer que algum delesem particular é um patrocinador em especial.

LM » Por que você abriu o código-fonte do Nagios?

EG » Eu tinha algumas preocupações e pensei que abrir o código iria incrementar o Nagios, torná-lo mais simples de usar e melhor, se eu tivesse algum tipo de resposta das pessoas. Também penseinisso como um modo de dar um retorno ao mundo do software livre, já que eu uso programasabertos como Linux e Apache nos meus projetos, de graça. Então quero que o Nagios seja minhacontribuição para esse universo.

LM » Qual é a diferença entre a versão aberta e a comercial do Nagios?

EG » A versão comercial combina o Nagios Core, a versão em código aberto, com mais algumas

Page 83: Nagios Na Pratica

coisas que as pessoas querem — como análises de desempenho e outras ferramentas de descobertade problemas de rede. Então, nela, combinamos essas funções e criamos nossa própria interfacepara colocar tudo de uma maneira compreensível. Portanto, o produto comercial tem mais recursosque a versão em código aberto; ao menos inicialmente, como uma solução imediata. No entanto, amaior parte dos usuários do Nagios usa a versão gratuita, pois ela é muito adaptável e eles têm bonsconhecimentos técnicos. Desse modo, eles mesmo instalam extensões como ferramentas de teste dedesempenho e autodescoberta, funções estas já existentes na versão comercial.

LM » Essa versão comercial é vendida no Brasil?

EG » Sim, nós temos alguns clientes no Brasil. Não consigo lembrar dos nomes agora. Nós temosclientes em mais de 100 países. Muitas dessas pessoas são aquelas que conhecem o Nagios e que jáusam o Nagios Core por bastante tempo e alguns deles querem algo que seja mais fácil de usar paraas outras pessoas na empresa ou até mesmo para a sua gerência, que pode querer relatóriosmelhores.

LM » Como é o desenvolvimento hoje? Você tem algum desenvolvedor brasileiro contribuindocom o Nagios?

EG » Para o desenvolvimento do Nagios Core, nenhum. Mas existem pessoas no Brasil eprovavelmente em todos os mais de 100 países em que há usuários de Nagios, que contribuem paraele de alguma forma. Por exemplo, adicionando certos serviços, com extensões em código abertopara o Nagios. Márcio Pessoa, que dá treinamentos e consultoria sobre o software, por exemplo,está escrevendo um livro sobre o programa e também um documento de referência rápida para oNagios. Assim, existem pessoas que contribuem de diferentes maneiras, espalhadas por todo omundo: Europa, América do Sul e do Norte, Ásia.

LM » Quantos contribuidores são ativos?

EG » Eu poderia dizer que, em geral, as pessoas são ativas na comunidade; algo como 50 ou 60pessoas são muito ativas. Elas não trabalham todas no Nagios Core, mas também no Núcleo, noprojeto de extensões para o Nagios e na V-Shell, a nova interface. E existem outros membros ativos,outros 50 ou 60 que testam e avaliam as extensões e fazem a documentação.

LM » E qual é a vantagem que o Nagios possui em face aos outros produtos concorrentes?

EG » Acho que uma das grandes razões de suas vantagens é que ele existe há muito tempo e estásempre melhorando. As pessoas sabem que ele existe e que é confiável. O Nagios tem centenas deextensões e complementos livres e gratuitos; e todos eles são bons. Isso faz dele um aplicativoatraente para quem queira usá-lo. Também existe uma rede de suporte internacional. Por exemplo,no Brasil, existem centenas ou milhares de pessoas usando o programa, de modo que, se você tiverquestões sobre ele, pode encontrar alguém para te prestar assistência em português. Quando temosque explicar sobre as vantagens do Nagios, falamos sobre isso: você pode conseguir ajuda na sualíngua, as extensões são gratuitas e você pode usar o que quiser do programa. Outros produtospossuem diferentes capacidades, mas os produtos em código aberto e até mesmo alguns produtoscomerciais, ainda não chegaram lá. Já o Nagios sim. Existem literalmente centenas de programaspara se escolher e o Nagios é provavelmente a solução em código aberto mais popular. Acredito queseja por causa do grande comprometimento, já que a comunidade é extremamente ativa.

LM » Você falou sobre a comunidade. E quanto a sua vinda para o Brasil? Você recebeu alguma opinião sobre o produto? Alguma opinião te surpreendeu?

EG » Acho que não estou surpreso, mas sim feliz por ver as pessoas usando Nagios e conhecê-lasnas conferência que participei. Elas expressaram estar muito felizes com o programa. O que medeixa contente é saber que ele está funcionando bem para elas. Também fico contente por causa das

Page 84: Nagios Na Pratica

empresas brasileiras que estão usando o Nagios: a Petrobrás, o exército brasileiro, a Claro, a TIM,entre tantas outras.

LM » O exército brasileiro e o governo federal, fazem uso extensivo de software livre.

EG » Penso que a Europa tem uma situação similar. Como a França, que há alguns anos aprovouuma lei obrigando o governo a procurar por soluções em código aberto.

LM » Há um projeto de lei no Congresso com uma proposta como essa no Brasil, mas acreditoque as grandes empresas de software proprietário não vão gostar muito disso.

EG » Sim, mas é realmente o que acontece: a ideia é boa, mas não há como juntar recursos. Jáempresas como a Microsoft, HP e IBM possuem muitos recursos, já que ganham muito dinheiro,têm muitos empregados, muitos advogados e podem lançar no mercado muita propaganda sobre osseus produtos. Enquanto empresas muito menores, empresas com projetos de código aberto, nãotêm todos esses recursos disponíveis. Porém, a situação é interessante. Penso que a diferença docódigo aberto é que ele entrou na sua empresa porque alguém simplesmente instalou o programa eele funcionou. Em seguida, esse alguém contou ao amigo ou colega de trabalho sobre o produto:“estou usando o Nagios” ou “estou usando o MRTG”

Nós descobrimos que dentro da IBM, em algumas fábricas, eles usam Nagios. Claro que o pessoaldo marketing da IBM ou da HP não fala isso, mas eles usam Nagios.

LM » E eles têm soluções próprias de monitoramento, certo?

EG » Eles têm, sim. Têm suas próprias soluções de monitoramento e algumas delas são muito,muito caras. A HP e a IBM são duas das companhias conhecidas como “as quatro grandes”. Elaspossuem soluções muito caras. Por isso, muitas pessoas migraram dessas soluções para o Nagios.Algumas vezes elas não podem fazê-lo, pois o uso delas é político. O CEO ou o CIO da organizaçãoconhece alguém dentro dessas empresas; então, eles compram essas soluções caras e continuamrenovando suas licenças. No entanto, o pessoal de TI não gosta delas, seja porque não funcionam,seja porque são muito caras. Deste modo, continua-se pagando por elas, mas sem utilizá-las. Assim,eles simplesmente instalam o Nagios, usam; e não falam a ninguém sobre isso.

LM » E quanto ao futuro do Nagios? O que você imagina para ele?

EG » Considerando o número de projetos de código aberto que desenvolvemos em nossa empresa,tornaremos o Nagios mais fácil de usar. Conforme o projeto cresce e as pessoas entram cada vezmais em contato com o programa, temos que ter em mente que muitas delas não são usuáriosavançados como os usuários de Linux. Muitos serão usuários de Windows e também vão quererusar o Nagios. Para tal, algumas das nossas solução vão permitir que estas pessoas usem oprograma. De acordo com o crescimento da nossa companhia, poderemos alocar mais recursos emprojetos de código aberto e também em outras coisas, como ajudar a comunidade ou compartilhar ascontribuições, através de um site de intercâmbio para o Nagios, o Nagios Exchange. É uma ediçãocomunitária do Nagios, com a qual promovemos as contribuições da comunidade e mais tarde nospromove em retorno. Estamos prevendo mais e mais desenvolvimento em torno do Nagios: umanova interface e uma nova ferramenta de configuração, para torná-lo mais simples de usar.

Mais e mais pessoas usam o Nagios o tempo todo. Não sei se você sabe, mas fizeram mais de 400novas contribuições para o software no site Nagios Exchange; isso só no último ano. Sem contar aspessoas que desenvolvem para o programa e não conhecem o Nagios Exchange. Toda semana surgealguma coisa nova, um novo complemento ou projeto.

LM » Você gostaria de falar alguma coisa para a comunidade de código aberto brasileira?

EG » Estou animado de ver que no Brasil o Nagios e outras soluções de código aberto são usadasde forma tão abrangente. É emocionante falar disso, porque, quando comecei a criar esse software

Page 85: Nagios Na Pratica

em casa, não havia muitas pessoas que falavam sobre ou usavam programas em código aberto.Nunca imaginei que tantos usariam meu programa. Nunca tinha vindo para a América do Sul ouAmérica Latina e está sendo ótimo pelas excelentes chances que tive para conhecer as pessoas.

Particularmente, múltiplas línguas é uma coisa que não temos no Nagios. Uma das coisas quegostaria de encontrar são pessoas que traduzam a documentação para a língua portuguesa e, talvez,alguém também que queira contribuir e traduzir a interface PHP do Nagios para o português. Issoajudaria as pessoas. Através da nossa empresa, é difícil encontrar alguém que tenha o conhecimentonecessário do idioma para fazê-lo. É mais fácil buscar essas pessoas na comunidade.

LM » Vocês não usam a ferramenta de localização do GNU? O Gettext?

EG » Na verdade, existem duas interfaces, uma em CGI, na qual não colocamos gettext, e uma emPHP. O que estamos fazendo é transitar para essa interface PHP onde podemos colocar o gettext.Mas isso ainda não recebeu atenção. Nossos desenvolvedores já sabem dessa demanda e estamosesperando que ela seja priorizada por eles.

LM » Porque, com essa ferramenta, ficaria mais fácil traduzir. Bastaria colocar o arquivo em algum serviço de tradução como o Pootle ou o Launchpad e qualquer um da comunidade poderia fazer isso.

EG » Como em qualquer produto ou projeto com interesse comercial, primeiro você deve construí-lo e ter certeza de que ele funciona. Só então você pode parar para transferir tudo para um arquivo.po e se preparar para melhorará-lo. Mas, definitivamente, eu acredito que a documentação é o maisimportante. Para um produto que não possui a interface localizada, a documentação é ainda maiscrítica.

Fonte: http://www.linuxmagazine.com.br/lm/entrevista/o_futuro_do_nagios

Page 86: Nagios Na Pratica

NOTÍCIAS 04 – Nagios 3.3.1

Olá a todos,

Pessoal acabou de sair uma atualização do Nagios.

Versão 3.3.1

Em breve teremos novos artigos, quem quiser colaborar com material (tutoriais, dicas, etc) publico com todos os créditos ok?

Segue o changelog:

ENHANCEMENTS

• Added support for same host service dependencies with servicegroups (Mathieu Gagné) • Empty hostgroups referenced from services now optionally generate a warning instead of an

error. • Documentation links now point to online resources • Matt Wall’s Exfoliation theme is now installed by default. You can reinstall the classic theme

with “make install-classicui” • Downtime delete commands made “distributable” by deleting by host group name, host

name or start time/comment (Opsview team) • Allow status.cgi to order by “host urgency” (Jochen Bern) • Added news items and quick links to main splash page • Added ability to authenticate to CGIs using contactgroup name (Stephen Gran)

FIXES

• Fixes status.cgi when called with no parameters, where host should be set to all if none specified (Michael Friedrich)

• Fixes possible validation error with empty hostgroups/servicegroups (Sven-Göran Bergh) • Performance-data handling and checking is now thread-safe so long as embedded perl is not

used. • Children should no longer hang on mutex locks held in parent for localtime() (and similar)

calls. • Debug logging is now properly serialized, using soft-locking with a timeout of 150

milliseconds to avoid multiple threads competing for the privilege to write debug info. • Fixed extraneous alerts for services when host is down • Fixed incorrect parsing of multi-line host check results (Jochen Bern) • Fixed bug with passive host checks being incorrectly sent to event brokers as active checks

Page 87: Nagios Na Pratica

• Fixed bug where passive host check status updates were not being propagated to event brokers

• Reverted ‘Fix for retaining host display name and alias, as well as service display name’ as configuration information stored incorrectly over a reload

• Fixed compile warnings for size_t (Michael Friedrich) • Fixed problem where acknowledgements were getting reset when a hard state change

occurred • Removed duplicated unlinks for check result files with multiple results • Fixed race condition on flexible downtime commands when duration not set or zero

(Michael Friedrich) • Fixed flexible downtime on service hard state change doesn’t get triggered/activated

(Michael Friedrich) • Fixed XSS vulnerability in config.cgi and statusmap.cgi (Stefan Schurtz) • Fixed segfault when sending host notifications (Michael Friedrich) • Fixed bug where unauthorized contacts could issue hostgroup and servicegroup commands

(Sven Nierlein)

Page 88: Nagios Na Pratica

NOTÍCIAS 05 – Novo Canal de Video para NagiosOlá Pessoal,

Calma, calma logo mais teremos novos artigos, tutoriais e etc.

Hoje venho divulgar canal de video oficial do Nagios, creio que vale apena dar uma olhadinha mesmo eles focando no Nagios XI (versão paga). Para quem utiliza esta versão paga é um prato cheio!

Neste canal eles colocaram alguns videos tutoriais:

http://www.youtube.com/nagiosvideo/

Quem quiser colaborar com notícias, tutoriais, artigos e etc entrem em contato:

lucianosuper2 at gmail.com

Page 89: Nagios Na Pratica

TUTORIAL 01 – NagiosVisionOlá Pessoal, estava acessando o VOL (VivaoLinux.com.br) e encontrei um artigo sobre o Nagios escrito pelo Alessandro de Oliveira Faria (A.K.A. CABELO). Solicitei autorização do mesmo (Obrigado Cabelo ) para copia-lo aqui.

Para informação: Não criei apenas o link para não correr o risco da informação se perder!

Então com este se inaugura a seção TUTORIAL que aqui ficará os post com começo, meio e fim!

Att.Luciano Maia Cirilo——————————————————————————————————————————

NagiosVision: Tem humanos perto do seu servidor. Neste documento apresento o NagiosVision, umplugin com o recurso de visão computacional baseado na biblioteca openCV, que utiliza todo poder do Nagios para reportar a detecção de padrão de objetos e faces presentes no vídeo ao vivo.

Por: Alessandro de Oliveira Faria (A.K.A. CABELO)

Introdução

O Nagios é uma poderosa ferramenta para gerenciamento e monitoramento de redes, serviço e estado de um determinado equipamento. Juntos aos recursos de relatórios de estado, problemas e alerta este pacote atende as necessidades de acompanhamento em diversos aspectos computacionais. Do recebimento de mensagens SMS em celulares até monitoramento em tempo real em smartphones, o Nagios atende todas as expectativas no que tange ao requisito alerta.

Como hobby de finais de semana e nas horas vagas, desenvolvi o NagiosVision com o objetivo de criar alertas baseado em comportamentos processados direto do vídeo ao vivo. Contagem de pessoas, análise de fluxo, prevenção a assaltos, análise de trânsito podem serem monitorados em tempo real com uma simples webcam junto ao poder e flexibilidade do Nagios.

Este documento foi baseado no Nagios NSCA, para maiores detalhes sugiro ler aqui no portal Viva o Linux no artigo publicado pelo Ander Ribeiro, sendo assim não entrarei em detalhes sobre a configuração e instalação do mesmo. Vale a pena mencionar que o uso do recurso NSCA somente é necessário quanto utilizando alertas passivos.

Requisitos

A seguir os requisitos para o bom funcionamento do plugins NagiosVision.

• Webcam; • Biblioteca OpenCV • Nagios • Nagios NSCA (opcional)

A seguir, algumas imagens para ilustrar a funcionalidade do plugin NagiosVision em ação:

Page 90: Nagios Na Pratica

Download e instalação

O download deve ser efetuado na página do projeto:

• http://sourceforge.net/projects/nagiosvision/

O plugin também foi incluído ao projeto oficial do Nagios:

http://exchange.nagios.org/directory/Plugins /Security/NagiosVision/details

Logo a seguir descompacte o pacote .tar.gz e compile com o tradicional comando make e make install:

$ tar -zxvf nagiosvision-0.91.targ.gz$ cd nagiosvision/$ make$ gcc -Wno-write-strings `pkg-config –libs opencv` `pkg-config –cflags opencv` nagiosvision.cpp -o nagiosvision$ sudo make install

No servidor Nagios com o NSCA server configurado, edite o arquivo do hosts que será monitorado.

$ sudo vi /etc/nagios/objects/NOME-HOST.cfg

define service { use generic-service host_name NOME-HOST service_description checkNagiosVision active_checks_enabled 0 passive_checks_enabled 1 check_command check_ping }

Page 91: Nagios Na Pratica

Para o script ser executado a cada 1 minuto, insira a linha abaixo no arquivo /etc/crontab na máquina com o nsca-client instalado.Repare que o caminho do script deve corresponder ao local onde descompactamos o código fonte.

*/1 * * * * root /root/nagiosvision/chkNagiosVision.sh

Para finalizar, edite o arquivo chkNagiosVision.sh e altere a variável NAGIOS_SERVER e insira o seu e-mail para receber o alerta substituindo a string “[email protected]”.

IMPORTANTE:

• O parâmetro -C 0 representa o índice do dispositivo de captura. • Já o parâmetro -w 60 define um alerta Warning quando o tamanho da face for maior que 60

pixels. • Para finalizar o parâmetro -c 120 define um alerta Critical quando o tamanho da face for

maior que 120 pixels.

Abaixo o conteúdo do script chkNagiosVision.sh, após os devidos ajustes, com a execução a cada minuto do crontab, o NagiosVision passa a disparar os estados de alerta.

#!/bin/bash

NAGIOS_SERVER=10.0.0.69HOST_IN_NAGIOS=$(hostname)cd /usr/lib/nagios/plugins/COMAND_RESULT=`/usr/lib/nagios/plugins/nagiosvision -C 0 -w 60 -c 120 2> /dev/null`RESULT_CODE=$?SERVICE_NAME="checkNagiosVision"

if [ $RESULT_CODE != 0 ]; thenecho "NAGIOS Vision ALERT: Human in your server." | /bin/mail -a /tmp/face-found.jpg -s "ALERT: Human in your server" [email protected]

echo "$HOST_IN_NAGIOS;$SERVICE_NAME;$RESULT_CODE;$COMAND_RESULT" | send_nsca -H $NAGIOS_SERVER -p 5667 -c /etc/nagios/send_nsca.cfg -d ";"

Espero que este documento simples e objetivo ajude a instalação e configuração do projeto NagiosVision, que sofrerá muitas implementações baseadas na minha disponibilidade temporal. Como sempre menciono… Colaborar atrai amigos, competir atrai inimigos…

Para finalizar, críticas e sugestões: cabelo at opensuse.orgSobre o autor: http://www.netitec.com.br/alessandro

Page 92: Nagios Na Pratica

TUTORIAL 02 – Nagios 3.3.1 com Check_MKOlá a todos, hoje vou descrever neste tutorial (começo, meio e fim) como instalar e configurar o Nagios com o tão falado Check_MK.

O check_mk é um projeto que propõe a substituição dos clientes NSClient++, NRPE, Check_by_ssh.

Abaixo segue imagem explicando o funcionamento do Check_MK

Neste tutorial estou utilizando o Debian 6 atualizado.

Vamos a prática

## Acesse o SO com usuário ROOT e execute:

aptitude install make g++-4.3 g++ bzip2 vim apache2 libapache2-mod-php5 build-essential libgd2-xpm-dev php5 php5-cgi php5-gd

OBS: Yes para tudo

## Necessário criar usuário para acessar interface do Nagios

nagios:~# useradd -m -s /bin/bash nagios

## É recomendado a troca de senha deste usuario e inclui-lo em alguns grupos

nagios:~# passwd nagios

Digite a nova senha UNIX:Redigite a nova senha UNIX:passwd: senha atualizada com sucesso

nagios:~# groupadd nagcmdnagios:~# usermod -a -G nagcmd nagiosnagios:~# usermod -a -G nagcmd www-data

### Agora vamos baixar e instalar o Nagios e seus plugins

cd /usr/src/wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.3.1.tar.gzwget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz

### Descompactando

nagios:/usr/src# tar zxvf nagios-3.3.1.tar.gznagios:/usr/src# tar zxvf nagios-plugins-1.4.15.tar.gz

Page 93: Nagios Na Pratica

cd nagios./configure --prefix=/usr/local/nagios --with-command-group=nagcmd \ --enable-nanosleep --enable-event-brokermake allmake installmake install-initmake install-commandmodemake install-configmake install-webconf make install-classicui

## Configurando usuário para acessar a interface web

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

New password:Re-type new password:Adding password for user nagiosadmin

### Agora para o nagios funcionar é necessário a configuração dos seus plugins Nativos, neste pacote é encontrado todos os plugins homologados pelo Nagios, como ping, http, by_ssh, pop, etc.

cd /usr/src/nagios-plugins-1.4.15 ./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install

## Ajustes finais na configuração

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

aptitude install mailx postfix

OBS: Yes para tudo

## Ajuste Final

mkdir -p /usr/local/nagios/var/spool/checkresultschown -R nagios.nagcmd /usr/local/nagios/var/

## Testando a configuração do Nagios, sempre utilizar este comando antes de reiniciar o seu Nagios, este comando testa toda a configuração e aponta caso tenha qualquer problema na configuração.

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

## Iniciando o Nagios

/etc/init.d/nagios start

### Ajustando o Apache

vim /etc/hosts

## Insira a linha abaixo:

127.0.1.1 nagios.domain nagios

Page 94: Nagios Na Pratica

## Reinicie o Apache

/etc/init.d/apache2 restart

## Acessando a Interface Gráfica do Nagios através do seu navegador favorito

http://IP-do-Servidor/nagios

################# Chegou a vez do Check_MK #################

aptitude install xinetd sudo libapache2-mod-python

cd /usr/src/wget http://mathias-kettner.de/download/check_mk-1.1.10p3.tar.gztar zxvf check_mk-1.1.10p3.tar.gzcd check_mk-1.1.10p3./setup.sh

# OBS: Yes para tudo

## Resultado deve ser o abaixo

You have chosen the following directories:

Executable programs /usr/bin Check_MK configuration /etc/check_mk check_mk checks /usr/share/check_mk/checks check_mk modules /usr/share/check_mk/modules Check_MK Multisite GUI /usr/share/check_mk/web documentation /usr/share/doc/check_mk check manuals /usr/share/doc/check_mk/checks working directory of check_mk /var/lib/check_mk agents for operating systems /usr/share/check_mk/agents ...

## Confirme com Y e Enter

Proceed with installation (y/n)? y

## Resultado deve ser o abaixo ou semelhante

(Compiling MK Livestatus...........................................) Installation completed successfully. Please restart Nagios and Apache in order to update/active check_mk's web pages.You can access the new Multisite GUI at http://localhost/check_mk/

## Finalizando a configuração

usermod -a -G nagios www-data/etc/init.d/nagios restart/etc/init.d/apache2 restart

##################################################################################

## Agora chegou a vez de configurar os clientes a serem monitorados

Page 95: Nagios Na Pratica

# Estou utilizando Linux Ubuntu, segue o procedimento:

cd /usr/src/aptitude install xinetdwget http://mathias-kettner.de/download/check-mk-agent_1.1.10p3-2_all.debdpkg -i check-mk-agent_1.1.10p3-2_all.deb

### Agora vamos configurar uma maquina windows, acesse o seu SO Windows e faça o download do check_mk

http://mathias-kettner.de/download/check_mk-1.1.10p3.tar.gz

## Abra o arquivo com winrar ou winzip e procure pelo arquivo agents## Descompacte a pasta agents em C:\ e acesse via prompt do DOS

cd C:\check_mk-1.1.10p3\agents\windowscheck_mk_agent.exe installnet start check_mk_agent

### Para testar você pode executar o comando:

telnet localhost 6556

############# Volte acessar o servidor Nagios #############

vim /etc/hosts # IP HostName 10.0.5.245 Ubuntu 10.0.5.244 Windows

vim /etc/check_mk/main.mk

all_hosts = [ "Ubuntu", "Windows" ]

### Arquivos Configurados, chegou a hora de mapear o Monitoramento, execute os comandos em Negrito:

check_mk -I tcp Ubuntu

Cannot resolve tcp into IP address.Cannot get information from host 'tcp': Cannot contact agent: host 'tcp' has no IP address cpu.loads 1 new checks cpu.threads 1 new checks cups_queues 1 new checks df 2 new checks diskstat 2 new checks kernel 3 new checks kernel.util 1 new checks mem.used 1 new checks mounts 2 new checks netctr.combined 3 new checks tcp_conn_stats 1 new checks uptime 1 new checks

Page 96: Nagios Na Pratica

check_mk -O

Generating Nagios configuration...OK Validating Nagios configuration...OK Precompiling host checks...OK Reloading Nagios...OK

## Agora acesse a interface do Nagios e surpreenda-se

http://IP/nagios

## O Check_MK já vem pré-configurado para mapear o host e configurar o Nagios com o que ele acha importante de monitorar, muita coisa pode ser alterado e personalizado, mas de qualquer formaé show!

OBS: Pessoal, fique atento se existe firewall entre o Nagios e os Clientes a porta a ser liberada é TCP 6556

Considerações: Este é apenas um tutorial básico sobre o check_mk, para maiores informações por favor, direto na fonte ok?Fonte: http://mathias-kettner.de/checkmk.html

Page 97: Nagios Na Pratica

TUTORIAL 03 - Instalação Nagios 3.4.x Ubuntu e CentOS – Documentação OficialOlá Pessoal,

Quanto tempo não é mesmo? Pois bem, sempre que tiver tempo livre vou continuar postando dicas aqui no blog.

O pessoal do Nagios atualizou a documentação de instalação para versão Core 3.4.x para SO Ubuntu e CentOS.

Segue o link:

http://assets.nagios.com/downloads/nagioscore/docs/Installing_Nagios_Core_From_Source.pdf