Yuxian: socio de contenido de CSDN, mentor de estrella en ascenso de CSDN, creador de estrella en ascenso en el campo de pila completa, 51CTO (celebridad destacada + blogger experto), entusiasta del código abierto de github (desarrollo secundario de código fuente go-zero, arquitectura back-end de juegos https: https //github.com/Peakchen)
ELK es una plataforma de visualización y procesamiento de datos compuesta por tres componentes de código abierto: Elasticsearch, Logstash y Kibana. La siguiente es una explicación detallada de estos componentes y una introducción al uso de interfaces relacionadas:
- búsqueda elástica
Elasticsearch es un motor de análisis y búsqueda distribuido basado en el motor de búsqueda Lucene. Puede manejar datos a gran escala, admite búsqueda y análisis en tiempo real y proporciona una interfaz API RESTful.
Las principales características de Elasticsearch incluyen:
- Almacenamiento y procesamiento de datos distribuidos
- Búsqueda y análisis en tiempo real
- Soporte para múltiples inquilinos
- Alta disponibilidad y tolerancia a fallos
- Búsqueda y análisis geoespacial.
La interfaz API RESTful de Elasticsearch incluye:
- API de gestión de índices
- API de gestión de documentos
- API de búsqueda
- API de agregación
- API de administración
escenas a utilizar:
- Búsqueda y análisis en tiempo real
- Gestión y análisis de registros.
- Sistema de búsqueda y recomendación de sitios web de comercio electrónico.
- Logstash
Logstash es un recopilador de datos de código abierto que recopila, procesa y transforma datos de diversas fuentes. Admite múltiples formatos de entrada y salida y proporciona complementos de filtro enriquecidos.
Las características principales de Logstash incluyen:
- Recopilación y transferencia de datos.
- Filtrado y transformación de datos.
- Múltiples formatos de entrada y salida soportados
- Capacidad de expansión de complementos
Los complementos de Logstash incluyen:
- Complemento de entrada
- complemento de filtro
- complemento de salida
escenas a utilizar:
- Recopilación y procesamiento de registros
- Transferencia y conversión de datos.
- Manejo y reenvío de eventos
- kibana
Kibana es una herramienta de visualización de datos de código abierto que se puede integrar con Elasticsearch para proporcionar capacidades de visualización y análisis de datos en tiempo real. Admite múltiples tipos de visualización y proporciona capacidades avanzadas de consulta y análisis.
Las características principales de Kibana incluyen:
- Visualización y análisis de datos en tiempo real.
- Se admiten múltiples tipos de visualización
- Funciones de consulta y análisis.
- Gestión de usuarios y control de permisos.
Los tipos de visualización de Kibana incluyen:
- Gráfico de linea
- gráfico de barras
- Gráfico circular
- mapa de calor
- mapa
escenas a utilizar:
- Visualización y análisis de datos en tiempo real.
- Monitoreo y análisis de datos comerciales.
- Análisis y respuesta a incidentes de seguridad.
Enlaces de material literario:
-
Documentación oficial de Elasticsearch: Guía de Elasticsearch [8.9] | Elastic
-
Documentación oficial de Logstash: Referencia de Logstash [8.9] | Elástico
-
Documentación oficial de Kibana: Guía Kibana [8.9] | Elástico
-
Comunidad china Elastic Stack: Comunidad china elástica
-
La guía definitiva de Elasticsearch (versión china): Elasticsearch: La guía definitiva | Elastic
-
Lista de complementos de Logstash: https://www.elastic.co/guide/en/logstash/current/plugins-list.html
-
Centro de complementos de Kibana: https://www.elastic.co/guide/en/kibana/current/plugins.html
A continuación se muestra un ejemplo de implementación de visualización de datos utilizando ELK:
- fuente de datos
Utilice Logstash para recopilar registros de acceso de una aplicación web y enviar los datos de registro a Elasticsearch.
Ejemplo de archivo de configuración de 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}"
}
}
- Panel de visualización
Cree un panel de visualización en Kibana que muestre la cantidad de solicitudes por minuto y el tiempo de respuesta.
-
Seleccione la pestaña "Visualizar" y luego seleccione el botón "Crear una nueva visualización".
-
Seleccione el tipo de visualización "Gráfico de líneas" y seleccione el modo de índice "webapp-access-*".
-
Agregue dos agregaciones en el diseñador visual, seleccione la pestaña "Eje Y" y seleccione "Agregación" como "Recuento" y "Promedio", correspondientes al número de solicitudes y el tiempo de respuesta, respectivamente.
-
Seleccione la pestaña "Eje X" en el diseñador visual y seleccione "Histograma de fecha" como "Agregación", "Campo" como "@timestamp" e "Intervalo" como "1m".
-
Seleccione el botón "Aplicar cambios" en el diseñador visual y obtenga una vista previa de los resultados.
- La generación del informe
Utilice el generador de informes de Kibana para crear un informe en formato PDF que contenga el acceso a la aplicación web del día anterior.
-
Seleccione la pestaña "Informes" y luego seleccione el botón "Crear un nuevo informe".
-
Seleccione el modo de índice "webapp-access-*" en el diseñador de informes y seleccione el componente visual "Gráfico de líneas".
-
Seleccione la pestaña "Exportar" en el diseñador de informes y seleccione el formato "PDF".
-
Seleccione el botón "Generar informe" en el diseñador de informes y espere a que se complete la generación del informe.
-
Seleccione el botón Descargar en el diseñador de informes y descargue el informe generado.
Lo anterior es un ejemplo de implementación del uso de ELK para la visualización de datos, incluido el uso de Logstash para recopilar registros de acceso a aplicaciones web y el uso de Kibana para crear paneles de visualización e informes.