nagios aplicado.pdf

43
Marcio José Atanásio Outubro 2014 NAGIOS APLICADO Funções e configurações voltadas à aplicabilidade

Upload: marcio-jose-atanasio

Post on 26-Dec-2015

1.354 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Nagios Aplicado.pdf

Marcio José Atanásio

Outubro 2014

NAGIOS APLICADO Funções e configurações voltadas à aplicabilidade

Page 2: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

1

O Autor Marcio José Atanásio atua deste o ano de 2001 com informatica nos seguimentos de servidores, rede e computadores pessoais. Graduado no Curso Superior em Tecnologia de Redes de Computadores pela Universidade Tuiuti do Paraná-Curitiba e Pós Graduando em Gerenciamento da Tecnologia da Informação pela FAE-Curitiba. Especializou-se em demais áreas através de cursos como CCNA, ITIL e Linux como e certificação LPI-1. Mantém o blog http://marciojose.blogspot.com aonde descreve eventos relacionados ao dia-a-dia. Sobre o seu portfolio, o descreve na ferramenta Linkedin, aonde pode ser visualizado por completo através do link http://br.linkedin.com/in/marciojose. Contato para cursos e consultorias através do email marcioatanasio <arroba> gmail.com.

Page 3: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

2

Licenciamento O conteúdo deste livro rege o acordo conforme a Creative Commons conforme logo indicativo.

Page 4: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

3

Sumário Introdução ............................................................................................................................ 4 Convenção deste livro ......................................................................................................... 5 Funcionamento do nagios .................................................................................................... 5 Localização dos arquivos ..................................................................................................... 7

NAGIOS.CFG ................................................................................................................................. 7 CGI.CFG ....................................................................................................................................... 7 RESOURCE.CFG ............................................................................................................................ 8 COMMANDS.CFG ........................................................................................................................... 8 CONTACTS.CFG ............................................................................................................................ 8 TIMEPERIODS.CFG ........................................................................................................................ 9 TEMPLATES.CFG ........................................................................................................................... 9 GROUPS.CFG ............................................................................................................................... 9 VARIÁVEIS INTERNAS .................................................................................................................... 9

Instalação .......................................................................................................................... 10 Instalação nagios core ....................................................................................................... 10 Instalação plugins .............................................................................................................. 11 Primeiro acesso web ao nagios ......................................................................................... 13 Comandos dos hosts e serviços ........................................................................................ 21 Ícones utilizados pelo nagios ............................................................................................. 22 Configuração de envio de email ........................................................................................ 22 Adicionando um novo plugin .............................................................................................. 24 Configuração de grupos de hosts e serviços ..................................................................... 25 Adicionando um novo host ................................................................................................. 27

WINDOWS .................................................................................................................................. 27 LINUX ......................................................................................................................................... 31

Configuração de contatos .................................................................................................. 33 Mapa do nagios ................................................................................................................. 35 Criando um plugin .............................................................................................................. 36 O que são brokers ............................................................................................................. 39 Mapa de rede com nagvis .................................................................................................. 39

Page 5: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

4

Introdução O Nagios é uma ferramenta poderosa de monitoramento de rede e seus dispositivos, que podem ser roteadores, servidores, access points, etc. Todo e qualquer dispositivo que tem conexão de rede pode ser monitorado. O monitoramento parte desde verificar o acesso ao dispositivo na rede, efetuando um teste de ping até mesmo coletar informações de hardware e software através de daemons instalados nos dispositivos ou via SNMP.

Para os daemons instalados, há um pacote de plugins que podemos considerar como padrão. Além destes, seguindo as especificações do desenvolvedor, podemos criar nossos próprios plugins com qualquer outro tipo de linguagem de programação ou de lote, desde que a saída do comando retorne o padrão em que o núcleo do Nagios interprete. Estes daemons estão presentes tanto para os sistemas operacionais Unix like tanto quanto para Microsoft.

Há 3 níveis de alerta, sendo eles o Ok (sem problemas), warning (aviso) e critical (crítico) e onde suas métricas são totalmente customizadas, aderindo de forma racional a qualquer ambiente de TI. As alterações nos níveis dos alertas são notificadas podem ser notificadas através do e-mail, SMS ou alertas visuais e assim como as métricas de alerta totalmente customizadas. Os alertas podem ser direcionados somente para um ou mais administradores, sendo que pode ser categorizados por grupos.

A comunicação entre o Nagios e os dispositivos pode ser executada tanto de forma passiva quanto ativa. Cada uma dessas formas tem seus pontos positivos e é usado nos mais variados cenários.

Seu painel de monitoramento, via web, não requer instalação de software de visualização, sendo compatível com qualquer sistema operacional. Esta traz informações pertinentes a tempos de alertas, relatórios de avisos enviados, SLA e informações coletadas. O acesso ao painel de monitoramento, bem como seus alertas, é categorizado, assim, podemos disponibilizar informações somente à aqueles que fazem a gestão do equipamento que está com alerta. Podemos acrescentar ícones diferenciados para os hosts bem como para os serviços.

Para os dispositivos móveis, temos o Nagios Mobile , que lhe proporciona uma interface web adequada para o seu celular ou tablet. Ainda sobre a visualização dos alertas, há softwares para Windows, Linux, iPhone e Android, que dispensam o uso de navegadores web e também lhes dão alertas visuais e sonoros.

Podemos ainda agregar maior riqueza nas demonstrações dos alertas, utilizando o Nagvis , ferramenta que se integra ao Nagios e traz grande flexibilidade na demonstração das informações. Esta ainda tem plugins para demonstração de gráficos em pizza, VU meter e outros das informações coletadas pelo Nagios. Podemos utilizar qualquer imagem, desde o mapa de rede, foto do rack ou mapa geográfico para sobre este, trazer as informações coletadas pelo Nagios e melhor demonstrá-las.

Com certeza há outras ferramentas de monitoramento, tais como Zabbix, que não deixa a desejar, mas o Nagios sendo uma ferramenta mais leve e com maior tempo de mercado, vem obtendo grandes resultados e retorno financeiro com SLAs e prospecção de recursos de TI, lhe dando informações mais que necessárias para planejar seu budget e demonstrar de forma visual e não tácita as suas reais necessidades aos departamentos responsáveis pelo financiamento.

Page 6: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

5

O Nagios e encontra na sua versão open source e versão comercial. O seu core é o mesmo para ambas, mas na versão comercial, você obtém facilidades de configuração e suporte do fabricante. Toda informação de suas configurações está disponível na internet através do link http://www.nagios.org/documentation.

Convenção deste livro

Os comandos aqui presentes foram executados no sistema operacional Linux, distribuição CentOS. Porém, sempre será prezado a compilação dos softwares aqui apresentados para que possa ter maior aderência a qualquer outra distribuição.

Para que seja mais claro os comandos e informações providas, iremos descrever da seguinte forma as execuções:

● Quando houver um comando à executar, será utilizado fonte courier, 10, negrito. Todos os comando são executados com privilégio de root.

# comando

Quando se tratar se algum arquivo, seja para edição ou visualização de algumas linhas, será utilizado fonte courier, 10, itálico. Todos os arquivos são editados com privilégio de root.

# Conteúdo do arquivo configuracao = configurado

Funcionamento do Nagios O Nagios tem um core onde faz a coleta e/ou recebe as informações providas pelas suas checagens ou recebimento dessas e demonstra no painel de monitoramento.

Figura 1: Funcionamento do core

Seus arquivos trabalham de forma hierárquica e por herança. Essa herança faz com que os plugins configurados através dos commands, da classe dos Object Definition Files, possam ser aproveitados pelos Resource Files e evitando retrabalho de configuração. As métricas continuam sendo individuais, mas podem ser adotadas de

Page 7: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

6

forma padrão. Tudo ao sabor do cliente.

Os arquivos que compreendem o Nagios core são:

● nagios.cfg - arquivo principal aonde tem referências para os demais arquivos, exceto cgi.cfg.

● cgi.cfg - arquivo de configuração de visualização do painel de monitoramento e logins administrativos.

● resource.cfg - arquivo que contém variáveis de ambiente pré configuradas e dá a possibilidade de criar novas.

● commands.cfg - arquivo com a configuração dos comandos com os plugins. ● contacts.cfg - contatos que recebem os alertas e visualizam os hosts no painel de

monitoramento. ● timeperiods.cfg - configuração de períodos de tempo para alertas e horário de

verificações (não período entre verificações). ● templates.cfg - arquivo com as configurações pré criadas para hosts e serviços.

Além desse arquivos que vem por padrão, vamos criar um arquivo para a configuração dos grupos. Por padrão, esta configuração vem no arquivo localhost.cfg, que é o base para a configuração dos hosts.

● groups.cfg (arquivo criado para configurar os grupos de hosts e serviços, caso ache necessário).

