Configurando o Nagios com NagiosQL

Publicado por Andre Luiz Facina em 18/02/2009

[ Hits: 30.225 ]

 


Configurando o Nagios com NagiosQL



Todos conhecem o Nagios e o trabalho que dá para configurá-lo na mão. Havia implantado-o em uma empresa e todos lá queriam uma ferramenta que facilitasse a configuração de novos hosts, services, contacts, hostgroups etc. O próprio Nagios oferece tal ferramenta, mas que acaba sendo meio espartana para novos usuários.

Foi então pesquisando no Google que achei a ferramenta NagiosQL, interface web onde é possível realizar todas as configurações de hosts, services, time_periods, service dependency etc. Antes de prosseguir você pode entrar na página de demonstração do NagiosQL (usuário:demo; senha:demo) para dar uma olhada e ver como ele funciona. A interface é bem simples, e qualquer usuário com pouca noção de Nagios será capaz de se virar.

Instalação

Antes de instalar o NagiosQL verifique se já possui esses pacotes instalados:
  • Apache
  • PHP 4.3 ou superior
  • MySQL 4.1 ou superior
  • Nagios 2 ou 3
  • PEAR Module: HTML_Template_IT 1.1 ou superior
  • PHP Extension: gettext
  • PHP Extension: mysql
  • PHP Extension: ftp

# cd /var/www
# wget
http://downloads.sourceforge.net/nagiosql/nagiosql301.tar.gz?modtime=1232482371&big_mirror=0&filesize=863131
# tar -zxvf nagiosql301.tar.gz
# mv nagiosql3 nagiosql
# touch /var/www/nagiosql/install/ENABLE_INSTALLER
# chown -R www-data:www-data /var/www/nagiosql/config/


Se tudo ocorreu perfeitamente bem, é hora de acessar o browser e prosseguir com a instalação:

http://ip_do_servidor/nagiosql

Os passos seguintes são bem tranquilos, onde deverá ser especificada a base de dados do MySQL, senha etc. O script de instalação se encarregará de tudo, até mesmo da criação da base de dados e do usuário no MySQL.

Depois da finalização da instalação pelo browser, devemos remover o arquivo "ENABLE_INSTALLER" que criamos na pasta config.

# rm -f /var/www/nagiosql/install/ENABLE_INSTALLER

Volte para o browser e atualize a tela (f5). Agora é preciso criar uma estrutura de diretórios em "/etc/nagiosql" com as devidas permissões:

# mkdir -p /etc/nagiosql/{hosts,services,backup/{hosts,services}}

# chgrp www-data /usr/local/nagios
# chgrp www-data /usr/local/nagios/nagios.cfg
# chgrp www-data /usr/local/nagios/cgi.cfg
# chmod 775 /usr/local/nagios
# chmod 664 /usr/local/nagios/nagios.cfg
# chmod 664 /usr/local/nagios/cgi.cfg

# chmod 6755 /etc/nagiosql
# chown www-data.nagios /etc/nagiosql
# chmod 6755 /etc/nagiosql/hosts
# chown www-data.nagios /etc/nagiosql/hosts
# chmod 6755 /etc/nagiosql/services
# chown www-data.nagios /etc/nagiosql/services

# chmod 6755 /etc/nagiosql/backup
# chown www-data.nagios /etc/nagiosql/backup
# chmod 6755 /etc/nagiosql/backup/hosts
# chown www-data.nagios /etc/nagiosql/backup/hosts
# chmod 6755 /etc/nagiosql/backup/services
# chown www-data.nagios /etc/nagiosql/backup/services


Por fim, para finalizar a instalação é preciso configurar o Nagios (nagios.cfg) para buscar as configurações em /etc/nagiosql, exemplo:

cfg_file=/etc/nagiosql/contacttemplates.cfg
cfg_file=/etc/nagiosql/contactgroups.cfg
cfg_file=/etc/nagiosql/contacts.cfg
cfg_file=/etc/nagiosql/timeperiods.cfg
cfg_file=/etc/nagiosql/commands.cfg

cfg_file=/etc/nagiosql/hostgroups.cfg
cfg_file=/etc/nagiosql/servicegroups.cfg

