O módulo do NDOUtils permite a exportação dos dados atuais e históricos de uma ou mais instâncias do Nagios para um banco de dados MySQL e isso é totalmente opcional.
# cd /usr/local/src
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz
# tar -xzf ndoutils-1.4b9.tar.gz
# cd ndoutils-1.4b9
# vi README
# ./configure --prefix=/usr/local/nagios/ --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios
# make
# make install
# make install-init
Por padrão o make install instalará o ndo2db para a instalação do Nagios 3.
Iniciando o banco de dados
Atualmente o NDOUtils suporta somente o MySQL como banco de dados. Recomenda-se a utilização do phpmyadmin para a próxima etapa (aptitude install phpmyadmin).
1. Crie um banco de dados chamado "nagios" ou qualquer outro nome.
2. Adicione um usuário que tenha privilégios SELECT, INSERT, UPDATE e DELETE no banco de dados criado.
3. Execute o script de instalação para criar as tabelas necessárias ao banco de dados para trabalhar com o daemon do NDO2DB. O script para fazer isso (installdb) pode ser encontrado no subdiretório /db do distribuição NDOUtils.
# cd db/
# ./installdb
Configuração:
É hora de configurar o componente addon do NDOUtils. Configurações de exemplo estão incluídas no subdiretório config/ da distribuição NDOUtils.
1. Adicione a seguintes entrada no arquivo principal de configuração do Nagios (/usr/local/nagios/etc/nagios.cfg).
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
2. Instale os arquivos de configuração de exemplo do NDOUtils:
# cd ..
# make install-config
Isto instalará a os arquivos de configuração da distribuição para o sysconfdir (normalmente /usr/local/nagios/etc) como <nomearquivo>-sample.cfg.
Isto irá prevenir sobrescrever as mudanças pessoais. Depois adapte suas mudanças pessoais para o novo arquivo de configuração criado e então os renomeie:
# mv /usr/local/nagios/etc/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
# mv /usr/local/nagios/etc/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
3. Edite os arquivos de configuração ndomod.cfg e ndo2db.cfg para sua instalação, ou seja, especificar nome do banco de dados, prefixo, usuário/senha etc.
4. Certifique-se que a seguinte entrada esteja no arquivo de configuração do Nagios (nagios.cfg).
event_broker_options=-1
Se esta opção não estiver especificada, o Nagios pode não passar os dados para armazenar no banco de dados.
DICA: Para ajudar na performance geral deve-se pensar quais dados são realmente necessários do NDOUtils.
O Nagios por si só produz muitos dados de eventos, os quais representam a fila interna de scheduling do Nagios.
Para diminuir esse problema, retire o registro do ndomod.o destes eventos.
Configure algo menos ganancioso nas opções do ndo broker (/usr/local/nagios/etc/ndomod.cfg):
data_processing_options=1048573
Colocando em execução
Uma vez que tudo esteja configurado, pode-se começar a colocá-lo em execução.
1. Inicie o daemon ndo2db:
# /etc/init.d/ndo2db start
ou
# invoke-rc.d ndo2db start
ou
# /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
2. Verifique os logs do sistema para certificar-se do funcionamento.
3. Inicie o daemon do Nagios:
# /etc/init.d/nagios start
ou
# invoke-rc.d nagios start
ou
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
4. Verifique os logs do Nagios para certificar-se que a inicialização foi bem sucedida.
Deve-se ver alguns logs de entrada que digam que o modulo ndomod.o foi carregado com sucesso e conectado ao "data sink".
Se o módulo ndomod.o parecer não carregado, verifique a configuração do Nagios para certificar-se da adição do modulo broker no nagios.cfg.
Se existir erros de conexão ao "data sink", certifique-se que o daemon NDO2DB esteja em execução.
5. Verifique os logs de sistema para certificar-se que o NDO2DB esteja funcionando corretamente.
Deve-se observar alguns logs de entrada indicando que uma conexão foi recebida (pelo modulo ndomod.o carregado pelo Nagios) e uma conexão ao banco de dados foi bem sucedida.
Se existir erros, verifique se o banco de dados correto, nome de usuário, senha e prefixo das tabelas foram especificados corretamente no ndo2db.cfg.
Se existir erros relatando não conseguir executar a query do MySQL, as chances são de que ou as tabelas não foram criadas no banco de dados ou o ndo2db.cfg não batem com a configuração.
Qualquer modificação implicará na reinicialização do daemon NDO2DB.
Para finalizar, configure o daemon do Nagios e do NDO2DB de forma que iniciem automaticamente com o sistema operacional:
# update-rc.d ndo2db defaults
# update-rc.d nagios defaults