Na configuração padrão, vem alguns arquivos como printer.cfg , windows.cfg e switch.cfg mas não vamos precisar trabalhar com esse arquivos, uma vez que faremos as configurações manualmente para melhor entender. A seguir, vou detalhar as configurações que vem em cada arquivo por padrão.

A seguir, um diagrama para exemplificar a hierarquia que existe entre os arquivos.

Figura 2: Hierarquia das configurações

Essa hierarquia pode ser alterada conforme a necessidade, pois podemos efetuar configurações diretamente no host, sobrescrevendo as configurações herdadas de templates.cfg.

É importante conhecer o funcionamento dos plugins do Nagios. Estes programas ou scripts, quando são executados, geram informações no formato em que o Nagios core

Page 8: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

7

entenda e são enviadas diretamente ao core quando executado no mesmo servidor em que o Nagios está instalado ou através de daemons, quando instalado em hosts monitorados.

Neste livro iremos trabalhar com os clientes NSClient (Windows) e NRPE (Linux). Este envio de informações é efetuado através de comunicação server para client de forma ativa, ou seja, o Nagios periodicamente consulta os hosts e estes ter de estar acessíveis na porta e IP consultados.

Na forma passiva, periodicamente o host envia informações para o Nagios, utilizaremos o NRDP, pois este trabalha através do protocolo HTTP(S) nos dando maior flexibilidade em locais em que há firewall ou servidores que se encontram atrás de NAT. Cabe ao core computar o período em que as informações tem que vir e caso este exceda, alertar que não foi recebido os dados do hosts.

Localização dos arquivos Em uma instalação nova, compilada como faremos, os seguites diretórios são criados:

● /usr/local/nagios : Diretório principal da instalação. ● /usr/local/nagios/bin : Binário do programa. ● /usr/local/nagios/etc : Arquivos de configuração principais. ● /usr/local/nagios/etc/objects : Arquivos de configuração dos objetos. Tem esse

nome por que herdam configurações entre si e podem ser sobreescritas essas configurações.

● /usr/local/nagios/libexec : Binários e scripts responsáveis pela checagem dos hosts e serviços. O arquivo commands.cfg faz referência à eles.

● /usr/local/nagios/sbin : Scripts .cgi para a coleta de informações do Nagios core e exibição no painel de monitoramento.

● /usr/local/nagios/share : Diretório onde está o painel de monitoramento, exibido via web.

● /usr/local/nagios/var : Diretório com arquivos temporários, logs, sockets e histórico.

nagios.cfg Arquivo principal responsável pelas configurações do core. Este arquivo é o que lê os demais arquivos que descrevemos. Apesar do arquivo ser auto-explicativo, é bom reforçar algumas configurações em que são alteradas com frequência ou somente na instalação do Nagios:

● cfg_file : Irá carregar as configurações desse arquivo quando efetuar o reload ou start do Nagios core.

● cfg_dir : Irá carregar todos os arquivos dentro do diretório que tem extensão .cfg. ● broker_module : Carrega módulos para interagir com o Nagios core. ● use_syslog : Além de gravar os logs no arquivo nagios.log, também grava no

arquivo syslog. Deixe como 0.

cgi.cfg Arquivo responsável pelas configurações que dizem respeito ao painel de

Page 9: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

8

monitoramento, tais como logins administrativos, quantidades de hosts para exibir, etc.

resource.cfg Contém informações, através de variáveis de ambiente delimitadas entre $. É utilizada primordialmente pela variável de ambiente $USER1$, utilizada pelo arquivo commands.cfg para informar aonde está os plugins. Pode ser criado mais variáveis, que podem conter informações como senhas e métricas em que deseja que seja padrão sem utilizar os templates.

commands.cfg Este arquivo é que faz a ligação entre os serviços configurados para o host, com os plugins, que são programas ou scripts que fazem as checagens. Sua sintaxe é bem simples como descrevo abaixo.

define command{ command_name check_snmp command_line $USER1$/check_snmp -H $HOSTADDRES S$ $ARG1$

}

● command_name : Nome do comando. Este nome é o utilizado na configuração da checagem para o host.

● command_line : Linha de comando. Caminho onde se encontra o comando para ser executado, ou seja, o plugin. Como padrão, o caminho é /usr/local/nagios/libexec . Note que tem algumas variáveis de ambiente entre $, a variável $USER1$ podemos encontrar no arquivo resource.cfg , as demais vem do arquivo em que está configurado a checagem, sendo que $HOSTADDRESS$ é o endereço configurado no host em address e $ARGX$ é o argumento após a configuração do check_command. É usado o delimitador “!” para cada campo de argumento.

contacts.cfg Responsável por configurar os contatos que irão receber os alertas. Sua sintaxe é bem simples, como descrito abaixo.

define contact{ use generic-contact contact_name <LOGIN DO CONTATO>

alias <NOME DO CONTATO> email <EMAIL DO CONTATO>

}

A configuração dos contatos tem que ter um template relacionado, que neste caso é o generic-contact. Há opções que são obrigatórias para a criação de um contato e para que não seja necessário recriá-las em cada contato, é utilizado a herança deste template.

O contact_name deve ser o login criado no arquivo passwd, que faz referência a autenticação para a visualização do painel de monitoramento. Os logins que não forem referenciados no arquivo cgi.cfg , somente visualizaram os hosts em que forem contatos.

Page 10: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

9

timeperiods.cfg Arquivo de configuração de períodos de tempo que podem ser utilizados. É mais comumente usado para desativar alertas em um certo horário ou dia. É utilizado na configuração dos templates.

templates.cfg Principal arquivo de configuração. Sem este arquivo, seria muito trabalhoso configurar novos hosts e checagens, por que teríamos de repetir as configurações obrigatórias.

Entre as configurações, temos algumas em que usualmente são mais customizadas para hosts:

● name : Nome do template. Deve ser único. ● notifications_enabled : Habilitar notificações. Valor padrão é 1. ● active_checks_enabled : Usado para habilitar as checagens ativas. ● passive_checks_enabled : Usado para habilitar a checagens passivas. ● check_interval : Intervalo de tempo entre as checagens, quando ativa, ou para

considerar sem informação, quando passiva. Valor em minutos. ● retry_interval : Tempo de intervalo para checar novamente, quando um serviço

tem seu estado alterado. Valor em minutos. ● max_check_attempts : Dentro do intervalo de retry_interval , depois de quantas

checagem o serviço é considerado com o estado detectado. ● contact_groups : Grupo em que receberá os alertas sobre o serviço. ● register : Isso que define a configuração como template e não como host

propriamente dito. Sempre 0.

groups.cfg Este arquivo não vem padrão no Nagios, e foi criado separado afim de dar uma melhor organização. A princípio, a configuração dos grupos de hosts e serviços são efetuadas dentro do arquivo de configuração de cada host. Como isso pode gerar um grande trabalho, quando precisa colocar alguns hosts ou serviços no mesmo grupo, teria de procurar qual o grupo dentro dos vários arquivos de configuração de cada host.

Deixando um arquivo separado, organiza de forma que você sabe que quando se trata de grupos, o arquivo e groups.cfg.

Estas são as configurações mais alteradas durante uma customização. Há ainda várias outras em que pode-se ter mais detalhes na própria documentação do Nagios, em http://www.nagios.org/documentation.

Variáveis internas Os arquivos de configuração contém variáveis de macro utilizadas internamente e que lhe ajudam a efetuar suas próprias configurações, plugins e comandos. A lista é vasta e é muito importante que você veja quais estão disponíveis em http://nagios.sourceforge.net/docs/3_0/macrolist.html. Reforço que isso é extremamente importante, pois quando formos efetuar nossas configurações, vamos utilizar grande parte delas.

Page 11: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

10

Instalação Caso tenha instalado o seu sistema operacional Linux recentemente, observe se não há nenhuma regra de firewall criada por padrão. Recomendamos também que desative o selinux (security linux) para evitar problemas nas execuções dos scripts .cgi. Caso deseje deixar ativado, você terá de efetuar os ajustes nas políticas de segurança por si mesmo.

O procedimento de compilação é o mesmo seguido de qualquer outro pacote desenvolvido para o ambiente Linux. Como o foco é na ferramenta Nagios e não administração de servidores Linux, iremos ser bem diretos e sucintos em alguns procedimentos considerados administrativos. Não iremos compreender a instalação do sistema operacional ou refinamentos.

Será efetuada a instalação diretamente do código fonte. Poderíamos sim utilizar os repositórios se sua distribuição preferida, porém, isso iria delimitar muito o escopo e assim não ser aderente de forma mais abrangente as configurações.

Outra consideração bastante importante sobre a instalação diretamente do código fonte é a de obtermos o produto na sua mais atual versão bem como não ter problemas com a localização dos arquivos de configuração.

No momento da confecção deste, ele se encontra na versão 3.5.0 e versão 4.0-beta . Não será utilizado a versão 4, pois como pode ver ainda não está finalizada.

Antes de baixar o pacote para compilar, considere as seguintes dependências:

● Pacotes de desenvolvimento Linux (make, gcc, kernel headers, etc); ● Serviço Apache com PHP; ● Pacote de desenvolvimento Perl (perl-devel); ● Pacote de desenvolvimento GD (gd-devel).

Instalação Nagios Core Antes de iniciar a instalação tenha em mente que é necessário estar instalado, na sua distribuição Linux utilizada, as ferramentas de desenvolvimento bem como as bibliotecas e um serviço de páginas web que neste caso é o Apache com suporte a PHP e CGI.

É necessário também ter criado o usuário nagios, pois o socket de comunicação o utiliza e é configurado na instalação.

Efetue o download da versão mais recente através do link http://sourceforge.net/projects/nagios/files/nagios-3.x/

Após efetuar o download e descompactar, você verá um diretório com o nome nagios, seguido da versão. Com as dependências instaladas, descrevemos abaixo os comandos à serem executados. # ./configure

# make all # make cgis

# make install-cgis # make fullinstall

Page 12: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

11

# make install-init

# make install-commandmode # make install-config

Para melhor compreender o que foi feito, saiba que o cgi é o painel de monitoramento do Nagios, init diz respeito à instalação para gerenciamento do serviço e sua inicialização no sistema, commandmode diz respeito ao socket de comunicação com o core do Nagios, que iremos utilizar para outras ferramentas e config são arquivos básicos de configuração que vamos utilizar para iniciar as explicações sobre a ferramenta.

Nesse momento, você já deve ter o diretório /usr/local/nagios em seu sistema. Foi adicionado também uma arquivo de configuração no seu serviço apache com o nome de nagios.conf.

Vamos criar o usuário padrão para acesso ao painel de monitoramento do Nagios. # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Será solicitada a senha. Sugerimos a utilização da senha nagiosadmin, mas não há problema em utilizar uma senha pessoal, desde que, logicamente, não seja esquecida.

É necessário que o usuário em que o Apache é inicializado tenha permissão de execução nos scripts cgi e socket do Nagios. Para isso, adicione ao grupo nagios o usuário do serviço Apache do seu sistema. # usermod -a -G nagios apache

Como foi descrito em Convenção deste livro a distribuição utilizada é o CentOS em que o usuário de execução do Apache é apache. Em outras distribuições, pode ser que o usuário seja httpd, como é o caso do *Suse.

Após isso, não se esqueça de observar se o serviço do Apache está na inicializado e configurado para iniciar automaticamente quando do reinicio do sistema operacional. Na distribuição CentOS, bem como nas de mesma origem, efetue os comandos: # chkconfig nagios on # chkconfig httpd on

# service httpd restart # service nagios restart

Pode ser que sua distribuição tenha um gerenciador, como o setup no CentOS, pode ser usado no lugar dos comandos chkconfig.

Aproveitando esse tópico, descrevo dois comando extremamente ESSENCIAIS para que você possa resolver todos os problemas em relação a configurações do Nagios: # service nagios checkconfig

Este comando irá verificar se está tudo configurado de forma correta, somente isso. Agora, se retornar um erro, podemos ir mais afundo ainda para ver qualquer arquivo e linha está com problema na configuração com o comando: # /usr/local/nagios/bin/nagios -v /usr/local/nagios /etc/nagios.cfg

O comando Nagios, argumento -v de verify e apontando o arquivo principal de configuração do Nagios. Simples assim...

Instalação plugins

Page 13: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

12

Como foi descrito anteriormente em funcionamento, os plugins são programas configurados no arquivo commands.cfg responsáveis por contactar outros hosts e trazer informações ou prover informações do próprio host em que está instalado.

Sempre que um host vai ser monitorado tem de haver os plugins para coleta dos dados e formatação para o Nagios. Há forma de se monitorar hosts sem a necessidade de plugins instalados, como é o caso de impressoras, roteadores, catracas eletrônicas, access points, cartões ponto, páginas web, DNS, DHCP e iremos posteriormente explicar como proceder.

Faça o download da última versão dos plugins em http://sourceforge.net/projects/nagiosplug/files/nagiosplug/. No momento da confecção deste livro está na versão 1.4.16. Esta versão necessita que seja instalado também as bibliotecas openssl de desenvolvimento, caso contrário, irá ocorrer um erro no momento de compilar. Outra biblioteca que deve estar presente é a perl-ExtUtils-MakeMaker. Instale do repositório da sua distribuição Linux.

Ao descompactar, você verá uma pasta nagios-plugins com a versão ao final. Siga os mesmo procedimentos de compilação de qualquer software no ambiente Linux. Descrevemos abaixo como pode proceder após descompactar o arquivo. # ./configure --enable-perl-modules # make all

# make install all

Após a instalação, você pode observar que há o diretório /usr/local/nagios/libexec contendo scripts e programas para a coleta de informações e formação para o envio ou recebimento pelo Nagios core.

Outro serviço que não vem por padrão no pacote do Nagios Pluguins é o NRPE, comando utilizado para buscar informações de forma ativa nos hosts configurados. Vamos proceder com a instalação, efetuando o download através do link http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE--2D-Nagios-Remote-Plugin-Executor/details. No momento deste livro, este serviço está na versão 2.14.

Descompacte o arquivo tar.gz recém efetuado download e execute os comando para compilar e instalar: # ./configure # make

# make install

Neste momento, você terá dois novos arquivos na pasta de instalação do Nagios. Um é o nrpe, instalado na pasta /usr/local/nagios/bin que é o comando para ser executado quando é um host cliente e check_nrpe, localizado na pasta /usr/local/nagios/libexec que é o comando para o servidor Nagios executar e buscar informações em um host que tenha o serviço nrpe rodando ou outro software que comporte o protocolo.

Para garantir o funcionamento, faça o restart do serviço de hospedagem, que no nosso caso é o apache e do Nagios. # service httpd restart

# service nagios restart

Page 14: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

13

Primeiro acesso web ao Nagios Se tudo ocorreu bem, já temos o Nagios instalado de forma totalmente funcional. Vamos agora acessar sua interface web e navegar pelas suas opções administrativas tanto quanto descrever as informações apresentadas. Lembre-se da senha em que você colocou no momento da instalação do Nagios, caso não lembre e queira alterá-la, aí vai o comando: # htpasswd /usr/local/nagios/etc/htpasswd.users nag iosadmin

Note que, em relação ao comando nos passos anteriores, nós não precisamos mais criar o arquivo ( -c ), somente precisamos alterar a senha.

Ao acessar http://IP_SEU_SERVIDOR/nagios, você irá ver a seguite tela:

Figura 3: Home

Neste tela nos é mostrado ao lado esquerdo, o menu com vários opções que iremos descrever uma a uma. Na primeira tela principal, que no menu diz respeito à Home , podemos visualizar a versão do Nagios e um link para que avalie se há novas versões, há também links para versão comercial, documentação, plugins. Peço que explore os links, pois há informações que podem ser úteis para você no que diz respeito ao seu ambiente de TI. Toda a documentação é em inglês, mas há ferramentas via web que podem lhe ajudar a superar a essa barreira. Mesmo assim, pense bem que a maioria dos melhores materiais em TI está em inglês, portanto, não será perda de tempo investir no aprendizado dessa língua.

Em Documentation você será redirecionado à documentação oficial do Nagios na web e poderá escolher visualizá-la via HTML ou efetuar o download do pdf. Reforço que nem todo o vasto conteúdo e opções do Nagios serão descritas neste livro. Somente as principais e mais utilizadas serão apresentadas, portanto, dar uma olhada na documentação oficial não faz mal a ninguém.

Page 15: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

14

Figura 4: Tactical Overview

Em Tactical Overview você tem uma visão geral de todos os serviços e hosts de forma resumida, bem como o level de “saúde” que está seu ambiente de TI monitorado.

Figura 5: Map

Em Map você tem, ou melhor, terá um mapa construído através da configuração da propriedade parents em cada host. Como em nossa instalação somente temos o host localhost, não há nenhum parente. Não confundir este mapa com o mapa da rede, que iremos utilizar o Nagvis para isto, pois este mapa diz respeito a visão do Nagios em relação aos hosts monitorados, ou seja, o caminho que ele faz para chegar à cada um.

No canto superior esquerdo podemos mudar o tipo de visualização. O tipo principal é como estrela, mas você pode alterar no arquivo cgi.cfg , na opção default_statusmap_layout qual o tipo que quer que seja o padrão. Valores válidos são:

0 = User-defined coordinates

1 = Depth layers

2 = Collapsed tree

3 = Balanced tree

4 = Circular

5 = Circular (Marked Up)

Page 16: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

15

Outra opção que no momento não se faz importante, mas futuramente será, é a quantidade de hosts que aparecem. O padrão como pode ver é 100, mas você pode mudar o default alterando a opçao result_limit.

Figura 6: Hosts

