Você está na página 1de 97

MANUAL DE NAGIOS

Baseado no site:

Sumário

ARTIGO 01 - O Poderoso Nagios

3

ARTIGO 02 - Instalando o Nagios

4

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

7

ARTIGO 04 - Entendendo o define host e define service no Nagios

9

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

12

ARTIGO 06 – Monitorando SO Linux com NRPE no Nagios

18

ARTIGO 07 – Organizando a Configuração do Nagios

25

ARTIGO 08 – Hostextinfo, Parents e Mapa no Nagios

30

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

35

ARTIGO 10 – Nagios utilizando MySQL com NDOUtils

39

ARTIGO 11 – Gráfico no Nagios com PNP4Nagios

42

ARTIGO 12 – Criando plugin para o Nagios em Shell Script

46

ARTIGO 13 – Instalando Novo Tema para o Nagios

50

ARTIGO 14 – Atualizando a Versão do Nagios

52

ARTIGO 15 – Monitorando Hardware do Switch com SNMP

55

DICA 01 – Monitorando Web Sites por PalavraChave

58

DICA 02 – Plugin no Mozilla Firefox para o Nagios

60

DICA 03 – Plugin que monitora servidor de e-mail no Nagios

67

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

68

DICA 05 – Backup do Nagios

70

DICA 06 – Nagios monitorando com hora marcada

71

DICA 07 – Script para Monitorar SO Windows

73

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

77

NOTÍCIAS 01 – Curso Oficial do Nagios

78

NOTÍCIAS 02 – O “Pai” do Nagios no Brasil

80

NOTÍCIAS 03 – LM entrevista o Pai do Nagios – Ethan Galstad

81

NOTÍCIAS 04 – Nagios 3.3.1

86

NOTÍCIAS 05 – Novo Canal de Video para Nagios

88

TUTORIAL 01 – NagiosVision

89

Introdução

89

Requisitos

89

Download e instalação

90

TUTORIAL 02 – Nagios 3.3.1 com Check_MK

92

TUTORIAL 03 - Instalação Nagios 3.4.x Ubuntu e CentOS – Documentação Oficial

97

ARTIGO 01 - O Poderoso Nagios

O 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 mundo Software Livre, com esta ferramenta é possível monitorar equipamentos de rede, Sistemas Operacionais 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 e configurar os clientes para Linux e Windows, porém tudo em English. Não se preocupe em breve vou escrever como instalar e configurar (aguardem).

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

Para ver os screenshots segue o link:

ARTIGO 02 - Instalando o Nagios

Apó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 main deb-src http://security.debian.org/ lenny/updates main

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

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

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

nagios:~# aptitude update nagios:~# 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 nagcmd nagios:~# usermod -a -G nagcmd nagios nagios:~# usermod -a -G nagcmd www-data

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

cd /usr/src/

### Descompactando

nagios:/usr/src# tar zxvf nagios-3.2.2.tar.gz nagios:/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-broker make all make install make install-init make install-commandmode make install-config make 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=nagios make make 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 start Starting nagios: done.

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

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

Tela de autenticação do Nagios O Poderoso Nagios Beleza, O proximo artigo vou escrever como

Tela de autenticação do Nagios

Tela de autenticação do Nagios O Poderoso Nagios Beleza, O proximo artigo vou escrever como adicionar

O Poderoso Nagios

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

artigo vou escrever como adicionar no monitoramento SO Windows e Linux Luciano Maia Cirilo www.nagiosnapratica.com.br

Luciano Maia Cirilo www.nagiosnapratica.com.br

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

ARTIGO 03 - Monitorando Serviços TCP/IP no Nagios Bem, continuando na idéia de monitoramento com Nagios

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

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 Nagios contacts.cfg – Contem os dados dos administradores que devem ser alertados localhost.cfg - Contem o que esta sendo monitorado do próprio servidor Nagios printer.cfg – Exemplo de configuração de monitoração de Impressora switch.cfg – Exemplo de configuração de monitoração de Switch templates.cfg – Configuração de Templates de Host, Contatos, Serviços, etc timeperiods.cfg – Configuração de Periodos de Monitoramento windows.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

host_name

srv-linux ;

