ELK Stack Tutorial: O que é Kibana, Logstash e Elasticsearch?

O que é ELK Stack?

o QUALQUER pilha é uma coleção de três produtos de código aberto - Elasticsearch, Logstash e Kibana. A pilha ELK fornece registro centralizado para identificar problemas com servidores ou aplicativos. Ele permite que você pesquise todos os logs em um único lugar. Também ajuda a encontrar problemas em vários servidores, conectando logs durante um período de tempo específico.

  • E significa ElasticSearch: usado para armazenar registros
  • A significa LogStash: usado tanto para envio quanto para processamento e armazenamento de logs
  • PARA significa Kibana: é um ferramenta de visualização (uma interface da web) que é hospedada por meio de Nginx ou Apache

ElasticSearch, LogStash e Kibana são todos desenvolvidos, gerenciados e mantidos pela empresa chamada Elastic.

ELK Stack foi projetado para permitir que os usuários obtenham dados de qualquer fonte, em qualquer formato, e pesquisem, analisem e visualizem esses dados em tempo real.

Neste tutorial da pilha ELK, você aprenderá

Arquitetura ELK Stack

Agora, neste tutorial da pilha ELK, aprenderemos sobre a arquitetura ELK:

Aqui está a arquitetura simples da pilha ELK

Arquitetura ELK Stack

  • Histórico: Os logs do servidor que precisam ser analisados ​​são identificados
  • Logstash: Colete dados de registros e eventos. Ele até analisa e transforma dados
  • ElasticSearch: Os dados transformados do Logstash são Armazene, pesquise e indexe.
  • Kibana: Kibana usa Elasticsearch DB para explorar, visualizar e compartilhar

No entanto, é necessário mais um componente ou coleta de dados chamada Beats. Isso levou Elastic a renomear ELK como Elastic Stack.

Ao lidar com grandes quantidades de dados, você pode precisar do Kafka, RabbitMQ para armazenamento em buffer e resiliência. Por segurança, o nginx pode ser usado.

Agora, neste tutorial de pilha elástica, Vamos mergulhar em todos esses produtos de código aberto:

O que é Elasticsearch?

Elasticsearch é um banco de dados NoSQL. Ele é baseado no mecanismo de pesquisa Lucene e é construído com RESTful APIS. Ele oferece implantação simples, confiabilidade máxima e gerenciamento fácil. Ele também oferece consultas avançadas para realizar análises detalhadas e armazena todos os dados centralmente. É útil para realizar uma pesquisa rápida dos documentos.

Elasticsearch também permite que você armazene, pesquise e analise um grande volume de dados. Ele é usado principalmente como o mecanismo subjacente para alimentar aplicativos que concluíram os requisitos de pesquisa. Ele foi adotado em plataformas de mecanismo de pesquisa para aplicativos modernos e móveis da web. Além de uma pesquisa rápida, a ferramenta também oferece análises complexas e muitos recursos avançados.

Características da pesquisa elástica:

  • O servidor de pesquisa de código aberto é escrito em Java
  • Usado para indexar qualquer tipo de dados heterogêneos
  • Possui interface da web REST API com saída JSON
  • Pesquisa de Texto Completo
  • Pesquisa quase em tempo real (NRT)
  • Fragmentado, replicado pesquisável, armazenamento de documentos JSON
  • Armazenamento de documentos distribuído baseado em REST e JSON sem esquemas
  • Suporte multilíngue e localização geográfica

Vantagens do Elasticsearch

  • Armazena dados sem esquema e também cria um esquema para seus dados
  • Manipule seus dados registro por registro com a ajuda de APIs de documentos múltiplos
  • Realize a filtragem e a consulta de seus dados para insights
  • Baseado no Apache Lucene e fornece API RESTful
  • Fornece escalabilidade horizontal, confiabilidade e capacidade multilocatária para uso em tempo real de indexação para tornar a pesquisa mais rápida
  • Ajuda você a dimensionar vertical e horizontalmente

Termos importantes usados ​​no Elastic Search

Agora, neste tutorial ELK, vamos aprender sobre os termos-chave usados ​​no ElasticSearch:

PrazoUso
Cacho Um cluster é uma coleção de nós que, juntos, contém dados e fornece recursos de indexação e pesquisa combinados.
Um nó é uma instância de elasticsearch. Ele é criado quando uma instância de elasticsearch começa.
Índice Um índice é uma coleção de documentos com características semelhantes. por exemplo, dados do cliente, catálogo de produtos. É muito útil ao executar operações de indexação, pesquisa, atualização e exclusão. Ele permite que você defina tantos índices em um único cluster.
Documento É a unidade básica de informação que pode ser indexada. É expresso no par JSON (chave: valor). '{' usuário ':' nullcon '}'. Cada documento é associado a um tipo e id único.
Fragmento Cada índice pode ser dividido em vários fragmentos para distribuir os dados. O fragmento é a parte atômica de um índice, que pode ser distribuído pelo cluster se você quiser adicionar mais nós.

O que é Logstash?

Logstash é a ferramenta de pipeline de coleta de dados. Ele coleta entradas de dados e alimenta o Elasticsearch. Ele reúne todos os tipos de dados de diferentes fontes e os disponibiliza para uso posterior.

O Logstash pode unificar dados de fontes distintas e normalizar os dados em seus destinos desejados. Ele permite que você limpe e democratize todos os seus dados para análise e visualização de casos de uso.

Consiste em três componentes:

  • Entrada : passar logs para processá-los na máquina compreensível

    formato

  • Filtros : É um conjunto de condições para realizar uma determinada ação ou evento
  • Saída : Tomador de decisões para eventos ou registros processados

Recursos do Logstash

Agora, neste tutorial do LogStash, vamos aprender sobre os recursos do LogStash:

  • Os eventos são passados ​​por cada fase usando filas internas
  • Permite diferentes entradas para seus registros
  • Filtrando / analisando seus registros

Vantagem do Logstash

  • Ofertas centralizam o processamento de dados
  • Ele analisa uma grande variedade de eventos e dados estruturados / não estruturados
  • ELK LogStash oferece plug-ins para se conectar a vários tipos de fontes de entrada e plataformas

O que é Kibana?

Kibana é uma visualização de dados que completa a pilha ELK. Essa ferramenta é usada para visualizar os documentos do Elasticsearch e ajuda os desenvolvedores a ter uma visão rápida sobre ele. O painel Kibana oferece vários diagramas interativos, dados geoespaciais e gráficos para visualizar pedidos complexos.

Ele pode ser usado para pesquisar, visualizar e interagir com dados armazenados nos diretórios Elasticsearch. Kibana ajuda você a realizar tarefas avançadas análise de dados e visualize seus dados em uma variedade de tabelas, gráficos e mapas.

No Kibana, existem diferentes métodos para realizar pesquisas em seus dados.

Aqui estão os tipos de pesquisa mais comuns:

Tipo de buscaUso
Pesquisas de texto livreÉ usado para pesquisar uma string específica
Pesquisas em nível de campoÉ usado para pesquisar uma string dentro de um campo específico
Declarações lógicasÉ usado para combinar pesquisas em uma declaração lógica.
Pesquisas de proximidadeÉ usado para pesquisar termos dentro da proximidade de caracteres específicos.

Agora, neste tutorial do Kibana, vamos aprender sobre os recursos importantes do Kibana:

Recursos do Kinbana:

  • Painel front-end poderoso que é capaz de visualizar informações indexadas do cluster elástico
  • Permite a pesquisa em tempo real de informações indexadas
  • Você pode pesquisar, visualizar e interagir com os dados armazenados no Elasticsearch
  • Execute consultas de dados e visualize os resultados em gráficos, tabelas e mapas
  • Painel configurável para fatiar e dividir os logs do logstash no elasticsearch
  • Capaz de fornecer dados históricos na forma de gráficos, tabelas, etc.
  • Painéis em tempo real que são facilmente configuráveis
  • Kibana ElasticSearch permite pesquisa em tempo real de informações indexadas

Vantagens e desvantagens de Kinbana

  • Visualização fácil
  • Totalmente integrado com Elasticsearch
  • Ferramenta de visualização
  • Oferece análises em tempo real, gráficos, resumos e recursos de depuração
  • Fornece interface intuitiva e amigável
  • Permite o compartilhamento de instantâneos dos logs pesquisados ​​por meio
  • Permite salvar o painel e gerenciar vários painéis

Por que análise de log?

Em infraestruturas de ambiente baseado em nuvem, desempenho e isolamento são muito importantes. O desempenho das máquinas virtuais na nuvem pode variar com base nas cargas específicas, ambientes e número de usuários ativos no sistema. Portanto, a confiabilidade e a falha do nó podem se tornar um problema significativo.

Plataforma de gerenciamento de log pode monitorar todos os problemas fornecidos acima, bem como processar logs do sistema operacional, NGINX, log do servidor IIS para análise de tráfego da web, logs de aplicativos e logs na AWS (serviços da Web da Amazon).

O gerenciamento de log ajuda os engenheiros de DevOps e o administrador de sistema a tomar melhores decisões de negócios. Portanto, a análise de log por meio do Elastic Stack ou ferramentas semelhantes é importante.

ELK vs. Splunk

CadaSplunk
Elk é uma ferramenta de código abertoSplunk é uma ferramenta comercial.
A pilha Elk não oferece portabilidade Solaris devido ao Kibana.Splunk oferece portabilidade Solaris.
A velocidade de processamento é estritamente limitada.Oferece processos precisos e rápidos.
ELK é uma pilha de tecnologia criada com a combinação Elastic Search-Logstash-Kibana.Splunk é uma ferramenta proprietária. Ele fornece soluções locais e na nuvem.
Na Pesquisa ELK, Análise e Visualização só serão possíveis depois que a pilha ELK for configurada.Splunk é um pacote completo de gerenciamento de dados à sua disposição.
A ferramenta ELK não oferece suporte à integração com outras ferramentas.Splunk é uma ferramenta útil para configurar integrações com outras ferramentas.

Estudos de caso

NetFlix

A Netflix depende fortemente da pilha ELK. A empresa que usa a pilha ELK para monitorar e analisar o registro de segurança das operações de atendimento ao cliente. Ele permite que eles indexem, armazenem e pesquisem documentos de mais de quinze clusters que compreendem quase 800 nós.

LinkedIn

O famoso site de marketing de mídia social LinkedIn usa a pilha ELK para monitorar o desempenho e a segurança. A equipe de TI integrou o ELK ao Kafka para suportar sua carga em tempo real. Sua operação ELK inclui mais de 100 clusters em seis data centers diferentes.

Tripwire:

Tripwire é um sistema mundial de gerenciamento de eventos de informações de segurança. A empresa usa ELK para dar suporte à análise do log de pacotes de informações.

Médio:

Medium é uma famosa plataforma de publicação de blogs. Eles usam a pilha ELK para depurar seus problemas de produção. A empresa também usa ELK para detectar hotpots do DynamoDB. Além disso, usando essa pilha, a empresa pode dar suporte a 25 milhões de leitores únicos, bem como milhares de postagens publicadas a cada semana.

Vantagens e desvantagens da pilha ELK

Vantagens

  • ELK funciona melhor quando os registros de vários aplicativos de uma empresa convergem em uma única instância ELK
  • Ele fornece insights incríveis para essa única instância e também elimina a necessidade de fazer login em centenas de fontes de dados de log diferentes
  • Instalação rápida no local
  • Escalas fáceis de implantar vertical e horizontalmente
  • Elastic oferece uma série de clientes de linguagem que inclui Ruby. Pitão. PHP, Perl, .NET, Java e JavaScript e muito mais
  • Disponibilidade de bibliotecas para diferentes linguagens de programação e script

Desvantagens

  • Diferentes componentes na pilha podem se tornar difíceis de manusear quando você passa para uma configuração complexa
  • Não há nada como tentativa e erro. Assim, quanto mais você faz, mais você aprende ao longo do caminho

Resumo

  • O registro centralizado pode ser útil ao tentar identificar problemas com servidores ou aplicativos
  • A pilha do servidor ELK é útil para resolver problemas relacionados ao sistema de registro centralizado
  • A pilha ELK é uma coleção de três ferramentas de código aberto Elasticsearch, Logstash Kibana
  • Elasticsearch é um banco de dados NoSQL
  • Logstash é a ferramenta de pipeline de coleta de dados
  • Kibana é uma visualização de dados que completa a pilha ELK
  • Em infraestruturas de ambiente baseado em nuvem, desempenho e isolamento são muito importantes
  • Em ELK a velocidade de processamento da pilha é estritamente limitada, enquanto Splunk oferece processos precisos e rápidos
  • Netflix, LinkedIn, Tripware, Medium, todos estão usando a pilha ELK para seus negócios
  • ELK Syslog funciona melhor quando os registros de vários aplicativos de uma empresa convergem em uma única instância ELK
  • Diferentes componentes na pilha podem se tornar difíceis de manusear quando você passa para uma configuração complexa

Consulte nosso Perguntas e respostas da entrevista do ElasticSearch para candidatos mais calmos e experientes.