Em Hosts você visualiza todos os hosts presentes bem como a resposta ping das consultas. Acima temos um resumo de todo o ambiente monitorado bem como atalhos para outras opções de visualização.

Figura 7: Services

Em Services , você tem uma visualização detalhada de cada host e estado dos seus serviços. Como temos uma instalação nova, o HTTP no root está bloqueado para visualização e no meu caso, como tenho a porta SSH fora do padrão, aparece como alerta. Acima o mesmo resumo de todos os hosts e serviços monitorados e atalhos para visualização de estados e notificações.

Page 17: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

16

Figura 8: Host Groups

Em Host Groups podemos agrupar os hosts pelas mais diversas características que desejarmos. Na configuração padrão, o Nagios já adicionou o host localhost ao grupo Linux Servers por herança. Nos próximos capítulos, nos iremos ver como podemos criar novos grupos e organizar melhor os nossos hosts. Os sub menus Summary e Grid trazem as mesmas informações em demonstrações diferentes.

Figura 9: Service Groups

Em Service Groups segue o mesmo padrão de Host Groups . Podemos categorizar os serviços como de Rede, Hardware, Softwares, Serviços Internos, Serviços Externos e qualquer outra forma de organizar os serviços checados. Quando se instala o Nagios, ele não faz nenhum configuração de grupos de serviços. Mas logo adiante iremos explorar bem como configurar e organizar melhor a visualização dos seus alertas.

Page 18: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

17

Figura 10: Problems

A opção Problems é a que eu gostaria que você menos utiliza-se, mas um serviço de monitoramento é para isso, não é? Pois bem, aqui são descritos os alertas em que o Nagios detectou. Quando da nossa instalação, ao menos um alerta você deve ter, que é do serviço HTTP. São categorizados por Serviços, Hosts e não tratados (Unhandled ).

Em Network Outages você terá as redes que não estão acessíveis caso haja alguma falha. Ela leva em consideração a configuração de parents/child. Nós veremos melhor isso quando for configurar-mos os hosts.

Em Quick Search você pode escrever o nome do host que quer visualizar os estados do serviços. Se você se utilizar de uma lógica nos nomes dos hosts, tal como firewalls com início fw, por exemplo, você pode usar um caracter coringa ( * ) para trazer todos. Talvez esse não foi um bom exemplo, uma vez que podemos utilizar das configurações de Hosts Groups para isso, mas é só para lhe dizer que há essa alternativa nas buscas.

Figura 11: Availability

Nesta sessão do Menu, a Reports , podemos ter de forma gráfica as porcentagens e demonstrações de SLA dos serviços e dos hosts. Sempre temos o filtro por Grupos, Hosts ou Serviços. Após, podemos escolher as seguintes opções:

Page 19: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

18

○ Report period: Períodos pré determinados ou escolher um customizado; ○ Assume Initial States: Assuma um estado se o inicial não for detectado

(Undetermined). Geralmente quand se está fazendo de um período em que o host ou serviço ainda não estava sendo monitorado.

○ Assume State Retentition: Especifica se o estado de retenção está habilitado.

○ Include Soft States: Soft State são estados em que não são considerados como alerta. O Nagios faz, por padrão, 4 testes para que realmente entenda que um serviço está com o estado de alerta. Isso evita falsos positivos quando se ocorre uma oscilação normal de um serviço ou host. Soft States não geram alerta.

○ First Assumed Host State: Quando não é possível efetuar a busca pelo último estado do serviço ou host.

Em Trends , podemos intercalar com variadas formas de demonstração do SLA dos serviços. No canto superior esquerdo do frame, podemos visualizar os vários tipos de demonstração. Segue a demostração dos que existem:

Host State Trends / Service State Trends

Host Availability Report / Service Availability Rep ort

Page 20: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

19

Host Alert Histogram / Service Alert Histogram

Host Alert History / Service Alert History

Em Notifications podemos ver quando e quem recebeu notificações de alerta de algum host ou serviço. Já em Event Log podemos visualização via interface web o arquivo /usr/local/nagios/var/nagios.log .

Em Comments , podemos ver todos os comentários adicionados aos serviço

ou hosts. Essa funcionalidade é muito útil para registrar demais informações, tais como abertura de chamados, ticket da abertua dos chamados, razões do alerta, informações de aviso de andamento de solução ou qualquer outro tipo de informação que deseja. Adiante veremos como adicionar esse comentários.

Em Downtime você tem as intervenções agendadas, para que neste período em

que é sabido que o serviço vai oscilar ou parar, não sejam disparados alertas, pois é considerado uma janela de intervenção programada.

Page 21: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

20

Em Process Info , temos informações do Nagios core e rotinas

administrativas. Não vejo utilidade deste, uma vez que ao se alterar ou adicionar algum host, você estará na linha de comando, onde poderá constatar se tem algum erro de configuração e não havendo, poderá efetuar o reload.

As informações em Performance Info são interessante em um servidor em

larga escala, afim de efetuar refinamentos, detectar gargalos de processamento e averiguar a quanto está a coleta de informações de hosts e serviços.

Já o Scheduling Queue lhe mostra os agendamento efetuados para a checagem

de cada serviço ou host. É possível desativar algum agendamento ou até mesmo reagendar. Para isso, há atalhos mais fáceis, sendo este também um menu em que não

Page 22: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

21

se usará.

Finalmente, em Configuration , você poderá ver através da interface web, as configurações. É aplicado um filtro, para que seja mais fácil detectar qual configurar quer verificar. Também não será tão útil, pois veremos tudo na prática no próprio arquivo de configuração.

Comandos dos Hosts e Serviços Quando se clica em um host ou serviço, há um menu onde você pode executar algumas tarefas, tais como forçar uma checagem, desativar uma notificação, etc. A seguir vamos descrever essas funções em que algumas, são essenciais para o bom aproveitamento da ferramenta.

Vamos aos comandos disponíveis para os hosts.

● Locale host on map: Demonstra aonde está o host no Map. ● Disable active checks of this host: Desativa as checagem ativas. ● Re-schedule the next check of this host: Quando se altera ou configura um novo

host, não é preciso esperar o tempo de checagem, pode-se forçar essa checagem antes.

● Submit passive check result for this host: Envia uma checagem pela interface web para o host. Válido para hosts configurados no modo passivo.

● Stop accepting passive checks for this host: Não aceita mais os envios de estados dos clientes na forma passiva.

● Stop obsessing over this host: Função usada para sistema distribuidos. Não abordado neste livro.

● Disable notifications for this host: Desabilita notificações para o host somente. ● Send custom host notification: Envie uma notificação padrão. Interessante quando

se quer dar maiores informações para quem irá receber o alerta, como por exemplo, o DBA ou local de abertura de chamados.

● Schedule downtime for this host: Habilitar período de desligamento ou intervenção. ● * all services: Aplicar para todos os serviços do host também, não somente para o

host em específico, que no caso de alerta, é somente se ele está respondendo a ping ou não.

● Disable eventhandler for this host: Capacidade do Nagios que tentar contornar o problema com um comando, pré configurado. Esta função desativa o tratator do evento, caso este esteja configurado.

● Disable flap detection on this host: Não detecte variação constante de estados e notifique qualquer alteração. Caso queira encher sua caixa de email, essa é a

Page 23: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

22

opção. Agora, vamos descrever os comando disponíveis para os serviços. Para não ser redundante, alguns já estão descritos nos comandos para hosts .

● Acknowledge this service problem: Marca o serviço com problema como

“Conhecido” e assim, não envia mais alertas, até que o serviço retorne e é habilitado novamente de forma automática o envio de alertas.

Lembre-se: Há várias configurações no arquivo /usr/local/nagios/etc/cfgi.cfg que dizem respeito as permissões de um login para executar os comandos no menus de Service Commands e Host Commands.

Ícones utilizados pelo Nagios O Nagios tem alguns ícones que auxiliam na interpretação das suas informações. Vamos demonstrar os que são nativos e mais significativos, uma vez que é possível alterá-los à sua preferência.

Efetuado o Acknowledge de um serviço, ou seja, ele é conhecido.

Há presença de gráfico. Veremos quando configurar o pnp4Nagios.

Presença de comentário.

Checagem do serviço ou host desativada.

Servidor ou serviço com período de Downtime configurado.

Serviço em flapping , ou seja, oscilando entre estados. Os alertas são desativados.

Notificações desativadas.

Checagem passiva habilitada.

Configuração de envio de email Primeiramente, vamos configurar o envio de alertas via email. Este envio está configurado em /usr/local/nagios/etc/objects/commands.cfg nas propriedades notify-host-by-email e notify-service-by-email. Por padrão, o comando é executado através de /bin/mail . Isso até que funciona se você tem um servidor de email na sua rede e com relay liberado. Mas vamos fazer de forma que, mesmo tendo um servidor na nuvem ou

Page 24: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

23

em serviço de email grátis, você possa receber seus alertas.

