Click here to load reader

Case Kinghost + Elasticsearch

  • View
    328

  • Download
    1

Embed Size (px)

Text of Case Kinghost + Elasticsearch

  • CaseKinghost

    +Elasticsearch

  • Archer!

    Developer PHPZend Certified Engineer 5.3

    6 anos experinciaPalestrante h 2 anos

    Grupo PHPRSKinghost

  • Case

    O Problema Propostas Estrutura proposta Problemas enfrentados Sucesso! Melhorias Futuras

  • 1.

    O ProblemaFerramenta de E-mail Marketing

    Processar os retornos de bounce do Postfix

  • Tratar os retornos de erros

    algo extremamente importante.

    Para no enviar campanhas maliciosas necessrio

    processar o retorno imediatamente.

  • 2.

    PropostasScripts? Tecnologias? Tempo?

    Brainstorm

  • Maneiras de Resolver

    Script

    Ficar lendo o arquivo de logs procurando por retornos.

    - Demorado- Dificil de Escalar- Fcil de Criar

    MongoDb

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

    - Dificuldade Mdia- Boa Velocidade de

    Leitura- Sem Relatrios

    Elasticsearch

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

    - Estrutura complexa- Processamento

    Real-time- Relatrios Dinmicos

  • 3.

    Estrutura EscolhidaDocker + Filebeat + Logstash + Rabbit + Elasticsearch + Kibana

  • FilebeatL um arquivo de (n) lugares

    Filtra Envia o resultado

  • LogstashRecebe input

    ParseiaEnvia para output

  • RabbitMqRecebe e distribui mensagens para filas de acordo com regras

    simples

  • ElasticsearchArmazenamento e Consulta

  • KibanaVisualizao dos dados armazenados

  • Fluxo de Dados

    Postfix log

    Logstash

    Elasticsearch

    RabbitMq

    Filebeat

    WorkersWorkers

    WorkersWorkers

  • 7.992.993+ linhas/diaPostfix log

  • 4.

    Problemas enfrentados

  • - Sync do log do postfix- Parser do logstash (grok)- Criao do Ambiente- Limitao de Recursos no Container- Logs em modo debug- Monitoramento em caso de falha- Leak memria Kibana

  • 5.

    Sucesso!

  • 6.

    Prximos passos!

  • MonitoramentoRecursos

    Escalonamento AutomatizadoMelhoria no parser

  • thanks!

    No Questions.

    @danielphp