Nome do seu Servidor

alias

Servidor Linux Web ;

Descrição do seu Servidor Linux

address

10.0.3.169 ;

IP do seu Servidor Linux

}

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

define service{ use

service_description

local-service ; Template já criado na instalação

host_name

srv-linux

; Nome do seu servidor linux

PING

; Descrição do Serviço a ser monitorado

para o host check_command

check_ping!100.0,20%!500.0,60% ; Plugin e Parametros

}

define service{ use

local-service ; Template criado na instalação

host_name

srv-linux

; Nome do host

service_description

SSH

; Descrição do Serviço

check_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: 0

Total Errors:

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

0

## Pronto, agora basta acessar a interface Web

.

ARTIGO 04 - Entendendo o define host e define service no Nagios

Olá 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

TemplateHost

check_command check-host-alive max_check_attempts 3

check_interval

active_checks_enabled 1

check_period

retain_status_information 1

contact_groups

notification_interval 60

notification_period 24x7 notification_options d,u,r

5

24x7

Admin

}

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

define host{

host_name

SiteTerra

use

TemplateHost

alias

Testando a saida de Internet

address

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.

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

service_description ICMP

is_volatile

check_command check_ping!300,20%!900,52%!

max_check_attempts

normal_check_interval 5 retry_check_interval 5

active_checks_enabled 1

check_period

retain_status_information 1 notification_interval 0 notification_period 24x7 notification_options u,c,r

ICMP

0

3

24x7

}

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

define service{ host_name

SiteTerra

service_description

ICMP

use

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

Admin

alias

Admin

contactgroups

Admin

host_notification_period

24x7

service_notification_period

24x7

host_notification_options

d,u

service_notification_options

u,c,r

host_notification_commands

notify-host-by-email

service_notification_commands

notify-service-by-email

email

admin@dominio.com.br,

gerente@dominio.com.br

}

define contactgroup{ contactgroup_name

Admin

alias

Admin

members

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/

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

ARTIGO 05 – Monitorando SO Windows com NSCLIENT++ no Nagios Olá, continuando a série O poderoso

Olá, continuando a série O poderoso Nagios, hoje vou explicar como monitorar Servidores Windows 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:

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

## 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

Next > Next > Next > Next > Next e Finish OBS: Apenas aceite or termos
Next > Next > Next > Next > Next e Finish OBS: Apenas aceite or termos

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

## Necessário editar o arquivo de configuração do Nsclient++, acesse o diretorio: C:\Arquivos de programas\NSClient++\
## Necessário editar o arquivo de configuração do Nsclient++, acesse o diretorio: C:\Arquivos de programas\NSClient++\

## 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.dll

CheckSystem.dll

CheckDisk.dll

NSClientListener.dll

SysTray.dll

CheckEventLog.dll

CheckHelpers.dll

CheckWMI.dll

[Settings]

use_file=1

allowed_hosts=

[NSClient]

allowed_hosts=

port=1248

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

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

## 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

## 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 alias check_command

TemplateHostWindows TemplateHostWindows check-host-alive

max_check_attempts

3

check_interval

5

active_checks_enabled

1

passive_checks_enabled

0

check_period

24x7

retain_status_information

1

contact_groups

Admin

notification_interval

0

notification_period

24x7

notification_options

d,u,r

register

0

}

define host{

host_name

SRV_Windows

use

TemplateHostWindows

alias

Servidor Windows Local

address

10.0.3.199

}

### ----------- Definições de Serviço -------------------- #### define service{

name

service_description ICMP-Windows

is_volatile

check_command check_ping!300,20%!900,52%!

max_check_attempts

normal_check_interval 5 retry_check_interval 5 active_checks_enabled 1 passive_checks_enabled 0

3

ICMP-Windows

0

check_period

24x7

retain_status_information

1

notification_interval

0

notification_period

24x7

notification_options

u,c,r

register

0

}

define service{ host_name

SRV_Windows

service_description

ICMP-Windows

use

ICMP-Windows

contact_groups

Admin

}

### ---------- Definições do Plugin ----------- #### ### (OBS: Tudo junto e misturado no mesmo arquivo) ## define command{ command_name check_nt_disk

