Logstash - Introdução
Logstash é uma ferramenta baseada nos padrões de filtro / tubos para coletar, processar e gerar os logs ou eventos. Ele ajuda a centralizar e fazer análises em tempo real de logs e eventos de diferentes fontes.
O Logstash é escrito na linguagem de programação JRuby que é executada na JVM, portanto, você pode executar o Logstash em diferentes plataformas. Ele coleta diferentes tipos de dados, como logs, pacotes, eventos, transações, dados de carimbo de data / hora, etc., de quase todos os tipos de fontes. A fonte de dados pode ser dados sociais, comércio eletrônico, artigos de notícias, CRM, dados de jogos, tendências da Web, dados financeiros, Internet das coisas, dispositivos móveis, etc.
Recursos gerais do Logstash
As características gerais do Logstash são as seguintes -
O Logstash pode coletar dados de diferentes fontes e enviar para vários destinos.
Logstash pode lidar com todos os tipos de dados de registro, como Apache Logs, Windows Event Logs, dados sobre protocolos de rede, dados de entrada padrão e muito mais.
Logstash também pode lidar com solicitações http e dados de resposta.
O Logstash fornece uma variedade de filtros, que ajudam o usuário a encontrar mais significado nos dados, analisando-os e transformando-os.
O Logstash também pode ser usado para lidar com dados de sensores na internet das coisas.
O Logstash é de código aberto e está disponível sob a licença Apache versão 2.0.
Conceitos-chave do Logstash
Os principais conceitos do Logstash são os seguintes -
Objeto de Evento
É o objeto principal no Logstash, que encapsula o fluxo de dados no pipeline do Logstash. Logstash usa este objeto para armazenar os dados de entrada e adicionar campos extras criados durante o estágio de filtro.
O Logstash oferece uma API de eventos para os desenvolvedores manipularem eventos. Neste tutorial, este evento é referido com vários nomes, como Evento de registro de dados, Evento de registro, Dados de registro, Dados de registro de entrada, Dados de registro de saída, etc.
Pipeline
É composto por estágios de fluxo de dados no Logstash, da entrada à saída. Os dados de entrada são inseridos no pipeline e são processados na forma de um evento. Em seguida, envia para um destino de saída no formato desejável do usuário ou sistema final.
Entrada
Este é o primeiro estágio no pipeline do Logstash, que é usado para obter os dados no Logstash para processamento posterior. Logstash oferece vários plug-ins para obter dados de diferentes plataformas. Alguns dos plug-ins mais usados são - File, Syslog, Redis e Beats.
Filtro
Este é o estágio intermediário do Logstash, onde ocorre o processamento real dos eventos. Um desenvolvedor pode usar Padrões Regex predefinidos por Logstash para criar sequências para diferenciar entre os campos nos eventos e critérios para eventos de entrada aceitos.
O Logstash oferece vários plug-ins para ajudar o desenvolvedor a analisar e transformar os eventos em uma estrutura desejável. Alguns dos plug-ins de filtro mais comumente usados são - Grok, Mutate, Drop, Clone e Geoip.
Resultado
Este é o último estágio no pipeline do Logstash, onde os eventos de saída podem ser formatados na estrutura exigida pelos sistemas de destino. Por último, ele envia o evento de saída após o processamento completo para o destino usando plug-ins. Alguns dos plugins mais comumente usados são - Elasticsearch, File, Graphite, Statsd, etc.
Vantagens do Logstash
Os pontos a seguir explicam as várias vantagens do Logstash.
O Logstash oferece sequências de padrão regex para identificar e analisar os vários campos em qualquer evento de entrada.
Logstash suporta uma variedade de servidores web e fontes de dados para extrair dados de registro.
O Logstash fornece vários plug-ins para analisar e transformar os dados de registro em qualquer formato desejável pelo usuário.
O Logstash é centralizado, o que facilita o processamento e a coleta de dados de diferentes servidores.
O Logstash suporta muitos bancos de dados, protocolos de rede e outros serviços como fonte de destino para os eventos de registro.
O Logstash usa o protocolo HTTP, que permite ao usuário atualizar as versões do Elasticsearch sem ter que atualizar o Logstash em uma etapa de bloqueio.
Desvantagens do Logstash
Os pontos a seguir explicam as várias desvantagens do Logstash.
O Logstash usa http, o que afeta negativamente o processamento dos dados de registro.
Trabalhar com o Logstash às vezes pode ser um pouco complexo, pois requer um bom entendimento e análise dos dados de registro de entrada.
Os plug-ins de filtro não são genéricos, portanto, o usuário pode precisar encontrar a sequência correta de padrões para evitar erros na análise.
No próximo capítulo, vamos entender o que é a pilha ELK e como ela ajuda o Logstash.