Vamos criar um script com o nome de nagiosmail que nós possamos usar para enviar os nossos alertas.

#!/bin/bash

SMTP_SERVER="smtp.email.com:587" SMTP_USER="[email protected]" SMTP_PASSWORD="senha_conta_email"

#DESTINATARIO -> 1 #ASSUNTO -> 2

#MENSAGEM -> 3

DIR="/usr/local/nagios/libexec" perl $DIR/sendEmail.pl -f $SMTP_USER \

-s $SMTP_SERVER \ -t $1 \ -u "$2" \

-m "$3" \ -xu $SMTP_USER \

-xp $SMTP_PASSWORD >> /dev/null

Eu utilizo um script em perl para efetuar o envio dos alertas. Caso você tenha um servidor de email em sua rede, pode liberar o relay do IP do Nagios neste servidor. Como a forma que descrevo aqui pode ser implantada em qualquer ambiente, tendo ou não servidor de email próprio, é mais útil.

Faça o download do script perl para envio de email através do link http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v156.zip e descompacte no diretório aonde se encontram os plugins do Nagios, ou seja, /usr/local/nagios/libexec .

Após configurar o script com os dados necessários, faça o teste de envio com o seguinte comando: # bash /usr/local/nagios/libexec/nagiosmail “ [email protected] ” “Teste” “Teste”

Feito o teste e funcionando vamos as alterações que devem ser feitas no arquivo commands.cfg . Onde podemos ver a seguinte configuração:

# 'notify-host-by-email' command definition define command{

command_name notify-host-by-email command_line /usr/bin/printf "%b" "***** Nagio s *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LO NGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $H OSTSTATE$ **" $CONTACTEMAIL$

Page 25: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

24

}

# 'notify-service-by-email' command definition define command{ command_name notify-service-by-email

command_line /usr/bin/printf "%b" "***** Nagio s *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\ nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOT IFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CO NTACTEMAIL$

}

Na configuração dos comandos de notificação, há a linha de configuração chamada command_line . Essa linha será alterada para a seguite. Note que as variáveis de macro continuam presentes.

# 'notify-host-by-email' command definition define command{

command_name notify-host-by-email command_line $USER1$/nagiosmail $CONTACTEMAIL$ "$NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$" "**** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTS TATE$\nAddress: $HOSTALIAS$\nGroup: $HOSTGROUPNAMES$\nInfo: $HOSTOU TPUT$\n\nDate/Time: $LONGDATETIME$\n\nComment $HOSTACKAUTHOR$: $HOSTACKCOMMENT$" }

# 'notify-service-by-email' command definition define command{ command_name notify-service-by-email

command_line $USER1$/nagiosmail $CONTACTEMAIL$ "$NO TIFICATIONTYPE$ Service Alert: $HOSTNAME$/$SERVICEDESC$ is $SERVICE STATE$" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nS ervice: $SERVICEDESC$\nHost: $HOSTNAME$\nAddress: $HOSTALIAS$\nGroup: $HOSTGROUP NAMES$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAddi tional Info:\n\n$SERVICEOUTPUT$\n\nComment $SERVICEACKAUTH OR$: $SERVICEACKCOMMENT$" }

Note que adicionamos $HOSTGROUPNAMES$ que é outra variável de macro. Você pode customizar como desejar e informar o que quiser nos emails de alerta.

Adicionando um novo plugin Você lembra do capítulo Instalação quando ao final deste, compilamos e instalamos o serviço NRPE? Pois se não lembra, mas conhece, tudo bem. Se não lembra e não conhece, é bom rever este capítulo.

Page 26: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

25

Levando em conta que você lembra ou reviu o capítulo, vamos a configuração do novo plugin. Como já descrevemos anteriormente, o arquivo responsável por ter os templates dos comandos que buscam informações nos hosts é o commands.cfg localizado no diretório /usr/local/nagios/etc/objects. Edite o arquivo e verá a sintaxe parec ida com esta:

define command{ command_name <NOME_DO_COMANDO_UTILIZADO_NA_CONFIGURAÇÂO_DO_HOST>

command_line $USER1$/<EXECUTÁVEL> <ARGUMENTO1> <ARGUMENTO2> ... }

Lembra das variáveis que você pode criar? Lembra de onde vem a variável $USER1$? Pois bem, ela vem do arquivo resource.cfg. Várias outras variáveis podem ser criadas e usadas por você. Neste caso, abrindo o arquivo resource.cfg veremos que esta variável faz referência ao diretório /usr/local/nagios/libexec, aonde temos instalados os plugins e aonde devemos colocar os outros.

Uma aplicação útil para a criação de outras variáveis é quando se utiliza senhas. Ao invés de ter que ficar salvando a senha de conexão ao daemon toda vez que criar um novo check à um serviço, você deixa isso já salvo e utiliza uma senha única.

É claro que você pode criar outro diretório e colocar seus plugins customizados, mas para que complicar? Você pode também, ao invés de usar a variável $USER1$, colocar o caminho completo do <EXECUTÁVEL>, mas não faz sentido, pelo menos para mim.

Os argumentos são repassados quando da configuração do check no host e são delimitado pelo pipe ( | ).

Depois dessa explicação, vamos continuar com a configuração do comando check_nrpe, editando o arquivo commands.cfg e adicionando as seguintes linhas:

define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRES S$ $ARG1$

}

De agora em diante, você pode consultar os hosts que tem o serviço NRPE rodando e efetuar suas checagens, que detalharemos em um próximo capítulo. Ao final deste, quando estiver bem mais habituado, iremos descrever como criar novos plugins, e detalhar qual o retorno esperado e interpretado pelo Nagios core.

Configuração de Grupos de hosts e serviços

Nos arquivos de configuração padrão do Nagios, vem dois grupos configurados que são linux-servers e windows-servers . Esta configuração desses grupos está nos arquivos localhost.cfg e windows.cfg dentro do diretório /usr/local/nagios/etc/objects .

Para tornar mais fácil a administração, vamos criar um arquivo, chamado groups.cfg em /usr/local/nagios/etc/objects em que vamos criar todos os grupos, tanto para serviços ou hosts e quando configurar um novo host, somente colocar na configuração do host o grupo que ele pertence.

Primeiro, vamos comentar ou apagar as linhas no arquivo

Page 27: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

26

/usr/local/nagios/etc/objects/localhost.cfg que cria o grupo linux-servers.

#define hostgroup{

# hostgroup_name linux-servers ; The name of t he hostgroup # alias Linux Servers ; Long name of the group # members localhost ; Comma separated lis t of hosts that belong to this group # }

Depois, apesar de ainda não ter um host windows configurado, vamos comentar o arquivo base windows.cfg , na seção que diz respeito a criação do grupo windows-servers .

#define hostgroup{ # hostgroup_name windows-servers ; The name of the hostgroup # alias Windows Servers ; Long name of th e group

# }

Após, vamos criar o arquivo /usr/local/nagios/etc/objects/groups.cfg com os grupos em que nós comentamos nos arquivos.

define hostgroup{ hostgroup_name windows-servers

alias Windows Servers }

define hostgroup{ hostgroup_name linux-servers alias Linux Servers

}

Temos que configurar para que o Nagios carregue as configurações desse novo arquivo. Adicione ao arquivo /usr/local/nagios/etc/nagios.cfg a seguinte linha.

cfg_file=/usr/local/nagios/etc/objects/groups.cfg

Agora, faça a checagem e se tudo estiver bem, faça o reload. # service nagios checkconfig # service nagios reload

O arquivo /usr/local/nagios/etc/objects/templates.cfg já faz referência à esses grupos, que são herdados através da configuração hostgroups. Observer que está no plural, portanto, um host pode estar em mais de um grupo de host.

Para configurar diretamente no host, adicione o nome hostgroups e ao lado o grupo(s) que o host pertence. Segue abaixo um exemplo.

define host{

use <TEMPLATE_DE_templates.cfg> host_name <NOME_DO_HOST>

alias <DESCRIÇÂO_DO_HOST> address <IP>

Page 28: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

27

hostgroups <GRUPO_CONFIGURADO_EM_groups.cfg>

}

Adicionando um novo host Basicamente, novos hosts e serviços são adicionados de duas formas:

● Modo Ativo: O servidor do Nagios consulta o host solicitando informações. Pode ser através de solicitação ao um software instalado no host (NSClient, NRPE, etc) em que o Nagios se comunica com ele e pede para executar um comando que gere as informações e envie para o Nagios. Outra forma é através de consulta a porta do(s) serviço(s) a ser(em) monitorado(s).

● Modo Passivo: O servidor aguarda que o host envie informações, que podem ser providas pelos mesmos comandos executados na forma ativa.

As verificações, tanto ativas quanto passivas, tem por padrão configurado um intervalo de 5 minutos nas ativas e constatam um problema quando não recebe informações neste período quanto for passivas. As configurações de verificação passiva não vem por padrão nos arquivos do Nagios e deve ser adicionado ao template um modelo.