cfg_dir=/etc/nagiosql/hosts
cfg_dir=/etc/nagiosql/services

Opcional:

cfg_file=/etc/nagiosql/hosttemplates.cfg cfg_file=/etc/nagiosql/servicetemplates.cfg cfg_file=/etc/nagiosql/servicedependencies.cfg cfg_file=/etc/nagiosql/serviceescalations.cfg cfg_file=/etc/nagiosql/hostdependencies.cfg cfg_file=/etc/nagiosql/hostescalations.cfg cfg_file=/etc/nagiosql/hostextinfo.cfg cfg_file=/etc/nagiosql/serviceextinfo.cfg

Com a instalação finalizada temos duas opções: configurar do zero a partir do NagiosQL ou importar a configurações existentes do Nagios. Para a segunda opção, basta ir pelo browser na aba "tools -> Data import".

O NagiosQL busca por padrão as configurações do Nagios em /etc/nagios, mas a maioria das pessoas acabam instalando em /usr/local/nagios. Para resolver isso basta criar um link simbólico de /usr/local/nagios para /etc/nagios.

Agora a configuração do nagios ficou muito mais simples. :-)

André Facina

Outras dicas deste autor

GlusterFS - Cluster de Filesystem no Linux

Ajustando o delay de repetição do teclado

Renomeando arquivos com caracteres especiais

Backups simples e seguros com o ssh e dd no Linux

Cisco - Reload, um comando simples que pode salvar sua vida

Leitura recomendada

Biometria facial na autenticação do usuário root (atualização)

Wine - Como instalar um programa Windows para todos os usuários do computador (incluindo a conta Convidado)

Bloqueando Ultrasurf 9.8 com iptables

Bug: qBittorrent movendo downloads concluídos para baixando (Debian) [RESOLVIDO]

DevStack - instale um ambiente Openstack

  

Comentários
[1] Comentário enviado por nayara em 02/03/2009 - 10:14h

Olá!

estou tentando fazer a instalação, mas quando chego no final, me dá erro ao escrever no arquivo config/settings.php. Já verifiquei a permissão da pasta, já que o arquivo inicialmente não existe. Segue a mensagem:

NagiosQL Installation: Finishing Setup
New Installation of NagiosQL
Parameter Value
MySQL server connection (privileged user) passed
MySQL server version 5.0.67
MySQL server support supported
Delete existing NagiosQL 3 database db_nagiosql_v3 done
Creating new database db_nagiosql_v3 done
Create NagiosQL MySQL User done
Update MySQL Permissions done
Reloading MySQL User Table done
Testing database connection to db_nagiosql_v3 passed
Writing global settings to database done
Writing database configuration to settings.php failed

[2] Comentário enviado por netbug em 02/03/2009 - 10:22h

Nayara, o apache tem permissão de escrita no diretório do nagiosql?

chown -R www-data:www-data /var/www/nagiosql/config/

Dependendo da distro o usuário do apache é outro.

chown -R apache:apache /var/www/nagiosql/config/

[3] Comentário enviado por nayara em 02/03/2009 - 11:08h

Netbug,

Fiz essa configuração sim...
Um detalhe importante, estou usando fedora 10.
Dei permissão 777 para fazer teste, mas nem assim funcionou.
segue as permissões do diretório

ls -lha /var/www/html/nagiosql3/config/
total 48K
drwxrwxrwx 3 apache apache 4,0K Mar 2 11:14 .
drwxr-xr-x 8 root root 4,0K Mar 2 11:12 ..
-rwxr-xr-x 1 apache apache 23K Mar 2 11:12 fieldvars.php
drwxr-xr-x 9 apache apache 4,0K Mar 2 11:12 locale
-rwxr-xr-x 1 apache apache 9,1K Mar 2 11:12 main.css


[4] Comentário enviado por netbug em 02/03/2009 - 11:50h

Fedora, huum...
o SELinux está desabilitado?


[5] Comentário enviado por nayara em 02/03/2009 - 14:39h

Humm,

Valeu era isso mesmo!!!

