Tutorial linux Nágios - Instalando e configurando o nágios na sua rede.


Tutorial linux Nágios:


Introdução
O nágios é um e programa open source de monitoramento de rede e host de, serviço. É composto pelo serviço principal e um conjunto de plugins que o torna muito flexível, já que podem ser desenvolvidas por qualquer pessoa. O nágios possui uma interface web para o usuário para monitorar, assim como também é capaz de enviar e-mails ou mesmo mensagem de pager em caso de problemas. Há também uma extensão muito útil para o Firefox que ressalta os problemas. Site oficial do nágios é http://nagios.org/

Instalação:
Esta instalação supõem-se que existe um servidor Web Apache configurado e funcionando.


Você poderá instlar o nagios através do repositório ou baixando os fontes do site oficial.

sudo apt-get update
sudo apt-get install nagios2 nagios-plugins nagios-images

Configuração inicial

  • Esta é a configuração básica para o nagios2 rodar antes de você adicionar o seu site de testes específicos
Configurando htpasswd para acesso web.
A configuração de autenticação é feita no arquivo /etc/nagios2/apache2.conf. O padrão é htpasswd / etc/nagios2/htpasswd.users, que não existe na instalação.
cd /etc/nagios2/
sudo htpasswd -c htpasswd.users nagiosadmin
Se você quiser usar algo diferente de nagiosadmin como seu usuário, basta fazer os ajustes necessários no arquivo / etc/nagios2/cgi.cfg e mudar o usuário nagiosadmin para o seu usuário.



Isso é tudo para começar a rodar! Navegue até http://nagios_server/nagios2 e faça o login para ver seus sistemas de monitoramento. Por padrão, ele controla a máquina em que executa e a porta de entrada para a Internet.
  • Configuração adicional

  • Crie o diretorio para os seu arquivos *.cfg.
sudo mkdir /etc/nagios2/mysite
Por padrão, cria um diretório nágios / etc/nagios2/conf.d onde ele coloca alguns arquivos de configuração dos serviços que tenha detectado. Mas agora, você terá que dizer Nágios que seus arquivos de configuração estão localizados em outro caminho. Faça isso editando a seguinte linha em / etc/nagios2/nagios.cfg:
cfg_dir=/etc/nagios2/mysite
    • Agora é necessário que você crie seus próprios arquivos de configuração dentro do diretório definido. É possível usar os arquivos no diretório conf.d como modelos. Você vai precisar de:

    • contacts.cfg: define as pessoas que irão receber os alertas em caso de problema.

    • hosts.cfg: define os hosts que serão monitorados

    • hostgroups.cfg: organizar os hosts definidos no arquivo hosts.cfg em grupos (por exemplo, servidores, wireless, switches).

    • services.cfg: define os serviços que serão monitorados para cada host.

    • templates.cfg: define alguns modelos como o host genérico, serviço genérico e um monte de outros modelos personalizados.

    • timeperiods.cfg: define periodos de tempo que são válidos para verificações, notificações, etc
Observe o que tudo pode ser colocado em um único arquivo, mas é melhor dividir as coisas para tê-los organizados.



  • O exemplo a seguir pressupõem uma pequena rede com:


  • Três maquinas linux (com SSH):
    • 192.168.1.1: NAT and monitoring server.
    • 192.168.1.2: web e ftp server.
    • 192.168.1.3: mail server.



contacts.cfg
define contact{
contact_name administrator
alias Administrator Name
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email administrator@domain.com
}

define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members administrator
}
hosts.cfg
  • Cada máquina tem as seguintes propriedades básicas:

  • host_name: an um nome único para identificar o host.
  • alias: uma breve descrição.
  • address: Endereco ip ou nome da maquina.
  • parents: uma lista separada por onde as maquinas estão.



  • use: Nome do template a ser usado.
# To ping an external, always on line server is useful to check if the internet link is OK.
define host{
host_name google
alias Internet Connection
address www.google.com
use generic-host
}

define host{
host_name mywangateway
alias ISP Gateway
address 190.2.53.193
parents google
use generic-host
}

define host{
host_name mylangateway
alias My LAN Internet Gateway
address 192.168.1.1
parents mywangateway
use generic-host
}

define host{
host_name webserver
alias Web Server
address 192.168.1.2
parents mylangateway
use generic-host
}

define host{
host_name mailserver
alias Mail Server
address 192.168.1.3
parents mylangateway
use generic-host
}
hostgroups.cfg
# A simple wildcard hostgroup
define hostgroup {
hostgroup_name all
alias All Servers
members *
}

# A list of your servers
define hostgroup {
hostgroup_name servers
alias Servers
members mylangateway, webserver, mailserver
}

# A list of your web servers
define hostgroup {
hostgroup_name http-servers
alias HTTP servers
members mylangateway, webserver
}

# A list of your ssh-accessible servers
define hostgroup {
hostgroup_name ssh-servers
alias SSH servers
members mylangateway, webserver, mailserver
}

define hostgroup {
hostgroup_name ping-servers
alias Pingable servers
members google, mywangateway, mylangateway, webserver, mailserver
}






services.cfg
Cada serviço tem as seguintes propriedades básicas:
  • host_name: o host que executa o serviço.

  • hostgroup_name: em vez de 'hostname isso poderia ser usado com o nome de um grupo. Neste caso, todas as máquinas dentro do grupo que será verificado..
service_description: uma breve descrição
check_command: o comando para executar a fim de verificar o serviço. Cada comando vai precisar de um plugin disponível (eles estão localizados em / usr / lib / nagios / plugins).

  • use: o nome do modelo a ser usado.
  • notification_interval: um período de tempo para voltar a enviar uma mudança no estado anfitriões. Se definido como 0 Nagios irá notificar apenas uma vez
Para adicionar novos serviços que você pode utilizar o diretório / usr / lib / nagios / plugins (ou seja qual for o diretório de plugins instalado) e procure o plugin desejado. Se não houver nenhum disponível, você pode sempre procurar na rede. Um ótimo lugar para começar sua busca é o site oficial do projeto em http://nagiosplugins.org. Depois de ter o plugin você precisa executá-lo com - help como parâmetro para ver quais opções que podem ser utilizadas com o comando. O exemplo dá-lhe alguns serviços básicos. Note que cada parâmetro para o comando é separado do outro com um ponto de exclamação.



## Hostgroups services ##

# Check that web services are running
define service {
hostgroup_name http-servers
service_description HTTP
check_command check_http
use generic-service
notification_interval 0
}

# Check that ssh services are running
define service {
hostgroup_name ssh-servers
service_description SSH
check_command check_ssh
use generic-service
notification_interval 0
}

# Check that ping-only hosts are up
define service {
hostgroup_name ping-servers
service_description PING
check_command check_ping!100.0,20%!500.0,60%
use generic-service
notification_interval 0
}

## Individual hosts services ##

# To show how to monitor a service in a single host, the ftp service and the mail service are written for each individual host.
define service {
hostgroup_name webserver ; remember that this host is also an ftp server.
service_description FTP
check_command check_ftp
use generic-service
notification_interval 0
}

# Services for the mail server (check: pop, imap, pops, imaps and smtp).
define service {
hostgroup_name mailserver
service_description POP
check_command check_pop
use generic-service
notification_interval 0
}

define service {
hostgroup_name mailserver
service_description IMAP
check_command check_imap
use generic-service
notification_interval 0
}

define service {
hostgroup_name mailserver
service_description Secure POP
check_command check_spop
use generic-service
notification_interval 0
}

define service {
hostgroup_name mailserver
service_description Secure IMAP
check_command check_simap
use generic-service
notification_interval 0
}

define service {
hostgroup_name mailserver
service_description SMTP
check_command check_smtp
use generic-service
notification_interval 0
}


templates.cfg
Na instalação padrão, você irá encontrar arquivos com o nome genérico de host_nagios2.cfg, genéricos service_nagios2.cfg e pode haver outros. Apenas cópie e cole no diretório / etc/nagios2/mysite que ele irá funcionar. De qualquer forma, prefiro colocar as definições de cada um deles em um único arquivo chamado templates.cfg, mas isso é uma preferência pessoal.


timeperiods.cfg
A configuração padrão está OK, então basta copiar e colar a partir de /etc/nagios2/conf.d/timeperiods_nagios2.cfg para /etc/nagios2/mysite/timeperiods.cfg.
Testando a nova configuração:
  • Reinicie o serviço do Nagios: / etc/init.d/nagios2 reiniciar
    Em seu navegador: http://nagios_server/nagios2
    Se houver algum erro de configuração do Nagios irá dizer-lhe onde é quando você tenta reiniciar o serviço.
Siga o @def_linux no twitter e fique por dentro dos nossos tutoriais, dicas e promoções.

Veja mais notícias Linux tutoriais do blog aqui.

Defendendo o o linux, blog  o linux  na veia.

Nenhum comentário: