case kinghost + elasticsearch

23
Case Kinghost + Elasticsearch

Upload: daniel-archer-marques-cramer

Post on 18-Jan-2017

354 views

Category:

Technology


1 download

TRANSCRIPT

Case

Kinghost

+

Elasticsearch

Archer!

Developer PHPZend Certified Engineer 5.3

6 anos experiênciaPalestrante há 2 anos

Grupo PHPRSKinghost

Case

� O Problema� Propostas� Estrutura proposta� Problemas enfrentados� Sucesso!� Melhorias Futuras

1.

O Problema

Ferramenta de E-mail MarketingProcessar os retornos de bounce do Postfix

“Tratar os retornos de erros é

algo extremamente importante.

Para não enviar campanhas maliciosas é necessário

processar o retorno imediatamente.

2.

Propostas

Scripts? Tecnologias? Tempo?Brainstorm

Maneiras de Resolver

Script

Ficar lendo o arquivo de logs procurando por retornos.

- Demorado- Dificil de Escalar- Fácil de Criar

MongoDb

Jogar todo esse dado para o mongo e processar os dados já inseridos, utilizando vários scripts de leitura.

- Dificuldade Média- Boa Velocidade de

Leitura- Sem Relatórios

Elasticsearch

Utilizar o armazenamento do elasticsearch junto com o sistema de filas, para agilizar o processamento.

- Estrutura complexa- Processamento

Real-time- Relatórios Dinâmicos

3.

Estrutura Escolhida

Docker + Filebeat + Logstash + Rabbit + Elasticsearch + Kibana

Filebeat

Lê um arquivo de (n) lugaresFiltra

Envia o resultado

Logstash

Recebe inputParseia

Envia para output

RabbitMq

Recebe e distribui mensagens para filas de acordo com regras simples

Elasticsearch

Armazenamento e Consulta

Kibana

Visualização dos dados armazenados

Fluxo de Dados

Postfix log

Logstash

Elasticsearch

RabbitMq

Filebeat

WorkersWorkers

WorkersWorkers

7.992.993+ linhas/dia

Postfix log

4.

Problemas enfrentados

“- Sync do log do postfix- Parser do logstash (grok)- Criação do Ambiente- Limitação de Recursos no Container- Logs em modo debug- Monitoramento em caso de falha- Leak memória Kibana

5.

Sucesso!

6.

Próximos passos!

Monitoramento

Recursos

Escalonamento Automatizado

Melhoria no parser

thanks!

No Questions.

@danielphp