command_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

Particao

service_description

Particao

is_volatile

0

max_check_attempts

3

normal_check_interval

5

retry_check_interval

5

active_checks_enabled

1

passive_checks_enabled

0

check_period

24x7

retain_status_information

1

notification_interval

0

notification_period

24x7

notification_options

u,c,r

register

0

}

define service{ host_name

SRV_Windows

service_description

Particao

use

Particao

check_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

/etc/init.d/nagios reload

## 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 pode parecer 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 o NSClient++, 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.

ARTIGO 06 – Monitorando SO Linux com NRPE no Nagios

Olá 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 ou Hostname, logo só funciona localmente. Lembrando também que neste artigo o NRPE só vale para monitorarmos Linux ok?

que neste artigo o NRPE só vale para monitorarmos Linux ok? Pense na seguinte situação: Preciso

Pense na seguinte situação: Preciso monitorar quantos processos temos rodando de um determinado Programa, 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

e no Cliente Linux. Esta imagem vale mais que mil palavras Para Maiores informações sobre o
e no Cliente Linux. Esta imagem vale mais que mil palavras Para Maiores informações sobre o

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

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

cd /usr/src/

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

vamos descompactar e começar a compilação da dependência ) tar zxvf openssl-0.9.8o.tar.gz cd openssl-0.9.8o

)

tar

zxvf openssl-0.9.8o.tar.gz

cd

openssl-0.9.8o

./config

make

make install

cp

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

cd nrpe-2.12

./configure

make all

make install

cp

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 alguma

dependência

## OBS: De qualquer forma se você esta seguindo todos os artigos não vai dar erro, pois, fiz

etc.

e

todos os artigos não vai dar erro, pois, fiz etc. e questão de documentar todos os

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, tem que ter de 1 até 8 processos para o nagios considerar normal, se não tiver processo rodando ou + de 8 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

contém como deve ser feito para monitorar load, disks, etc ## Continuando denovo /usr/local/nagios/bin/nrpe -c

## Continuando denovo

/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

. Agora vamos iniciar o processo

make g++-4.3 g++ bzip2 vim . Agora vamos iniciar o processo # OBS: Aceite as dependências

# 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

cd /usr/src/

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

tar

zxvf openssl-0.9.8o.tar.gz

cd

openssl-0.9.8o

./config

make

make install

cp 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/etc mkdir /usr/local/nagios/libexec mkdir /usr/local/nagios/bin

cd /usr/src/

tar zxvf nrpe-2.12.tar.gz

cd nrpe-2.12

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

adduser nagios

./configure

make all

make install

cp

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

—————————— Acesse o Servidor Nagios ————————————— cd /usr/local/nagios/etc/linux/ vim debian.cfg

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

define host{ name alias check_command

TemplateHostLinux TemplateHostLinux check-host-alive

max_check_attempts

3

check_interval

5

active_checks_enabled

1

passive_checks_enabled

0

check_period

24x7

retain_status_information

1

contact_groups

Admin

notification_interval

0

notification_period

24x7

notification_options

d,u,r

register

0

}

define host{

host_name

SRV-Linux-Debian

use

TemplateHostLinux

alias

Servidor Linux

address

192.168.0.103

}

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

define service{ name service_description

Ping-Linux Ping-Linux

is_volatile

0

check_command

check_ping!300,20%!900,52%!

max_check_attempts

3

normal_check_interval

5

retry_check_interval

5

active_checks_enabled

1

passive_checks_enabled

0

check_period

24x7

retain_status_information

1

notification_interval

0

notification_period

24x7

notification_options

u,c,r

register

0

}

define service{ host_name

SRV-Linux-Debian

service_description

Ping-Linux

use

Ping-Linux

contact_groups

Admin

}

### Ok, agora vem a novidade NRPE

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

define command{ command_name command_line -t 25

}

check_nrpe /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

define service{ name service_description

NRPE_DHClient NRPE_DHClient

is_volatile

0

check_command

check_nrpe!check_dhclient3

max_check_attempts

2

normal_check_interval

5

retry_check_interval

5

active_checks_enabled

0

passive_checks_enabled

1

check_period

24x7

retain_status_information

1

notification_interval

0

notification_period

24x7

notification_options

u,c,r

register

0

}

