Configurando o Nagios com NagiosQL
Dica publicada em Linux / Avançado
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.
# 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:
Opcional:
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
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
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
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