Neste livro somente abordaremos o Modo Ativo . Futuras revisões poderam ter como proceder para configurar o Modo Passivo do lado cliente e servidor.

Windows Vamos efetuar o download do client através do link http://www.nsclient.org/nscp/downloads. No momento da redação deste, a última versão é a NSCP-0.4.1.101. Há várias versões, escolha a que for mais adequada ao seu ambiente.

Início da instalação.

Page 29: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

28

Clique em “I accept the terms in the License Agreement”.

Clique no botão “Typical”.

Clique somente em “Next”.

Page 30: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

29

Coloque em “Allowed hosts” o IP do seu servidor Nagios e em “NSClient password”

a senha que somente é usada quando utilizado via check_nt. Marque todos os modulos, menos o NSCA.

Após a instalação do client temos que configurá-lo no Nagios para que seja efetuado as checagens. Mas antes, temos que salvar a senha que configuramos nele para que não seja necessário a todo momento que configurar um novo servidor ou serviço ter que digitar a senha. Vamos gravá-la através de uma variável interna, lembra como cria?

Pois bem, vamos editar o arquivo /usr/local/nagios/etc/resource.cfg e adicionar uma variável ao final do arquivo:

$USER5$=123456

O conteúdo da variável $USER5$ dentro do Nagios é “123456” que é a senha que utilizei para instalar o cliente NSClient no servidor Windows. Dessa forma, somente faço referência a variável e não preciso ter que alterar as senhas de todas as checagens configuradas.

Agora, vamos continuar com configuração do Nagios para que faça as checagens no servidor Windows. Utilize como base o arquivo /usr/local/nagios/etc/objects/windows.cfg copiando ele para o nome do host, no meu caso, fiz uma cópia em /usr/local/nagios/etc/objects/windao.cfg .

Agora, edite o novo arquivo, alterando as informações do host que estão logo no início do arquivo:

define host{ use windows-server

host_name windao alias Windao Monitorado address 192.168.1.120

}

Não esqueça que na configuração de cada comando é referenciado o nome do host ( host_name ). Estes também devem ser alterados para o nome correto, que no meu caso é windao. Lembra da senha em que configuramos? Ela também tem que ser configurada no Nagios. Se você for usar uma senha para cada servidor, o recomendado é que você configure essa senha em cada arquivo de configuração de host. Sendo assim, ao final de cada comando, você tem que adicionar -s <SENHA>. Abaixo descrevo um

Page 31: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

30

exemplo para o comando que checa o espaço no disco C.

define service{

use generic-service host_name windao service_description C:\ Drive Space

check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 -s 123456 }

Ou usando a variável em que nós criamos.

define service{ use generic-service host_name windao

service_description C:\ Drive Space check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 -s $USER5$

}

Caso você usar a mesma senha para todos os servidor windows que você utilizar para o check_nt, você pode configurar isso no próprio template do comando, no arquivo /usr/local/nagios/etc/objects/commands.cfg utilizando a variável do Nagios, configurada em /usr/local/nagios/etc/resource.cfg

# 'check_nt' command definition define command{

command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -s $USER5$ -p 12489 -v $ARG1$ $ARG2$ }

Ou também com a senha diretamente salva.

# 'check_nt' command definition

define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -s 123456 -p 12489 -v $ARG1$ $ARG2$ }

No meu caso, configurei diretamente no commands.cfg , utilizando a variável criada em resource.cfg .

Por enquanto, o Nagios não sabe que existe esse novo host, temos que configurar para que ele efetue o load desse arquivo. Portanto, vamos incluir ele no arquivo principal, o /usr/local/nagios/etc/nagios.cfg para que faça a leitura do arquivo de configuração do host.

cfg_file=/usr/local/nagios/etc/objects/windao.cfg

Agora, faça a checagem e se tudo estiver bem, o reload que irá carregar as configurações do novo host. # service nagios checkconfig # service nagios reload

Page 32: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

31

Acesse a interface web e aguarde ao mínimo 5 minutos, ou force a checagem do host, clicando no nome dele e em “Schedule a check of all services on this host”. Adiante uns 10 segundos no tempo.

OBSERVAÇÃO : Pode ocorrer erro na parte de perfmon do Windows 2003. Execute o comando lodctr /R . Caso queira monitorar um computador com Windows XP, instale o NSClient++ versão 0.3.9.

Linux Para servidores Linux, utilizamos o aplicativo NRPE, que além de estar nos principais repositórios, também podemos compilá-lo. E assim o faremos.

Na instalação do servidor Nagios, nós já instalamos o NRPE, mas na opção de modo cliente, onde ele irá consultar um host que tenha instalado o NRPE no modo servidor. Lembrando que também é necessário estar instalado os plugins. Em capítulos anteriores foi descrito como proceder com isso.

Após instalar os plugins, faça o download do NRPE através do endereço http://sourceforge.net/projects/nagios/files/nrpe-2.x/. Na criação deste documento, no NRPE está na versão 2.14.

Descompacte o pacote e proceda com a forma padrão de compilação de pacotes em ambientes Linux like. # tar zxvf nrpe-X.X.tar.gz

# cd nrpe-X-X # ./configure

# make # make install

Após, vamos colocar cada arquivo no seu devido lugar e configurar a inicialização do daemon. # cd nrpe-X-X

# mkdir /usr/local/nagios/etc # mkdir /usr/local/nagios/bin # cp sample-config/nrpe.cfg /usr/local/nagios/etc

# cp src/nrpe /usr/local/nagios/bin # cp init-script /etc/rc.d/init.d/nrpe

# chmod +x /etc/rc.d/init.d/nrpe # chkconfig --add nrpe # chkconfig nrpe on

Abra o arquivo /usr/local/nagios/etc/nrpe.cfg para edição. Vamos configurar quais IPs estão liberados para efetuar consultas ao host e o nome dos comando em que serão executados e os resultados enviados ao servidor Nagios.

Agora é necessário configurar o IP do servidor em que é permitido executar os comandos em /usr/local/nagios/libexec/ na opção allowed_hosts .

Page 33: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

32

Temos também que verificar os comando configurados no através da configuração no final do arquivo, chamado command [ NOME_COMANDO ] = /usr/local/nagios/libexec/COMANDO .

Por padrão, os seguinte comando vem pré configurados:

command[check_users]=/usr/local/nagios/libexec/chec k_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/libex ec/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/usr/local/nagios/libexe c/check_procs -w 150 -c 200

Vamos alterar a linha:

command[check_hda1]=/usr/local/nagios/libexec/check _disk -w 20% -c 10% -p /dev/hda1

Para:

command[check_root]=/usr/local/nagios/libexec/check _disk -w 20% -c 10% /

Você pode configurar quando discos quiser, mas lembre-se, sempre com nomes diferentes.

O nome que está entre colchetes será usado pelo servidor Nagios para solicitar uma consulta. Portanto, se mudar o nome, lembre-se de usar o mesmo nome na configuração do host no servidor Nagios.

Inicie o serviço através do comando: # service nrpe start

Agora, temos que configurar o servidor Nagios para que efetue as checagens neste host. Vamos utilizar o mesmo arquivo /usr/local/nagios/etc/objects/windows.cfg como base.

Primeiro altere tudo o que for check_nt , para check_nrpe . Se você lembra do capítulo de instalação do servidor Nagios, nós já criamos no arquivo commands.cfg o comando check_nrpe .

Na descrição do host, que são as primeiras linhas, altere para o IP do servidor Linux que tem instalado o NRPE, crie o grupo Linux conforme explicado no capítulo anterior e coloque a descrição do host. No meu caso, o nome do host, configurado nas primeiras linhas é linuxserver .

Agora, edite as checagens no host da seguinte forma:

define service{ use generic-service host_name linuxserver service_description Espaco no Root check_command check_nrpe!check_ro ot }

Podemos fazer um teste executando a checagem direto na linha de comando da seguinte forma: # /usr/local/nagios/libexec/check_nrpe -H IP_DO_HOS T_RECEM_INSTALADO_NRPE # NRPE v2.14

Como pode observar, ele irá retornar a versão. Caso dê falha, é sinal de dois

Page 34: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

33

possíveis problemas que é porta bloqueada, que nesse caso é a 5666 TCP ou o IP configurado em /usr/local/nagios/etc/nrpe.cfg não está correto.

Caso retorne a versão correta, podemos fazer o segundo teste, dessa vez solicitando uma checagem, através do comando: # /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_load

OK - load average: 0.00, 0.00, 0.00|load1=0.000;15. 000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20. 000;0;

Configuração de contatos No que diz respeito aos contatos, eles nem sempre precisam de acesso via web. Portanto, criar um contato em contacts.cfg não é garantir que ele possa visualizar o estado do host na interface externa. Essa permissão se dá criando o login, através do comando htpasswd em /usr/local/nagios/etc/htpasswd.users.