[6] Comentário enviado por agimenez em 06/05/2009 - 11:29h

Netbug,

Finalizando a instalação via browser ele me indica:

New Installation of NagiosQL
Parameter Value
MySQL server connection (privileged user) passed
MySQL server version 5.0.32-Debian_7etch10-log
MySQL server support supported
Delete existing NagiosQL 3 database db_nagiosql_v3 done
Creating new database db_nagiosql_v3 done
Create NagiosQL MySQL User done
Update MySQL Permissions done
Reloading MySQL User Table done
Testing database connection to db_nagiosql_v3 passed
Writing global settings to database done
Writing database configuration to settings.php done
Set initial NagiosQL Administrator done
Import Nagios sample data done

Please delete the install directory to continue!

Se eu remover a pasta "install" perco acesso a página, se eu remover o arquivo ENABLE_INSTALLER com o comando:
rm -f /var/www/nagiosql/install/ENABLE_INSTALLER

Ele volta pra tela inicial dizendo:
ENABLE_INSTALLER does not exist, please create a file in the install directory to continue!

Outra coisa que não entendi foi:

Esses arquivo não existem em meu sistema:

# chgrp www-data /usr/local/nagios
# chgrp www-data /usr/local/nagios/nagios.cfg
# chgrp www-data /usr/local/nagios/cgi.cfg
# chmod 775 /usr/local/nagios
# chmod 664 /usr/local/nagios/nagios.cfg
# chmod 664 /usr/local/nagios/cgi.cfg

todos os arquivos .cfg terão que ser criados em branco ou na instalação ele cria?

Não consegui continuar, poderia me ajudar?

Obrigado

[7] Comentário enviado por diramos em 08/05/2009 - 13:51h

Prezado André,

Fiquei muitíssimo interessado na ferramenta Nagiosql.
Tenho o Nagios 3 funcinando a pleno vapor aqui, monitorando quase 1000 hosts e serviços.
Mas, praticamente configurei tudo na unha, já que não conhecia essa ferramenta na época.
Se bem que fiz uns scripts em AWK que ajudaram bastante, mas uma ferramenta como o Nagiosql seria uma ótima alternativa.
Estou me preparando para instalar e vi que nos requisitos tem as seguintes dependências:

PEAR Module: HTML_Template_IT 1.1 ou superior
PHP Extension: gettext
PHP Extension: mysql
PHP Extension: ftp

Minha distro é Debian Etch 4 e o repositório é corporativo da empresa (intranet).
E no repositório não tem esses pacotes para instalar.
Mais um detalhe: o servidor Debian onde está instalado o Nagios não tem conexão com a Internet.
Então eu pergunto: onde eu conseguiria pegar esses pacotes para o Debian?
Qual o nome exato deles?
Como faço para instalá-los na unha, sem usar o aptitude?
Porque preciso pegar por outra estação com acesso à Internet e depois transferia para o Debian e instalar.
Aguardo ansiosamente qualquer dica.

Grato desde já.

Diramos

[8] Comentário enviado por netbug em 09/05/2009 - 11:08h

agimenez,

Na ultima tela de instalação vc clicou em finalizar para depois remover o arquivo ENABLE_INSTALLER ?

A respeito dos arquivos que estão em /usr/local/nagios, esse é o diretório padrão onde é instalado o nagios ( quando compilado ).
Vc precisa verificar onde estão os arquivos de configuração do nagios, para então poder dar continuidade na instalação. As vezes o nagios quando instalado via pacotes da distribuição ele fica em /etc/nagios.

[]'s
André

[9] Comentário enviado por netbug em 09/05/2009 - 11:26h

E ai diramos, blz?
Poxa 1000 hosts é bastante coisa hein... o trabalho que realizei com o nagios e nagiosql tinha em torno de 250 hosts e 1200 serviços sendo monitorados, e com o nagiosql configurei tudo em uma semana, coisa que seria muito demorado se fosse feito na unha =p
Outra vantagem é que usuários podem facilmente dar manutenção nas configurações de hosts e serviços e vc fica mais tranquilo para realizar outros trabalhos =D

Bom, vamos lá..

