Como escolher o log shipper certo para OpenSearch

Introdução

Os transportadores de logs são ferramentas essenciais em sistemas modernos de gerenciamento de logs e ecosistemas de observabilidade, permitindo a coleta, processamento e encaminhamento de dados de log de várias fontes para sistemas de log centralizados, como o DigitalOcean Managed OpenSearch. A seleção do transportador de logs certo é crucial para o gerenciamento eficiente de logs, pois afeta diretamente a performance, escalabilidade e confiabilidade da infraestrutura de log. Este documento compara quatro transportadores de logs amplamente usados: Logstash, Filebeat, Fluentd e Fluent Bit, destacando seus principais usos, fortes e considerações. Além disso, ele apresenta os parâmetros chave a serem considerados ao escolher um transportador de logs para garantir que ele se alinhe com as necessidades e restrições específicas do seu ambiente.

Quais são os transportadores de logs mais comuns usados para OpenSearch?

Logstash

Principal Uso: Processamento e transformação complexos de logs.

Um log shipper amplamente usado que coleta, processa e encaminha logs. Ele oferece uma quantidade vasta de plugins para entrada, filtragem e saída, permitindo uma manipulação e transformação flexíveis de logs para o OpenSearch.

  • Processamento de Logs Complexo: Este envolve a capacidade de manipular e processar logs de várias fontes de uma maneira detalhada e complexa. O Logstash pode filtrar, analisar e melhorar os dados de log antes de os encaminhar para um destino como o OpenSearch. Isso é útil para normalizar dados de formatos de log diversos, enriquecendo os logs com contexto adicional e aplicando filtragem avançada para garantir que apenas dados relevantes sejam armazenados ou analisados.
  • Transformação: O Logstash fornece capacidades extensivas para transformar dados de log. Isso pode incluir conversão de formatos de log, modificação do conteúdo de log, agregação de dados de log e aplicação de lógica condicional para decidir como os logs devem ser processados. Essas transformações fazem os logs mais úteis e ação-dispostos para monitoramento e resolução de problemas.

Recomendação: Use o Logstash quando você precisar de capacidades de processamento poderoso e tiver recursos para suportar seu consumo de recursos superior.

Filebeat

Uso Primário: Forwardamento de log leve.

O Filebeat é um forwarder leve projetado para o forwardamento e centralização de dados de log. Ele é particularmente adequado para o envio de logs de sistemas de arquivo para o OpenSearch.

  • Leve: Filebeat é projetado para ser eficiente em recursos, usando pouco CPU e memória. Isto o torna adequado para implantação em servidores com recursos limitados ou em ambientes onde a entrega de logs precisa ser o mais não-invasivo possível.
  • Fowardamento de Logs: A principal função de Filebeat é coletar logs de arquivos no sistema e encaminhá-los the um sistema de gerenciamento de logs central, como Logstash ou Elasticsearch. Ele é otimizado para confiabilidade e performance, garantindo que os logs são entregues rapidamente e eficientemente sem sobrecarga significativa.

Recomendações: Escolha Filebeat para fowardamento de logs leve e eficiente, especialmente quando usado em combinação com Logstash para tarefas de processamento complexas.

Fluentd

Principal Uso: Camada de log unificada com extensiva suporte a plugins.

Um coletor de dados de código aberto que unifica coleta e consumo de dados para melhor uso e entendimento dos dados. Fluentd usa um sistema de plugin para extendê-lo e pode enviar dados para vários destinos, incluindo OpenSearch.

  • Camada de Log Unificada: O Fluentd visa fornecer uma única camada unificada para logs, permitindo a coleta, filtragem e distribuição de logs de várias fontes para múltiplos destinos. Esta abordagem ajuda a centralizar o gerenciamento de logs e garantir consistência no modo como os logs são lidados em diferentes partes de uma infraestrutura.
  • Suporte Extensivo a Plugins: O Fluentd tem uma rica ecosistema de plugins, que permite que ele interfacie com uma variedade ampla de fontes de dados e destinos. Esses plugins permitem que o Fluentd suporte diferentes cenários de log, incluindo formatos de log diferentes, sistemas de armazenamento e requisitos de processamento. A extensibilidade do Fluentd o torna altamente adaptável a vários ambientes e casos de uso.

Recomendação: Escolha o Fluentd quando precisar de um coletor de logs versátil com opções de integração extensivas e estiver lidando com requisitos de log diferentes.

Fluent Bit

Principal Utilização: Encaminhamento e processamento leve de logs.

Um processador e encaminhador de log leve e rápido. É uma versão streamlined do Fluentd, tornando-o adequado para ambientes com recursos limitados, enquanto ainda suporta uma variedade de destinos de saída.

  • Leve: O Fluent Bit está projetado para ser ainda mais leve do que o Fluentd, tornando-o adequado para ambientes onde os recursos são altamente restritos, como dispositivos IoT ou computação em nuvem. Seu uso de recursos baixo garante um impacto mínimo na performance do sistema.
  • Log Forwarding and Processing: O Fluent Bit pode tanto encaminhar quanto processar logs, oferecendo capacidades básicas de transformação e filtragem. Isso permite que ele realize tarefas de processamento de log simples diretamente no sistema de origem antes de encaminhar os logs para um sistema de gerenciamento central. Suas capacidades de processamento, embora não sejam tão extensas quanto as do Fluentd ou Logstash, são suficientes para a agregação de logs, transformação simples de dados e alertas em tempo real.

Recomendação: Selecione o Fluent Bit para encaminhamento e processamento de logs leves, especialmente em ambientes com restrições de recursos rigorosas.

Quais parâmetros devem ser considerados ao escolher o envio de logs?

Ao escolher um envio de logs, devem ser consideradas várias quantidades chave para garantir que atenda às necessidades específicas do seu ambiente e casos de uso. Aqui estão os principais fatores a serem considerados:

Performance e Uso de Recursos

Consumo de CPU e Memória: Avalie quanto de CPU e memória o transportador de logs consome. Os transportadores leves, como Filebeat e Fluent Bit, são projetados para usar recursos mínimos, enquanto o Logstash pode requerer mais devido às suas capacidades de processamento extensas.

Taxa de Throughput: Considere o volume de logs que o transportador pode lidar eficientemente. Alguns transportadores são otimizados para casos de alta taxa de throughput e conseguem gerenciar grandes quantidades de dados sem atraso significativo.

Facilidade de Configuração e Uso

Complexidade de Configuração: Avalie a complexidade da configuração inicial e da configuração contínua. Ferramentas como Filebeat e Fluent Bit são conhecidas por sua simplicidade, enquanto o Logstash pode requerer configurações mais intrincadas devido às suas capacidades poderosas.

Documentação e Suporte da Comunidade: Verifique a disponibilidade de documentação e suporte da comunidade. Boa documentação e uma comunidade ativa podem ajudar a resolver problemas e optimizar configurações.

Extensibilidade e Integração

Ecosistema de Plugins: Determinar a disponibilidade de plugins para várias fontes e destinos de dados. Por exemplo, Fluentd tem um ecosistema de plugins extensivo, o que pode ser crítico se você precisar integrar com vários sistemas.

Integração com Ferramentas Existentes: Certifique-se que o transportador de logs se integra bem com sua infraestrutura e ferramentas existentes. Acompanhamento de sistemas como Kubernetes, Docker e vários serviços de nuvem pode ser crucial.

Capacidades de Processamento de Logs

Filtro e Análise: Veja a capacidade do transportador de filtrar e analisar logs. Logstash se destaca em processamento e transformação de logs complexos, permitindo a manipulação detalhada de dados de log antes de seu encaminhamento.

Capacidades de Transformação: Considerar quão bem o transportador pode transformar dados de log. Isso inclui a conversão de formatos de log, aumentando logs com dados adicionais e realizando transformações complexas.

Escala e Confiabilidade

Escala: Avalie como o transportador de logs se escala com o crescimento de dados de log. Filebeat e Fluent Bit são conhecidos por sua escalabilidade e desempenho em ambientes distribuídos.

Confiabilidade: Certifique-se que o transportador é confiável e consegue lidar com picos de logs sem perda de dados. As ferramentas devem ter mecanismos para lidar com problemas de rede, backpressure e retentativas para garantir que os logs não se percam.

Segurança e Conformidade

Criptografia de Dados: Avalie a capacidade do transportador de criptografar os dados de log em transição e em repouso. As funcionalidades de segurança são essenciais para proteger os dados de log sensíveis contra o acesso não autorizado.

Requisitos de Conformidade: Certifique-se que o transportador de logs atenda a qualquer exigência de conformidade relevante à sua indústria, como GDPR, HIPAA ou outras regulamentações de proteção de dados.

Conclusão

Escolher o log shipper apropriado para o OpenSearch gerenciado por DigitalOcean é uma decisão crítica que afeta a eficiência, desempenho e confiabilidade da sua infraestrutura de log. Logstash, Filebeat, Fluentd e Fluent Bit oferecem vantagens únicas e são adequadas para diferentes casos de uso. Logstash se destaca em processamento e transformação complexos de log, fazendo dele ideal para ambientes que requerem manipulação extensa de log. Filebeat fornece uma solução leve para encaminhamento simples de log, adequada a servidores com recursos limitados. Fluentd oferece uma camada de log unificada com amplo suporte a plugins, enquanto Fluent Bit fornece uma alternativa leve para ambientes com recursos limitados. Considerando parâmetros como desempenho, facilidade de configuração, extensibilidade, escalabilidade e segurança, você pode selecionar um log shipper que melhor atenda às suas necessidades operacionais e garante um gerenciamento robusto de log para sua implantação de OpenSearch.

Source:
https://www.digitalocean.com/community/conceptual-articles/right-log-shipper-for-opensearch