Os contatos também podem receber alertas de certos grupos de hosts ou mesmo criar um grupo de contatos. Isso facilita em ambientes de grande escala, onde não é necessário colocar o contato em cada host, somente no grupo específico ele vai receber os alertas e caso tenha login e senha, irá ver na interface web os hosts em que ele é responsável.

Também pode-se colocar o contato em um template e através da herança quando se cria um novo host, este já estar configurado com o contato. O nagiosadmin é um contato que já tem permissão de visualização e está configurado no arquivo /usr/local/nagios/etc/objects/contacts.cfg . Neste arquivo também tem os grupos de contatos.

Primeiramente, vamos definir o conta de email, configurando a opção email nas configurações do contact_name nagiosadmin. Observe que ele herda várias configurações de generic-contact . Sugiro que olhe as configurações presentes, pois algumas você pode sobrescrever reconfigurando-as na definição do contato.

Logo abaixo tem a configuração dos grupos, veja que o nagiosadmin está configurado no contactgroup_name chamado admins. Dê uma olhada no arquivo /usr/local/nagios/etc/objects/templates na configuração do template de qualquer host. Verá que ele faz referência na opção contact_groups ao grupo admins configurado neste arquivo. Mais a frente veremos como criar um arquivo com somente os grupos, deixando a administração bem mais fácil.

Depois dessa explicação das configurações de contato, vamos praticar um pouco criando um novo contato. Vamos chamá-lo de suporte. Primeiro, temos que criá-lo no arquivo contacts.cfg descrevendo as seguintes linhas:

define contact{

use generic-contact contact_name suporte

alias Suporte de TI email [email protected] }

Se esta configuração está parecendo estranha, é por que você não lembrou ou não entendeu. Portanto, retorne ao capítulo Localização dos arquivos que recordará.

Page 35: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

34

Neste momento, o que você fez foi somente criar um contato, nada mais. Ele não tem nenhuma ligação com o Nagios e nem sequer recebe qualquer notificação.

Agora, vamos fazer com que ele receba notificações, adicionando ele ao grupo admin.

define contactgroup{

contactgroup_name admins alias Nagios Administrators members nagiosadmin,suporte

}

Como ainda está se habituando com os arquivos de configuração e sintaxe, é bom sempre tomar nota dos comandos de verificação que vamos recapitular.

● Verificar se as configurações estão corretas: # service nagios checkconfig

● Caso o comando anterior retorne erro, verificar qual arquivo e configuração está incorreta:

# service nagios checkconfig

Estando tudo correto, a partir desse momento, o email [email protected] estará recebendo os alertas. Se retornou algum erro, essa é a hora de praticar o seu inglês e procurar pelo problema. Erros também fazem parte do aprendizado.

Mas e a interface web? Bem, este contato ainda não tem acesso à ela, mas vamos providenciar. Primeiro temos que criar o login e senha para este. Deve ser o mesmo configurado na opção contactname_name. Faça o seguinte comando em que foi usado para criar o login e senha do usuário nagiosadmin em capítulos anteriores: # htpasswd -c /usr/local/nagios/etc/htpasswd.users suporte

Criado esse novo login, vamos efetuar o teste acessando a interface web. Note que você pode executar qualquer comando que diz respeito ao host que em que esse login administra.

Caso queira que ele tenha acesso full à interface web do Nagios, você deve configurar o login no arquivo cgi.cfg em que há vários tópicos diferentes que descrevemos abaixo.

● authorized_for_system_information - Ver informações do estado do serviço Nagios. ● authorized_for_configuration_information - Ver informações da configuração do

host e serviços. ● authorized_for_system_commands - Efetuar comandos de parar e reiniciar os

processos do Nagios. ● authorized_for_all_services - Acesso à todos os serviços. ● authorized_for_all_hosts - Acesso à todos os hosts. ● authorized_for_all_service_commands - Acesso a todos os comandos para os

serviços. ● authorized_for_all_host_commands - Acesso a todos os comandos para os hosts.

Dessa forma, ele terá os mesmos privilégios do login nagiosadmin. Muito cuidado com isso, pois dessa forma, também será possível parar e reiniciar o serviço do Nagios.

Mas e se você somente quer que o login tenha acesso para visualizar os estados dos serviços e hosts? Para isso, podemos utilizar a configuração no arquivo cgi.cfg chamada authorized_for_read_only que vem comentada por padrão. Vamos colocar o

Page 36: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

35

login suporte como somente leitura.

Note que agora, o menu ao lado direto, que aparecia quando você clicava em hosts ou service está com a mensagem “Your account does not have permissions to execute commands”. Isso é importante quando você um grupo de colaboradores em que não devem desativar um alerta.

E se você quiser somente permitir acesso à um host específico, como configuramos no capítulo anterior, nós temos que criar um grupo para esse login, adicioná-lo somente ele e sobrescrever a configuração contact_groups, que no template está para nagiosadmin, na configuração do host.

Vamos fazer com o login suporte somente tenha acesso ao host windows. Primeiro passo é configurar um novo grupo. Para isso, vá ao arquivo contacts.cfg e crie o novo grupo.

define contactgroup{ contactgroup_name suporteti

alias Suporte de TI members suporte

}

Somente a opção alias pode ter espaços e separe os membros em members por vírgula.

Após, deve-se configurar no host que ele pertence à outro grupo(s) de contato. Adicione a configuração do host, a opção contact_groups.

define host{ use windows-server

host_name windows alias windows

address 192.168.1.73 contact_groups suporte }

Efetue a verificação dos arquivos de configuração se está tudo correto e o reload das regras.

Neste momento, o login suporte somente estará recebendo alertas dos serviços do host windows e somente visualizará os seus serviços. Lembra que foi configurado no arquivo cgi.cfg este login somente para leitura? Então, você pode retirar o login ou comentar a linha que authorized_for_read_only para que ele possa também efetuar comandos nos serviços e no host.

O login nagiosadmin continua com acesso full ao sistema por que no arquivo cgi.cfg ele está presente em todas as configurações de authorized_* por padrão, mas não receberá alertas. Para que ele também receba os alertas, você deve adicionar ele também separado por vírgua (suporte,admins).

Mapa do Nagios O Nagios tem uma opção em que você tem um mapa. Este mapa não diz respeito

Page 37: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

36

a sua rede em si e sim como o Nagios vê e chega em cada host monitorado. Para que possamos configurar essa hierarquia, utilizamos a opção parents .

Efetuando essa configuração, além de termos o nosso mapa do Nagios correto, também os alertas serão mais acertivos, uma vez que poderá ser identifica quando um host está com o estado DOWN ou UNREACHABLE .

Está configuração está disponível tanto para host quanto para o serviço. Conforme os exemplos citados acima, vamos demonstrar como deve ser configurado.

define host{ use windows-server

host_name windows alias windows

address 192.168.1.73 contact_groups suporte parents nagios

}

Você pode configurar mais parents, sempre utilizando o host_name configurado, separados por vírgula.

Criando um plugin O Nagios tem uma vasta documentação para a criação de plugins. Os plugins podem ser criados em qualquer linguagem de programação ou script. O que deve ser levado em consideração é somente o código de retorno e as informações que quer mostrar e gravar no Nagios. Resumidamente, o que temos é seguinte:

Retorno Status do Serviço Descrição

0 Ok O serviço está com as métricas fora dos escopos de warning ou critical.

1 Warning O serviço está com a métrica em warning

2 Critical O serviço está com a métriac em critical

3 Unknown O serviço retornou um valor não interpretado.

A lógica que podemos utilizar, não levando em consideração o sistema operacional e a linguagem é a seguinte:

1 - Como extrair a informação atual do host/serviço;

2 - Quais os níveis aceitáveis;

3 - Informações de retorno;

4 - Criação do plugin.

Como exemplo, vamos fazer um script que possa mostrar a memória utilizada por

Page 38: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

37

um host linux, utilizando shell script. Abaixo descrevemos o script:

#!/bin/bash

# Plugin Memory Used # Marcio Jose Atanasio <[email protected]> # 20130121

#

# <1 - Como extrair as informações atuais do host/s erviço

MEMFREE=`expr $(( $(grep ^MemFree /proc/meminfo | a wk '{print $2}') / 1024 ))` BUFFERS=`expr $(( $(grep ^Buffers /proc/meminfo | a wk '{print $2}') / 1024 ))` CACHED=`expr $(( $(grep ^Cached /proc/meminfo | awk '{print $2}') / 1024 ))`

MEMTOTAL=`expr $(( $(grep ^MemTotal /proc/meminfo | awk '{print $2}') / 1024 ))` USED=`expr $(( $MEMTOTAL - $MEMFREE - $BUFFERS - $C ACHED ))`

# 1>

if [ "$1" = "info" ] || [ "$1" = "" ]; then echo "Total : $MEMTOTAL"

echo "Used ( default ) : $USED" echo "Used + Buffers ( "ub" ) : "`expr $ (( $USED + $BUFFERS ))`