O pacote HTML_Template_IT vc pode baixá-lo via pear ou baixar através desse link -> http://pear.php.net/package/HTML_Template_IT/download

Como o servidor onde está instalado o nagios não tem conexão com a internet, vc pode baixar os pacotes via apt em outro servidor debian etch, depois transferí-los para o servidor nagios e então instalar os pacotes com o comando dpkg -i.
Para apenas baixar o pacote com o apt vc usa o comando "apt-get -d install nome do pacote" e depois vá no diretório /var/cache/apt/archives e os pacotinhos estarão lá. O parâmetro -d faz com que o apt apenas faça o download dos pacotes.

O nome dos pacotes que vc precisa baixar via apt são:

php-gettext
php5-mysql
php-net-ftp


[]'s
André

[10] Comentário enviado por agimenez em 13/05/2009 - 21:14h

André, obrigado pelo retorno..

Isso mesmo André, cliquei em finalizar e depois fui lá e removi o ENABLE...

Já as configurações que deviam estar em /usr/local/nagios (caso fossem compilados) eu não as tenho, pois foi instalado tanto o nagiosQL como o nagios2 via apt-get, o que tenho é isso:

/etc/nagios2/
|-- apache2.conf
|-- cgi.cfg
|-- commands.cfg
|-- conf.d
| |-- contacts_nagios2.cfg
| |-- extinfo_nagios2.cfg
| |-- generic-host_nagios2.cfg
| |-- generic-service_nagios2.cfg
| |-- host-gateway_nagios2.cfg
| |-- hostgroups_nagios2.cfg
| |-- localhost_nagios2.cfg
| |-- services_nagios2.cfg
| `-- timeperiods_nagios2.cfg
|-- htpasswd.users
|-- nagios.cfg
|-- resource.cfg
`-- stylesheets


já esses, os arquivos estão em branco:

/etc/nagiosql/
|-- backup
| |-- hosts
| `-- services
|-- checkcommands.cfg
|-- contactgroups.cfg
|-- contacts.cfg
|-- hostgroups.cfg
|-- hosts
|-- misccommands.cfg
|-- nagios.cfg
|-- servicegroups.cf
|-- services
`-- timeperiods.cfg


Se puder ajudar, agradeço desde já.

Obrigado

[11] Comentário enviado por agimenez em 13/05/2009 - 22:18h

André,

Consegui, o problema estava sendo no pacote nagiosql301.tar.gz, fui no site e baixei a nagiosql302.zip e consegui! Obrigado.

[12] Comentário enviado por netbug em 16/05/2009 - 11:23h

agimenez,
isso mesmo, na pasta /etc/nagiosql os arquivos iniciais serão criados em branco, pois vc ainda não possui nada cadastrado no nagiosql.

O que vc pode fazer é importar os dados da pasta /etc/nagios2 utilizando a interface do nagiosql. Logando no NagiosQL vá no menu "Tools e depois no submenu "Data import", é só escolher os arquivos que o nagiosql se encarregará de importar.
Será preciso criar uma link simbólico de /etc/nagios2 para /etc/nagios, pois o nagiosql irá buscar os arquivos nessa pasta.

Qualquer mudança que vc faça nos arquivos de configuração do nagiosql, primeiramente ele gravará essas mudanças no banco mysql e só depois que vc der um "write config file" é que ele gravará os arquivos no diretório /etc/nagiosql.

Uma observação importante, imagine que vc tenha um host cadastrado e esse host faça parte de um grupo de hosts, dai vc resolve remover esse host utilizando o nagiosql e depois tenta reiniciar o nagios. O nagios irá reclamar falando que há erros nos arquivos de configuração... isso é normal, pq vc deve ir no menu hostgroup e clicar no botão "write all config files", para que o nagiosql possa atualizar os arquivos de hostgroups também. Isso tanto para hosts, services, contacts e etc.. Ele irá ler o banco que está no mysql e então irá atualizar os arquivos para que o nagios possa ler.

[]s
André


[13] Comentário enviado por andreicordova em 27/05/2009 - 15:53h

Tem ideia do que pode ser isso???

New Installation of NagiosQL


