Em ambientes de tecnologia localizada, a combinação do banco de dados KingbaseDB com o sistema Nagios permite monitoramento contínuo de indicadores críticos. Segue o processo completo de configuração.
Preparação do Ambiente e Dependências
Utilize uma distribuição Linux compatível (ex: CentOS ou Kylin). Instale os pacotes necessários:
dnf install -y gcc make openssl-devel postgresql-devel
Descompacte o pacote oficial do KingbaseDB e execute:
./setup.sh --mode silent --installpath /usr/local/kingbase
Configure as variáveis de ambiente:
echo 'export KB_PATH=/usr/local/kingbase/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
Configuração Básica do KingbaseDB
Inicialize a instância e inicie o serviço:
initdb -D /usr/local/kingbase/storage
kb_server -D /usr/local/kingbase/storage start
Crie credenciais para monitoramento:
CREATE ROLE nagios_check LOGIN PASSWORD 'senhaForte';
GRANT MONITOR ON DATABASE kingbase TO nagios_check;
Verifiuqe conectividade:
ksql -U nagios_check -d kingbase -h localhost
Implantação do Nagios e Plugins
Instale os componentes principais:
dnf install -y nagios nagios-plugins
systemctl enable --now nagios
Crie um script de verificação em /usr/lib/nagios/plugins/verifica_kingbase:
#!/bin/bash
CONEXOES_ATIVAS=$(ksql -U nagios_check -t -c "SELECT COUNT(*) FROM pg_stat_activity WHERE estado='ativo'" | grep -o '[0-9]\+')
if ((CONEXOES_ATIVAS > 8)); then
echo "CRÍTICO: Conexões ativas elevadas: $CONEXOES_ATIVAS"
exit 2
else
echo "OK: Conexões ativas: $CONEXOES_ATIVAS"
exit 0
fi
Permissões e teste:
chmod 755 /usr/lib/nagios/plugins/verifica_kingbase
/usr/lib/nagios/plugins/verifica_kingbase
Definição de Serviços no Nagios
Crie /etc/nagios/objects/kingbase.conf:
define service {
nome_serviço Monitoramento Kingbase
host_name servidor_db
comando_verificacao verifica_kingbase
tentativas_maximas 2
intervalo_verificacao 3
intervalo_notificacao 15
}
Reinicie o Nagios após configuração:
systemctl restart nagios
Visualização e Notificações
Acesse a interface web via http://ip_servidor/nagios. Para alertas, edite contacts.conf:
define contato {
nome_contato responsavel_dba
email dba@empresa.com
comando_notificacao notificar-email
}
Otimização e Manutenção
Configure rotação de logs do Nagios:
logrotate -f /etc/logrotate.d/nagios
Habilite arquivamento no KingbaseDB:
ALTER SYSTEM SET modo_arquivamento = ligado;
ALTER SYSTEM SET comando_arquivo = 'cp %p /backup/kingbase/arquivos/%f';