echo "Used + Buffers + Cached ( "ubc" ) : "`exp r $(( $USED + $BUFFERS + $CACHED))` echo -e "\n./check_mem.sh <warning memory MB> < critical memory MB> <metric (u,ub,ubc)>\n" else

# <2 Quais os níveis aceitáveis - Argumentos $1 , $2 e $3 do script if [ "$3" = "ub" ]; then VLRMETRIC=`expr $(( $USED + $BUFFERS ))`

else if [ "$3" = "ubc" ]; then

VLRMETRIC=`expr $(( $USED + $BUFFERS + $CACHE D ))` else if [ "$3" = "u" ]; then

VLRMETRIC=$USED else

echo "How metric (u, uc or ucb)?" fi fi

fi

if [ $VLRMETRIC -gt $2 ]; then

echo "Critical - Metric $METRIC $3 = $VLRMETRI C MB ( Warning = $1MB /

Page 39: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

38

Critical = $2MB / Total = $MEMTOTAL) | Memory;$VLRM ETRIC;$1;$2;0;$MEMTOTAL "

exit 2 else if [ $VLRMETRIC -gt $1 ]; then

echo "Warning - Metric $METRIC $3 = $VLRMETRI C MB ( Warning = $1MB / Critical = $2MB / Total = $MEMTOTAL) | Memory;$VL RMETRIC;$1;$2;0;$MEMTOTAL"

exit 1 else echo "Ok - Metric $METRIC $3 = $VLRMETRIC MB ( Warning = $1MB / Critical = $2MB / Total = $MEMTOTAL) | Memory;$VLRM ETRIC;$1;$2;0;$MEMTOTAL" exit 0

fi fi fi

# 2>

Executando o script, teremos o seguinte retorno:

# ./check_mem.sh 1000 2000 ub

Critical - Metric ub = 4589 MB ( Warning = 1000MB / Critical = 2000MB / Total = 11657) | Memory;4589;1000;2000;0;11657

O retorno pode ser dividido em duas partes. A primeira a esquerda do pipe ( | ) diz respeito ao que será mostrado na interface web do Nagios. Ao lado direito, diz respeito a informações utilizadas internamente pelo Nagios, que são utilizadas para a geração de gráficos e informar as métricas utilizadas. Os campos, separados por ponto e vírgula ( ; ) dizem respeito na sequência:

- Label: Nome do plugin. O que está sendo retornado;

- Valor e Unidade de Medida: Neste exemplo, somente estamos informando o valor total, então é assumido um valor float ou int. Unidades de medida válidas são %, s (segundos), B (Bytes) ou também KB, MB e TB ou c (contador contínuo);

- Valor de warning;

- Valor de critical;

- Valor mínimo;

-Valor máximo.

Os valores de mínimo é máximo não são necessários caso a Unidade de Medida seja %.

Após criar o plugin e efetuar os testes de retorno, copie ele para o diretório em que está configurado nas variáveis do arquivos resources.cfg , em que estamos tratando em /usr/local/nagios/libexec . Siga os passos do capítulo Adicionando um novo plugin.

Page 40: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

39

O que são brokers Para o Nagios, brokers são programas auxiliares que coletam informações diretamente do Core e podem ser utilizadas por outras aplicações para gerar gráficos, demonstrar de outras formas os alertas, efetuar chegagens, gravar as informações em banco de dados, etc. Há vários brokers, tais como NDO, Merlin e MK Livestatus.

No nosso exemplo, iremos instalar o MK Livestatus. Ele será utilizado pelo Nagvis para receber as informações diretamente do Core do Nagios e exibir em seu painel de alertas, que veremos nos capítulos seguintes.

Inicialmente, vamos efetuar o download através do endereço http://mathias-kettner.de/check_mk_download.html. Atualmente está na versão 1.2.2p3 e o arquivo é o mk-livestatus-*.tar.gz Standalone source code.

Descopacte e arquivo, compile e instale: # tar zxvf mk-livestatus-1.2.2p3.tar.gz

# cd mk-livestatus-1.2.2p3 # ./configure

# make all # make install all

Após compilar, o broker será instalado em /usr/local/lib/mk-livestatus .

Agora vem a parte da configuração do broker no Nagios. Edite as seguintes linhas no arquivo /usr/local/nagios/etc/nagios.cfg .

broker_module=/usr/local/lib/mk-livestatus/livestat us.o /usr/local/nagios/var/rw/live

Recarregue as configurações do serviço do Nagios: # service nagios reload

Para verificar se está funcionando, podemos efetuar informações diretamente ao Core do Nagios através do comando: # echo 'GET hosts' | unixcat /usr/local/nagios/var/ rw/live

Mapa de rede com Nagvis Como foi dito em capítulos anteriores, o mapa do Nagios trás a visão dele sobre os hosts e serviços monitorados, ou seja, por onde suas solicitações passam.

O Nagvis é a ferramenta que através do MK Livestatus irá buscar informações sobre serviços e hosts e demonstrá-las sobre qualquer imagem que deseja. Assim, você pode tirar uma foto do seu datacenter ou desenhar o mapa de rede que desejar e ter pontos verdes, amarelos e vermelhos que com o cursor sobre, tragam informações recebidas pelo Nagios.

Vamos iniciar efetuando o download do Nagvis através do link http://www.nagvis.org/downloads. No atual momento da geração desse artigo, a versão é a 1.7.10.

Vamos instalar algumas dependências que podem não estar no seu sistema operacional:

Page 41: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

40

# yum -y install php-gd php-mbstring php-gettext gr aphviz php-pdo

Descompacte o arquivo em que foi efetuado download e execute o instalador: # tar zxvf nagvis-1.7.10.tar.gz # cd nagvis-1.7.10 # chmod +x install.sh

# ./install.sh -o

A opção -o é para não instalar arquivos de configuração demo.

Após a instalação, efetue o reload do serviço web Apache: # service httpd restart

Agora é só acessar através do brownser através do link http://IP_DO_SEU_SERVIDOR/nagvis. O usuário e senha padrão é admin .

Pode observar que ainda há configurações de demo na instalação padrão. Como não iremos trabalhar com rotation pools, que é para rotacionar os mapas configurados, vamos desativar essa opção. Para isso edite o arquivo /usr/local/nagvis/etc/nagvis.ini.php e na linha 285, retire o comentário ( ; ) e desativa com a opção 0 (zero), ficando a linha da seguinte forma:

showrotations=0

Agora vamos configurar o backend que irá trazer as informações do Nagios. Em nosso projeto, nós instalamos anteriormente o MK Livestatus, que iremos configurar no Nagvis agora. Clique em Options -> Manage Backends:

Agora, em Set default backend, escolha live_1:

Clique em Save.

Agora todos os objetos que trazem informações do Nagios para o Nagvis já irão vir com o backend do MK Livestatus.

Para a criação dos mapas, você precisa sempre lembrar que um mapa sempre tem que ter um background.

Vamos criar um background que será o nosso mapa de rede. Abaixo o desenho efetuado:

Page 42: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

41

Vamos então criar o background, clicando em Options -> Manager Backgrounds. Utilize a opção Upload background image:

Obs.: O nome do arquivo não pode conter espaços.

Escolha a imagem criada clicando em Browse… e após clique em Upload.

Após, vamos criar o mapa com base na imagem de fundo que enviamos.

Clique em Options -> Manage Maps.

A seguinte tela será apresentada:

Page 43: Nagios Aplicado.pdf

NAGIOS APLICADO– Funções e configurações voltadas à aplicabilidade

Marcio José Atanásio

42

Em Create Map, coloque o nome do mapa que deseja criar. Ex.: Rede

Em Map Iconset, você pode deixar pré determinado o tamanho dos ícones de alerta dos serviços e hosts. Deixe como std_medium.

Em Background, coloque o seu arquivo de imagem recém adicionado ao Nagvis.

Clique em Create.

Já criamos a imagem e o mapa, falta agora buscar as informações do Nagios. Para isso, vamos adicionar os ícones de alerta.

Clique em Open -> Rede.

Após, clique em Edit Map. Você verá as seguintes opções:

● Lock/Unlock all: Bloquear a movimentação dos ícones de alerta. ● Show/Hide Grid: Exibir ou não malha. ● Add Icon: Adicionar ícone. Corresponde a host, serviço, host group, service group

ou outro mapa que você criou. ● Add Line: Para adicionar ao invés de um ícon, uma linha que mostrará alertas

sobre o serviço. Muito utilizada para os serviços de ping. ● Add Special: Objetos de desenho do próprio Nagvis. Não tem demonstração de

alertas. Agora você pode colocar os ícones de cada host seu na forma que quiser. Os ícones em que você adicionar como serviço, eles iram mudar de cor conforme o estado do serviço. Nos demais, que dizem respeito à objetos que tem vários serviços, o ícone mudará de cor caso algum dos serviços esteja com alerta.