Parameter
MySQL server connection (privileged user)

Value
Error: Cannot set CHARSET NAMES. MySQL Error: Unknown system variable 'NAMES'

[14] Comentário enviado por jotagera em 19/06/2009 - 10:00h

Olá colega

Esta sua dica foi perfeita. Eu estava apanhando demais por aqui com o NagiosQL.

Agora está quase tudo funcionando...

Uma coisa que apanhei e vou relatar aqui, e para baixar e instalar o HTML_Template_IT manualmente.

No site do pear, no link http://pear.php.net/package/HTML_Template_IT/download tem um link para baixar o arquivo manualmente. O arquivo é HTML_Template_IT-1.3.0a1.tgz.

Baixe o arquivo, coloque em algum lugar do servidor e descompacte-o com
gzip -d HTML_Template_IT-1.3.0a1.tgz. O arquivo vai ficar HTML_Template_IT-1.3.0a1.tar
Renomei-o para HTML_Template_IT-1.3.0a1 (mv HTML_Template_IT-1.3.0a1.tar HTML_Template_IT-1.3.0a1) e depois instale com "pear install HTML_Template_IT-1.3.0a1"
Confira com pear list que ele deve estar lá.

Alguem conseguiu fazer funcionar os botoes "check configuration files" e "restart nagios" dentro do tools, nagios control?

Obrigado.
Jotagera

[15] Comentário enviado por marciorn5 em 19/10/2009 - 20:46h

Caro netbug tb estou com o mesmo problema da Nayara, qaundo uso o Slackware e já dei os dereitos e mesmo assim nada a minha pasta config está assim:

drw-rw-rw- 3 apache apache 4,0K 2009-05-20 10:51 config/

no final da configraão aparece a lista abaixo e mensagem de que não foi possivel grava em setting.php em config:

NagiosQL Installation: Finishing Setup
New Installation of NagiosQL
Parameter Value
MySQL server connection (privileged user) passed
MySQL server version 5.0.84
MySQL server support supported
Delete existing NagiosQL 3 database db_nagiosql_v3 done
Creating new database db_nagiosql_v3 done
Create NagiosQL MySQL User done
Update MySQL Permissions done
Reloading MySQL User Table done
Testing database connection to db_nagiosql_v3 passed
Writing global settings to database done
Writing database configuration to settings.php failed
Could not open settings.php in config directory for writing!

caso possa me dar um direção eu ficarei agracido

[16] Comentário enviado por pro.oliveira em 13/01/2010 - 13:53h

..

[17] Comentário enviado por fibozolan em 04/06/2010 - 17:25h

Boa Tarde,

Eu instalei o nagiosql e esta funcionando mais ou menos. Pra deletar algum hosts funciona que é uma blz...agora quando eu incluo um HOST..ele nao aparece no nagios e o pior é que nao da erro nenhum no nagios. Alguem tem alguma idéia do que acontece? Será que estou esquecendo de alguma coisa?

abracos.

[18] Comentário enviado por agimenez em 24/06/2010 - 10:15h

Alguém teve problema em:

Tools > Nagios control

Check configuration files: DO IT
Warning, always check the configuration files before restart Nagios!
Restart Nagios: DO IT
Nagios daemon is not running, cannot send restart command!

Mas via shell vai tranquilo..

Obrigado.

[19] Comentário enviado por flaviobji em 27/08/2015 - 15:59h


amigos eu estava com nagios3 aqui instalado via apt-get funcionando normal, ai instalei o nagiosql, o nagiosql esta funcionando normal, mas qdo vou abrir o nagios ele nao abre o mapa de hosts, apresenta este erro: Whoops! error: Could not read host and service status information!
no terminal verifiquei os logs:
tail -f /var/lib/nagios3/nagios.log
[1440686227] Error: Cannot open main configuration file '/etc/nagiosql/hosts/reload' for reading!
no nagiosql tento starta-lo e apresenta este erro: Nagios daemon is not running, cannot send restart command!
tb no nagiosql verifico a configuração: Check configuration files: Cannot find the Nagios binary or no rights for execution!
parece que o nagios nao esta ativando mais....



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts