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

O que é a pilha ELK?

A Pilha ELK é uma coleção de três produtos de código aberto — Elasticsearch, Logstashe 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 específico.

  • E significa ElasticSearch: usado para armazenar logs
  • L significa LogStash: usado tanto para envio quanto para processamento e armazenamento de logs
  • K significa Kibana: é um ferramenta de visualização (uma interface web) que é hospedada através 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.

Pilha ELK Archiarquitetura

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

Aqui está a arquitetura simples da pilha ELK

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

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

Pilha ELK Archipalestra com Beats

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

Pilha ELK Archiarquitetura

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

O que é o Elasticsearch?

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

Elasticsearch também permite armazenar, pesquisar e analisar grandes volumes de dados. É usado principalmente como mecanismo subjacente para alimentar aplicativos que atendem aos requisitos de pesquisa. Ele foi adotado em plataformas de mecanismos de busca para aplicativos modernos da web e móveis. Além de uma pesquisa rápida, a ferramenta também oferece análises complexas e muitos recursos avançados.

Recursos da pesquisa elástica

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

Vantagens do Elasticsearch

  • Armazene dados sem esquema e também crie um esquema para seus dados
  • Manipule seus dados registro por registro com a ajuda de APIs multidocumentos
  • Execute a filtragem e a consulta de seus dados para obter insights
  • Baseado em Apache Lucene e fornece API RESTful
  • Fornece escalabilidade horizontal, confiabilidade e capacidade multilocatário para uso de indexação em tempo real para tornar a pesquisa mais rápida
  • Ajuda você a dimensionar vertical e horizontalmente

Termos importantes usados ​​no Elastic Search

Agora, neste tutorial do ELK, vamos aprender sobre os principais termos usados ​​no ElasticSearch:

INVERNO Uso
Cluster Um cluster é uma coleção de nós que juntos armazenam dados e fornecem indexação conjunta e recursos de pesquisa.
Node Um nó é uma instância do elasticsearch. Ele é criado quando uma instância do elasticsearch é iniciada.
Índice Um índice é uma coleção de documentos que possuem características semelhantes. por exemplo, dados do cliente, catálogo de produtos. É muito útil ao realizar operações de indexação, pesquisa, atualização e exclusão. Ele permite definir quantos índices em um único cluster.
ISO É a unidade básica de informação que pode ser indexada. É expresso no par JSON (chave: valor). '{“usuário”: “nullcon”}'. Cada documento está associado a um tipo e um ID exclusivo.
Estilhaço Cada índice pode ser dividido em vários fragmentos para poder distribuir 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 é o 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.

Logstash pode unificar dados de fontes diferentes e normalizar os dados nos destinos desejados. Ele permite limpar e democratizar todos os seus dados para análise e visualização de casos de uso.

Consiste em três componentes:

  • Entrada: passando logs para processá-los em formato compreensível por máquina
  • Filtros: É um conjunto de condições para realizar uma determinada ação ou evento
  • saída: Tomador de decisão para evento ou log processado

Características do Logstash

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

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

Vantagem de Logstash

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

O que é Kibana?

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

Ele pode ser usado para pesquisar, visualizar e interagir com dados armazenados em diretórios Elasticsearch. Kibana ajuda você a ter um desempenho avançado análise de dados e visualize seus dados em diversas 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 pesquisa Uso
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 próximos a caracteres específicos.

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

Características do Kinbana:

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

Vantagens e desvantagens do Kinbana

  • Fácil visualização
  • Totalmente integrado ao Elasticsearch
  • Ferramenta de visualização
  • Oferece recursos de análise, gráficos, resumo e depuração em tempo real
  • Fornece interface instintiva e amigável
  • Permite o compartilhamento de instantâneos dos logs pesquisados
  • Permite salvar o painel e gerenciar vários painéis

Por que análise de log?

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

Plataforma de gerenciamento de logs 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 (Amazon serviços web).

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

ELK x Splunk

alce Splunk
Elk é uma ferramenta de código aberto Splunk é uma ferramenta comercial.
Elk stack não oferece Solaris Portabilidade por causa do Kibana. Ofertas do Splunk Solaris Portabilidade
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 em nuvem.
Na pesquisa ELK, a análise e visualização só serão possíveis após a configuração da pilha ELK. 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

Netflix depende fortemente da pilha ELK. A empresa que usa a pilha ELK para monitorar e analisar o log de segurança da operação de atendimento ao cliente. Ele permite indexar, armazenar e pesquisar 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 desempenho e segurança. A equipe de TI integrou o ELK ao Kafka para dar suporte à 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 de 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 DynamoDB panelas quentes. Além disso, usando essa pilha, a empresa pode suportar 25 milhões de leitores únicos, bem como milhares de postagens publicadas por semana.

Vantagens e desvantagens da pilha ELK

Diferenciais

  • O ELK funciona melhor quando os logs de vários aplicativos de uma empresa convergem em uma única instância do ELK
  • Ele fornece insights incríveis para esta ú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
  • Fácil de implantar Escalável verticalmente e horizontalmente
  • A Elastic oferece uma série de clientes de linguagem que incluem Ruby. Python. PHP, Perl, .NET, Java e JavaRoteiro e 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 configurações complexas
  • 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 de servidores 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 baseadas em nuvem, o desempenho e o isolamento são muito importantes
  • Na pilha ELK, a velocidade de processamento é estritamente limitada, enquanto Splunk oferece processos precisos e rápidos
  • Netflix, LinkedIn, Tripware, Medium estão usando a pilha ELK para seus negócios
  • O ELK Syslog funciona melhor quando os logs de vários aplicativos de uma empresa convergem em uma única instância do ELK
  • Diferentes componentes na pilha podem se tornar difíceis de manusear quando você passa para configurações complexas

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