Ir para o conteúdo principal
Background Image
  1. Posts/

Monitoramento via TCP no Nagios

·3 minutos·
Sidnei Weber
Autor
Sidnei Weber
Devops Engineer

Hoje vamos dar seguinte a configuração do Nagios que instalamos um tempo atrás.

Iniciaremos por um dos monitramentos mais simples que é o monitoramento via TCP, caso tennha alguns sites e queira monitorar caso algum deles caia, será muito útil.

Bom a estrutura do Nagios é bem simples mas não mostrarei hoje, para melhorar nos organizarmos vamos criar um arquivo de template próprio, dentro da pasta /usr/local/nagios/etc. Aqui no meu caso crei o arquivo templatesNagios.cfg. Já com o template do servico de monitoramento e templates para monitorar linux, windows e hosts de rede.

### Template do serviço de monitoramento de Rede e ICMP
define service{
	name TemplateService
	active_checks_enabled 1
	notifications_enabled 1
	passive_checks_enabled 0
	retain_status_information 1
	is_volatile 0
	max_check_attempts 3
	check_interval 3
	normal_check_interval 5
	retry_check_interval 5
	check_period 24x7
	notification_interval 0
	notification_period 24x7
	notification_options u,c,r
	register 0
}

#### Template "HOST" Windows
define host{
	name TemplateHostWindows
	max_check_attempts 3
	check_interval 5
	retry_check_interval 5
	active_checks_enabled 1
	passive_checks_enabled 0
	check_period 24x7
	retain_status_information 1
	notification_interval 60 ; tempo de envio de alerta
	notification_period 24x7
	notification_options d,u,r
	register 0
}

### Template "HOST" Linux
define host{
	name TemplateHostLinux
	check_command check-host-alive
	max_check_attempts 3
	check_interval 3
	retry_check_interval 5
	active_checks_enabled 1
	check_period 24x7
	retain_status_information 1
	notification_interval 60
	notification_period 24x7
	notification_options d,u,r
}

### Template "HOST" Rede
define host{
	name TemplateHostRede
	check_command check-host-alive
	max_check_attempts 2
	check_interval 5
	retry_check_interval 5
	active_checks_enabled 1
	check_period 24x7
	retain_status_information 1
	notification_interval 60
	notification_period 24x7
	notification_options d,u,r
}

# 'check_tcp' command definition
define command{
	command_name check_tcpNP
	command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$
}

Feito isso precisamos adicionar nosso arquivo de configuração no arquivo /usr/local/nagios/etc/nagios.cfg

cfg_file=/usr/local/nagios/etc/templatesNagios.cfg

Agora dentro da pasta /usr/local/nagios/etc/ criaremos a pasta network, onde adicionaremos todos os nossos hosts para monitoramento via TCP. Criaremos em outro momento uma pasta linux e uma windows, ficando muito mais organizada nossas configurações. Também precisamos adicionar esse caminho no arquivo /usr/local/nagios/etc/nagios.cfg

cfg_dir=/usr/local/nagios/etc/network/

Dentro da pasta network vamos criar nosso primeiro host para monitorar. Vou criar o arquivo sidneiweber.cfg com o conteúdo abaixo. As opções são auto explicativas, mas comentei para facilitar o entendimento.

define host{
	host_name Site_Sidnei ; Nome que irá aparecer no nagios
	use TemplateHostRede ; Template a ser usado. Configura no nosso templatesNagios.cfg
	alias Site Sidnei Weber ; Um alias
	address www.sidneiweber.com.br ; O endereço
	contact_groups admins ; Grupo que receberá os alertas

}

define service{
	use TemplateService ; Template do serviço
	host_name Site_Sidnei ; Nome do seu servidor
	service_description PING-Disponibilidade ; Descrição do Serviço a ser monitorado para o host
	check_command check_ping!100,20%!200,60% ; Plugin e Parametros
	contact_groups admins

}

define service{
	use TemplateService
	host_name Site_Sidnei ; Nome do seu servidor
	service_description HTTP ; Descrição do Serviço a ser monitorado para o host
	check_command check_tcpNP!80!1!2! ; Plugin e Parametros
	contact_groups admins
}

Após essa configuração basta verificar se está tudo configurado sem erros com o comando:

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

Se não retornar nenhum erro, basta iniciar o serviço do nagios:

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

Caso o serviço já esteja rodando e precise reiniciar, eu faço da seguinte maneira:

# Matando todos os processos nagios
killall nagios
# Iniciando
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

Pronto, primeiro serviço monitorado, e isso pode ser feito com qualquer site ou serviço de ping, uma monitoração simples, mas não deixa de ser um monitoramento.

Relacionados

Script instalação automatizada Nagios no Debian
·2 minutos
Criar script inicialização Nagios no Debian
·1 minuto
Instalando Nagios - Instalação básica
·2 minutos