Sobre este projeto
it-programming / web-development
Aberto
Eu tenho uma VPS (Linux) em produção que está executando um serviço responsável por receber logs de um servidor e replicar esses dados em um fórum (MyBB). Este serviço possui uma lógica específica, descrita abaixo:
1. A API do servidor de logs foi configurada para processar os logs de acordo com condições específicas. Por exemplo, o log com id 3521 não deve ser enviado para o fórum, enquanto o id 2251 deve ser acompanhado por uma observação e outras variáveis definidas. Essa lógica já está implementada.
2. Uma outra condição importante foi desenvolvida: se um evento com ID 2211 for gerado no servidor de logs repetidamente em um intervalo de 30 minutos, os registros dos logs devem ser agrupados em um único tópico. Após 30 minutos, um novo tópico deve ser aberto e a contagem reiniciada.
As funções 1 e 2 já estão funcionando conforme o esperado.
O que precisa ser feito agora é migrar o funcionamento desta vps para outro servidor (novo) e realizar a seguinte alteração:
3. Atualmente, a função 'redis_subscript' no servidor VPS, responsável por responder ao tópico criado, está publicando apenas o último evento. O correto seria publicar todos os eventos de forma agrupada. Por exemplo:
Suponhamos que o evento 'sshd: autenticação bem-sucedida' tenha gerado 4 logs diferentes, com as seguintes informações:
Data: 25/10/23 – 10:00:01; 25/10/23 – 10:00:01; 25/10/23 – 10:00:01; 25/10/23 – 10:00:01;
IP: 192.168.1.1; 192.168.1.2; 192.168.1.3; 192.168.1.4
Usuário: rromero, joão, mario, Henrique, carlos
Porta de Origem: 49765, 49765, 49765, 49765
Neste caso, o 'uid=3' deve agrupar todos os eventos do respectivo tópico no intervalo de 30 minutos, conforme mostrado abaixo:
Data: 25/10/23 – 10:00:01 [1]
Data: 25/10/23 – 10:00:05 [2]
Data: 25/10/23 – 10:00:11 [3]
Data: 25/10/23 – 10:00:22 [4]
IP: 192.168.1.1 [1]
IP: 192.168.1.2 [2]
IP: 192.168.1.3 [3]
IP: 192.168.1.4 [4]
Usuário: rromero [1]
Usuário: joão [2]
Usuário: mario [3]
Usuário: Henrique [4]
Porta de Origem: 49765 [1]
Porta de Origem: 49765 [2]
Porta de Origem: 49765 [3]
Porta de Origem: 49765 [4]
Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Meio período
Funções necessárias Desenvolvedor
Duração do projeto De 1 a 3 meses
Habilidades necessárias