O Syslog é um protocolo padrão para a geração e envio de mensagens de log em sistemas Unix e Linux. O RSyslog é uma implementação avançada do Syslog que oferece recursos adicionais e flexibilidade. Integrar o RSyslog ao MongoDB permite armazenar e gerenciar logs de forma eficiente e escalável.
O MongoDB é um banco de dados NoSQL altamente escalável e flexível, adequado para armazenar grandes volumes de dados não estruturados, como logs. Integrar o RSyslog ao MongoDB permite que os logs sejam armazenados de forma centralizada e acessados facilmente para análise e monitoramento.
Desabilitar o SELinux:
Antes de prosseguir com a instalação e configuração do RSyslog e MongoDB, é recomendável desabilitar o SELinux para evitar possíveis conflitos de permissões.
# nano /etc/sysconfig/selinux
SELinux=disabled
Liberar Portas no Firewall:
Para garantir que o RSyslog possa receber mensagens de log, é necessário liberar as portas necessárias no firewall do sistema.
# firewall-cmd --zone=public --permanent --add-port=514/tcp
# firewall-cmd --zone=public --permanent --add-port=514/ucp
# firewall-cmd --reload
Instalação do pacote:
Após a configuração do ambiente, procedemos com a instalação dos pacotes necessários, incluindo o RSyslog, o módulo de integração com o MongoDB e a ferramenta de captura de pacotes.
# dnf install rsyslog rsyslog-mongodb tcpdump -y
Habilitar e iniciar o serviço:
Depois de instalado, é necessário habilitar e iniciar o serviço do RSyslog para que ele comece a receber e enviar mensagens de log.
# systemctl enable rsyslog
# systemctl start rsyslog
# systemctl status rsyslog
Configuração Integração MongoDB:
Agora, vamos configurar o RSyslog para integrar-se ao MongoDB, definindo as regras de entrada e ação para encaminhar os logs para o banco de dados.
# nano /etc/rsyslog.d/mongo.conf
################ Configuração Integração MongoDB #################
module(load="imtcp")
module(load="imudp")
module(load="ommongodb")
input(type="imtcp" port="514" ruleset="mongodb")
input(type="imudp" port="514" ruleset="mongodb")
ruleset(name="mongodb") {
action(type="ommongodb" server="127.0.0.1" db="logs" collection="syslog" uid="admin" pwd="123456")
}
Criar dados no DB:
Antes de começarmos a receber mensagens de log, precisamos criar a coleção no MongoDB onde os logs serão armazenados.
# mongo -u admin -p
> use logs;
> db.createCollection('syslog');
> show dbs;
> exit;
Verificar se há portas abertas referente ao serviço:
Após a configuração, é importante verificar se as portas necessárias estão abertas e prontas para receber mensagens de log.
# netstat -antup | grep 514
Verificar se está chegando os pacotes de log:
Por fim, podemos usar a ferramenta tcpdump para verificar se os pacotes de log estão chegando ao servidor.
# tcpdump -i ens33 port 514
0 Comentários