define service{ host_name

SRV-Linux-Debian

service_description

NRPE_DHClient

use

NRPE_DHClient

contact_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

## 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 nrpe nagios 2209 0.0 0.0 4024 904 ? /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

S<s 16:32

0:00 /usr/local/nagios/bin/nrpe -c

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=daemon

pid_file=/var/run/nrpe.pid

server_port=5666

server_address=10.0.3.168

nrpe_user=nagios

nrpe_group=nagios

allowed_hosts=127.0.0.1

dont_blame_nrpe=0

debug=0

command_timeout=60

connection_timeout=300

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10

command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p

/dev/hda1

command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s

Z

command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

command[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 nrpe nagios 2463 0.0 0.2 4024 912 ? /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=daemon

pid_file=/var/run/nrpe.pid

server_port=5666

nrpe_user=nagios

nrpe_group=nagios

allowed_hosts=10.0.3.168

dont_blame_nrpe=0

debug=0

command_timeout=60

connection_timeout=300

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p

/dev/hda1

S<s 16:36

0:00 /usr/local/nagios/bin/nrpe -c

command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s

Z

command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 command[check_dhclient3]=/usr/local/nagios/libexec/check_procs -c 1:8 -C

dhclient3

.

.

ARTIGO 07 – Organizando a Configuração do Nagios

ARTIGO 07 – Organizando a Configuração do Nagios Olá, continuando a nossa série de artigos do

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

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

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

OBS: Já alteramos alguns parâmetros no nagios.cfg em artigos anteriores, adicionando algumas linhas 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.cfg

contacts.cfg

localhost.cfg

printer.cfg

switch.cfg

templates.cfg

timeperiods.cfg

windows.cfg

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

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

vim contacts.cfg

define contact{ contact_name alias contactgroups

host_notification_commands

Admin Admin Admin

host_notification_period

24x7

service_notification_period

24x7

host_notification_options service_notification_options

d,u u,c,r notify-host-by-email

service_notification_commands

notify-service-by-email

email

admin@dominio.com.br, gerente@dominio.com.br

}

define contactgroup{ contactgroup_name

Admin

alias

Admin

members

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 alias check_command

TemplateHost TemplateHost check-host-alive

max_check_attempts

3

check_interval

5

active_checks_enabled

1

passive_checks_enabled

0

check_period

24x7

retain_status_information

1

notification_interval

0

notification_period

24x7

notification_options

d,u,r

register

0

}

define service{ name

TemplateService

is_volatile

0

max_check_attempts

3

normal_check_interval

5

retry_check_interval

5

active_checks_enabled

1

passive_checks_enabled

0

check_period

24x7

retain_status_information

1

notification_interval

0

notification_period

24x7

notification_options

u,c,r

register

0

}

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

vim commands.cfg

define command{ command_name command_line -t 25

}

check_nrpe /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

define command{ command_name check_nt_disk

command_line

-v USEDDISKSPACE -l $ARG1$ -w 80 -c 90

$USER1$/check_nt -H $HOSTADDRESS$ -p 1248 \

}

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

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

define host{

host_name

SRV_Windows

use

TemplateHost

contact_groups

Admin

alias

Servidor Windows Local

address

IP

}

define service{ host_name service_description use

SRV_Windows Ping TemplateService

check_command

check_ping!300,20%!900,52%!

contact_groups

Admin

}

define service{ host_name

SRV_Windows

service_description

Particao

use

TemplateService

check_command

check_nt_disk!C

contact_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 use contact_groups alias

SRV-Linux-Debian TemplateHost Admin Servidor Linux

address

IP

}

define service{

host_name

SRV-Linux-Debian

service_description

Ping

use

TemplateService

check_command

check_ping!300,20%!900,52%!

contact_groups

Admin

}

define service{ host_name service_description use check_command contact_groups

}

SRV-Linux-Debian NRPE_DHClient TemplateService

check_nrpe!check_dhclient3

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-Web

use

TemplateHost

contact_groups

Admin

alias

Servidor Linux

address

IP

}

define service{

host_name

SRV-Linux-Web

service_description

Ping

use

TemplateService

check_command

check_ping!300,20%!900,52%!

contact_groups

Admin

}

define service{ host_name

SRV-Linux-Web

service_description

HTTP

use

TemplateService

check_command

check_http

contact_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 a configuração duplicando um arquivo ja existente.

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

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

ARTIGO 08 – Hostextinfo, Parents e Mapa no Nagios

ARTIGO 08 – Hostextinfo, Parents e Mapa no Nagios Olá Amigos, hoje quero falar sobre o

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

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 fica no Mapa ok? Com isso, fica muito mais facil de explicar os outros itens deste artigo, afinal a idéia aqui é 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

## Ok, vamos aproveitar a configuração já existente cd /usr/local/nagios/etc/linux/ cp -p debian.cfg

cd

/usr/local/nagios/etc/linux/

cp

-p debian.cfg srv-nagios.cfg

vim srv-nagios.cfg

define host{

host_name

SRV-Nagios

use

TemplateHost

contact_groups

Admin

alias

Servidor Linux

address

10.0.3.183

}

define service{

host_name

SRV-Nagios

service_description

Ping

use

TemplateService

check_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

vim gateway.cfg

define host{ host_name use contact_groups alias address

}

Gateway TemplateHost Admin Gateway da Rede

10.0.3.1

define service{ host_name

Gateway

service_description

Ping

use

TemplateService

check_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: 0

Total Errors:

0

Total Warnings: 0 Total Errors: 0 # OBS: Nenhum problema /etc/init.d/nagios reload ## Agora

# OBS: Nenhum problema

/etc/init.d/nagios reload

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

web do Nagios e clicar em Map http://IP-do-Nagios/nagios/ ## Vou disponibilizar as imagens que utilizo para

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

as imagens que utilizo para alguns dos hosts que monitoro no meu Nagios firewall.jpg linux40.jpg route2.png

firewall.jpg

as imagens que utilizo para alguns dos hosts que monitoro no meu Nagios firewall.jpg linux40.jpg route2.png

linux40.jpg

as imagens que utilizo para alguns dos hosts que monitoro no meu Nagios firewall.jpg linux40.jpg route2.png

route2.png

as imagens que utilizo para alguns dos hosts que monitoro no meu Nagios firewall.jpg linux40.jpg route2.png

win40.jpg

switch40.jpg ## Salve essas imagens no seu servidor Nagios cd /usr/local/nagios/share/images/logos/ wget

switch40.jpg

## Salve essas imagens no seu servidor Nagios

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

## 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-Debian

icon_image linux40.jpg icon_image_alt Servidor Linux statusmap_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-Nagios icon_image linux40.jpg

icon_image_alt Servidor Linux statusmap_image linux40.jpg

}

vim web.cfg

## Insira o conteudo abaixo no final do arquivo

define hostextinfo{ host_name SRV-Linux-Web

icon_image linux40.jpg icon_image_alt Servidor Linux statusmap_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 Gateway icon_image router2.png icon_image_alt Gateway da Rede

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_Windows icon_image win40.jpg

icon_image_alt Servidor Windows statusmap_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

web do Nagios e clicar em Map http://IP-do-Nagios/nagios/ ## Ficou claro que com a configuração do

## 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

outra forma: altere em Layout Method: para Balanced tree #OBS: Particularmente prefiro esta visualização ## Para

#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=3

default_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 podemos organizar o mapa mostrando quem esta acima de quem ou em outras palavras o desenho do seu ambiente.

## Insira a linha em negrito e salve o arquivo

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

define host{

host_name

SRV-Linux-Web

use

TemplateHost

contact_groups

Admin

alias

Servidor Linux

address

200.150.208.2

parents

Gateway

}

## Insira a linha em negrito e salve o arquivo

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

define host{ host_name use contact_groups alias

Gateway TemplateHost Admin Servidor Linux

address

10.0.3.1

parents

SRV-Nagios

}

## Agora vamos verificar o resultado

/etc/init.d/nagios reload

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

web do Nagios e clicar em Map http://IP-do-Nagios/nagios/ Considerações Finais: Logo conseguimos entender que caso

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

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

ARTIGO 09 – Enviando e-mail de notificação no Nagios Olá caros amigos Sysadmin Nagios, hoje vamos

Olá caros amigos Sysadmin Nagios, hoje vamos continuar nossa série contínua de artigos, siga todos 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 que ele 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.cfg

contacts.cfg

criados até então estão associados aos templates e contatos adicionados nestes arquivos: templates.cfg contacts.cfg
criados até então estão associados aos templates e contatos adicionados nestes arquivos: templates.cfg contacts.cfg

## 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

TemplateHost

alias

TemplateHost

check_command

check-host-alive

max_check_attempts

3

check_interval

5

active_checks_enabled

1

passive_checks_enabled

0

check_period

24x7

retain_status_information

1

notification_interval

0

notification_period

24x7

notification_options

d,u,r

register

0

}

## Este é o template para os Serviços

define service{ name

TemplateService

is_volatile

0

max_check_attempts

3

normal_check_interval

5

retry_check_interval

5

active_checks_enabled

1

passive_checks_enabled

0

check_period

24x7

retain_status_information

1

notification_interval

0

notification_period

24x7

notification_options

u,c,r

register

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

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

# Opções para Host

notification_options

(d – down, r – recovery, u – unknown)

u,d,r

# Opções para Serviço

notification_options

(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

u,c,r

define contact{ contact_name alias contactgroups

Admin Admin Admin

host_notification_period

24x7

service_notification_period

24x7

host_notification_options

d,u,r

service_notification_options

u,c,r

host_notification_commands

notify-host-by-email

service_notification_commands

notify-service-by-email

email

email@dominio.com.br

}

## 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 scripts que enviaram os e-mails de alertas do nagios, na verdade estes scripts conversam com MTA.

host_notification_commands

service_notification_commands

notify-host-by-email

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_DHClient Host: Servidor Linux Address: 10.0.3.197 State: CRITICAL

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

Additional Info:

CHECK_NRPE: Socket timeout after 25 seconds.

State: CRITICAL Date/Time: Fri Nov 12 17:29:26 BRST 2010 Additional Info: CHECK_NRPE: Socket timeout after 25

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 http://www.postfix.org

.

com o mesmo desde 2004 e recomendo http://www.postfix.org . – informações sobre o mesmo pode ser

– informações sobre o mesmo pode ser encontrados no site:

ARTIGO 10 – Nagios utilizando MySQL com NDOUtils

ARTIGO 10 – Nagios utilizando MySQL com NDOUtils Olá Pessoal, hoje quero escrever sobre o 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 abaixo no nagios.cfg:

use_syslog=1

Para saber mais sobre o NDOutils acesse o site:

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

implentarmos o NDOUtils

Nagios (siga todos os artigos) para implentarmos o NDOUtils ## Vamos instalar a dependência, necessário cadastrar

## 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/

tar

zxvf ndoutils-1.4b9.tar.gz

cd

/usr/src/ndoutils-1.4b9/

## Mais ajustes, Compilar e instalar

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

make

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

cd /usr/src/ndoutils-1.4b9/db/ mysqladmin –user=root -p’senha’ create nagios mysql -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.cfg

mv ndomod.cfg-sample ndomod.cfg chown 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=-1

broker_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.lock

ndo2db_user=nagios

ndo2db_group=nagios

socket_type=tcp socket_name=/usr/local/nagios/var/ndo.sock

tcp_port=5668

use_ssl=0

db_servertype=mysql db_host=localhost

db_port=3306

db_name=nagios db_prefix=nagios_ db_user=root db_pass=senha

max_timedevents_age=1440

max_systemcommands_age=10080

max_servicechecks_age=10080

max_hostchecks_age=10080

max_eventhandlers_age=44640

max_externalcommands_age=44640

debug_level=0

debug_verbosity=1

debug_file=/usr/local/nagios/var/ndo2db.debug

max_debug_file_size=1000000

## 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=nagios output_type=tcpsocket

output=127.0.0.1

tcp_port=5668

use_ssl=0

output_buffer_items=5000

buffer_file=/usr/local/nagios/var/ndomod.tmp

file_rotation_interval=14400

file_rotation_timeout=60

reconnect_interval=15

reconnect_warning_interval=15

data_processing_options=-1

config_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.

pretendo escrever sobre o Centreon, mas para isso creio que seja necessário conhecer o Nagios de

ARTIGO 11 – Gráfico no Nagios com PNP4Nagios

ARTIGO 11 – Gráfico no Nagios com PNP4Nagios Olá turma do Nagios, hoje vou mostrar o

Olá turma do Nagios, hoje vou mostrar o PNP4Nagios que exibe um gráfico de perfomance do monitoramento, por exemplo, com ele podemos avaliar o crescimento da utilização de espaço em disco, 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:

Mode with NPCD, segue imagem do funcionamento deste modo: Para mais informações sobre como o PNP4Nagios

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

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 plugin gera estes dados acesse a interface do Nagios e clique no serviço ou no

O item Performance Data esta vazio

o plugin gera estes dados acesse a interface do Nagios e clique no serviço ou no
item Performance Data esta preenchido Acesse o servidor Nagios e instale os pacotes abaixo: O

item Performance Data esta preenchido

item Performance Data esta preenchido Acesse o servidor Nagios e instale os pacotes abaixo: O ##

Acesse o servidor Nagios e instale os pacotes abaixo:

O

##

aptitude install php5 rrdtool librrds-perl

##

Vamos baixar e instalar o PNP4Nagios

cd

/usr/src/

tar

zxvf pnp4nagios-0.6.6.tar.gz

cd

pnp4nagios-0.6.6

./configure make all make install make install-config

make install-webconf

ldconfig

##

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{

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 command_line

/usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$

process-host-perfdata-file /bin/mv /usr/local/pnp4nagios/var/host-perfdata

}

## Ajustando a configuração

cd /usr/local/pnp4nagios/etc/

mv

process_perfdata.cfg-sample process_perfdata.cf

mv

npcd.cfg-sample npcd.cfg

## Reinicie o Apache e acesse a interface do pnp4Nagios

/etc/init.d/apache2 restart

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

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

nagios e no serviço partição vai aparecer a imagem abaixo Pronto, Grafico vai ser gerado! O

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 visitar a página do projeto:

.

o Cacti aqui no site de qualquer forma para os mais apressados podem visitar a página

ARTIGO 12 – Criando plugin para o Nagios em Shell Script

ARTIGO 12 – Criando plugin para o Nagios em Shell Script Olá a todos, hoje vou

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:

O Nagios compreende 4 tipos de saída referente a status: • OK = 0 • WARNING

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ão sem criticas ok?

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

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

#!/bin/sh

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 temporarios mailq > /tmp/fila.log mailq > /tmp/fila-vazia.log

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

## Testando a ultima consulta para verificar se a fila esta vazia

if

[

$?

=

0

]

then echo "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 3

fi

## 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

o plugin ./check_fila_mail.sh OK – A fila tem 35 e-mails ## Vocês podem alterar os valores

## 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 em algumas blacklist publicas, como vocês perceberam como qualquer outro sysadmin não vivo só de

perceberam como qualquer outro sysadmin não vivo só de Nagios. vim /usr/local/nagios/libexec/check_rbl.sh Espero

Nagios.

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

Espero que gostem e utilizem:

#!/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 () {

cat /tmp/$iplog | cut -d. -f 1 > /tmp/1$iplog cat /tmp/$iplog | cut -d. -f 2 > /tmp/2$iplog cat /tmp/$iplog | cut -d. -f 3 > /tmp/3$iplog cat /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.log

nslookup "$iplog" > /tmp/nslookup$iplog.log cat /tmp/nslookup$iplog.log | grep -v "#53" | grep "Address" | cut -c 10-900

> /tmp/$iplog

}

if

then echo "Usage: $0 {IP} " echo "Or" echo "Usage: $0 200.0.0.10 " exit 1 fi

[

$#

=

0

]

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

[

then

iprbl

else

nomeip

iprbl

if

$?

fi

=

0

]

##### verificando as rbls for i in `cat /tmp/reverso2$iplog.log`; do host -t A $i.relays.mail-abuse.org host -t A $i.b.barracudacentral.org host -t A $i.rbl.smtpcheck.net host -t A $i.zen.spamhaus.org

host -t A $i.bl.spamcop.net done

>> /tmp/verifica2$iplog.log >> /tmp/verifica2$iplog.log >> /tmp/verifica2$iplog.log >> /tmp/verifica2$iplog.log

>> /tmp/verifica2$iplog.log

#### Tratando a Saida do Arquivo output () {

cat /tmp/ips-listados2$iplog.log | grep "relays.mail-abuse" > /dev/null =

if [ $?

then echo "$i.relays.mail-abuse.org" >> /tmp/saida$iplog.log

0

]

else echo "IP not found" >> /dev/null fi

cat /tmp/ips-listados2$iplog.log | grep "barracudacentral" > /dev/null

if

then echo "$i.b.barracudacentral.org" >> /tmp/saida$iplog.log else echo "IP not found" >> /dev/null fi

[

$?

=

0

]

cat /tmp/ips-listados2$iplog.log | grep "rbl.smtpcheck" > /dev/null

if

then echo "$i.rbl.smtpcheck.net" >> /tmp/saida$iplog.log else echo "IP not found" >> /dev/null fi

[

$?

=

0

]

cat /tmp/ips-listados2$iplog.log | grep "zen.spamhaus" > /dev/null

if

then echo "$i.zen.spamhaus.org" >> /tmp/saida$iplog.log

else echo "IP not found" >> /dev/null fi

[

$?

=

0

]

cat /tmp/ips-listados2$iplog.log | grep "spamcop.net" > /dev/null

if

then echo "$i.bl.spamcop.net" >> /tmp/saida$iplog.log else echo "IP not found" >> /dev/null fi

[

$?

=

0

]

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.log

if

then output else echo "OK - `cat /tmp/$iplog` IP Not List RBLs Public" exit 0 fi

[

$?

=

0

]

### Alterando a permissão

chmod 755 check_rbl.sh

.

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

.

ARTIGO 13 – Instalando Novo Tema para o Nagios

ARTIGO 13 – Instalando Novo Tema para o Nagios Olá a todos, conforme prometido vamos continuar

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

Hoje vou propor instalarmos um novo Tema para o Nagios, para quem não gosta do visual da interface do Nagios hoje vamos instalar algo mais moderninho, em outras palavras dar uma Roupa Nova 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 Nagios para melhor entendimento.

Vamos a Prática

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

cd /usr/src/

## Realize o download

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

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

aptitude install unzip

## Backup do layout original

o unzip aptitude install unzip ## Backup do layout original cd /usr/local/nagios/ tar czf nagios-share.tar.gz

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.zip

mágica cd /usr/src/ unzip arana_style-1.0for-Nagios3x-ENG.zip cd arana_style cp -pR * /usr/local/nagios/share/

cd

arana_style

cp

-pR * /usr/local/nagios/share/

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

### Veja como ficou

e veja o resultado http://IP/nagios/ ### Veja como ficou ## Não gostou? Não tem problemas vamos

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

rm -rf /usr/local/nagios/share/* mkdir /root/nagiosnapratica

cd

/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!

ARTIGO 14 – Atualizando a Versão do Nagios

Olá 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 of Nagios Core is 3.2.3 was released on 2010-10-03.

Download the latest version of Nagios Core Logo 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:

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/

tar zxvf nagios-3.2.3.tar.gz

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

mkdir /backup-nagios

anteriormente (Backup do Nagios) mkdir /backup-nagios cp -p /etc/init.d/nagios /usr/local/nagios/ tar

cp

-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-broker make all make install make install-init

make install-commandmode make install-config make 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

## 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.cfg

cgi.cfg~

htpasswd.users

linux

nagios.cfg

nagios.cfg~

ndo2db.cfg

ndomod.cfg

nrpe.cfg

objects

resource.cfg

resource.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.2

228c228

< default_statusmap_layout=5

> default_statusmap_layout=3

242c242

< 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.

linha ta no arquivo cgi.cfg e segunda linha esta no arquivo cgi.cfg~ / porque foi assim

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

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

default_statusmap_layout=3

default_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-nagios

tar

zxvf nagios-pro.tar.gz

cd