Yuxian: parceiro de conteúdo CSDN, novo mentor estrela CSDN, criador estrela criativo full-stack, 51CTO (celebridade + blogueiro especialista), entusiasta de código aberto github (desenvolvimento secundário de código-fonte zero, arquitetura back-end de jogo https: //github .com/Peakchen)
ELK é uma plataforma de processamento e visualização de dados composta por três componentes de código aberto: Elasticsearch, Logstash e Kibana. A seguir está uma explicação detalhada desses componentes e uma introdução ao uso de interfaces relacionadas:
- Elasticsearch
Elasticsearch é um mecanismo distribuído de pesquisa e análise baseado no mecanismo de pesquisa Lucene. Ele pode lidar com dados em grande escala, oferece suporte a pesquisa e análise em tempo real e fornece uma interface API RESTful.
Os principais recursos do Elasticsearch incluem:
- Armazenamento e processamento distribuído de dados
- Pesquisa e análise em tempo real
- Suporte multilocatário
- Alta disponibilidade e tolerância a falhas
- Pesquisa e análise geoespacial
A interface RESTful API do Elasticsearch inclui:
- API de gerenciamento de índice
- API de gerenciamento de documentos
- API de pesquisa
- API de agregação
- API de gerenciamento
cenas a serem usadas:
- Pesquisa e análise em tempo real
- Gerenciamento e análise de logs
- Sistema de pesquisa e recomendação de sites de comércio eletrônico
- Logstash
Logstash é um coletor de dados de código aberto que coleta, processa e transforma dados de diversas fontes. Ele suporta vários formatos de entrada e saída e fornece plug-ins de filtro avançados.
Os principais recursos do Logstash incluem:
- Coleta e transferência de dados
- Filtragem e transformação de dados
- Vários formatos de entrada e saída suportados
- Capacidades de expansão de plug-ins
Os plug-ins do Logstash incluem:
- Plug-in de entrada
- plug-in de filtro
- plug-in de saída
cenas a serem usadas:
- Coleta e processamento de logs
- Transferência e conversão de dados
- Tratamento e encaminhamento de eventos
- Kibana
Kibana é uma ferramenta de visualização de dados de código aberto que pode ser integrada ao Elasticsearch para fornecer análise de dados e recursos de visualização em tempo real. Ele oferece suporte a vários tipos de visualização e fornece recursos avançados de consulta e análise.
Os principais recursos do Kibana incluem:
- Visualização e análise de dados em tempo real
- Vários tipos de visualização suportados
- Funções de consulta e análise
- Gerenciamento de usuários e controle de permissões
Os tipos de visualização do Kibana incluem:
- gráfico de linha
- gráfico de barras
- gráfico de pizza
- mapa de calor
- mapa
cenas a serem usadas:
- Visualização e análise de dados em tempo real
- Monitoramento e análise de dados de negócios
- Análise e resposta a incidentes de segurança
Links de materiais de literatura:
-
Documentação oficial do Elasticsearch: Guia do Elasticsearch [8.9] | Elastic
-
Documentação oficial do Logstash: Referência do Logstash [8.9] | Elastic
-
Documentação oficial do Kibana: Guia do Kibana [8.9] | Elastic
-
Comunidade Chinesa do Elastic Stack: Comunidade Chinesa do Elastic
-
O guia definitivo para Elasticsearch (versão chinesa): Elasticsearch: The Definitive Guide | Elastic
-
Lista de plug-ins do Logstash: https://www.elastic.co/guide/en/logstash/current/plugins-list.html
-
Centro de plug-ins do Kibana: https://www.elastic.co/guide/en/kibana/current/plugins.html
Aqui está um exemplo de implementação de visualização de dados usando ELK:
- fonte de dados
Use o Logstash para coletar logs de acesso de uma aplicação web e enviar os dados de log para o Elasticsearch.
Exemplo de arquivo de configuração do Logstash:
input {
file {
path => "/var/log/nginx/access.log"
start_position => "beginning"
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "webapp-access-%{+YYYY.MM.dd}"
}
}
- Painel de visualização
Crie um painel de visualização no Kibana que exiba o número de solicitações por minuto e o tempo de resposta.
-
Selecione a guia "Visualizar" e, em seguida, selecione o botão "Criar uma nova visualização".
-
Selecione o tipo de visualização "Gráfico de linhas" e selecione o modo de índice "webapp-access-*".
-
Adicione duas agregações no designer visual, selecione a guia "Eixo Y" e selecione "Agregação" como "Contagem" e "Média", correspondendo ao número de solicitações e ao tempo de resposta, respectivamente.
-
Selecione a guia "Eixo X" no designer visual e selecione "Histograma de data" como "Agregação", selecione "Campo" como "@timestamp" e selecione "Intervalo" como "1m".
-
Selecione o botão "Aplicar alterações" no designer visual e visualize os resultados.
- Geração de relatório
Use o gerador de relatórios do Kibana para criar um relatório em formato PDF que contenha o acesso ao aplicativo web do dia anterior.
-
Selecione a guia "Relatórios" e, em seguida, selecione o botão "Criar um novo relatório".
-
Selecione o modo de índice "webapp-access-*" no designer de relatórios e selecione o componente visual "Gráfico de linhas".
-
Selecione a guia “Exportar” no designer de relatórios e selecione o formato “PDF”.
-
Selecione o botão "Gerar relatório" no designer de relatórios e aguarde a conclusão da geração do relatório.
-
Selecione o botão Baixar no designer de relatório e baixe o relatório gerado.
O exemplo acima é um exemplo de implementação de visualização de dados usando ELK, incluindo o uso do Logstash para coletar logs de acesso a aplicativos da web e o uso do Kibana para criar painéis de visualização e relatórios.