Yuxian: socio de contenido de CSDN, nuevo mentor estrella de CSDN, creador estrella creativo 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 un acrónimo de un grupo de software de código abierto, que incluye Elasticsearch, Logstash y Kibana. ELK se utiliza ampliamente para la recopilación y el análisis de registros y su principio de funcionamiento es el siguiente:
- Recopilación y transferencia de datos.
Logstash es una herramienta de recopilación y transmisión de datos en ELK, que puede recopilar datos de varias fuentes de datos (como archivos, redes, bases de datos, etc.) y transmitirlos a Elasticsearch.
- Almacenamiento y búsqueda de datos
Elasticsearch es un motor de análisis y búsqueda distribuido que puede almacenar y buscar grandes cantidades de datos estructurados y no estructurados. En ELK, Elasticsearch se utiliza para almacenar y buscar datos de registro.
- Visualización y análisis de datos
Kibana es una plataforma de visualización de datos basada en web que ayuda a los usuarios a crear paneles e informes interactivos de forma rápida y sencilla, así como a realizar exploración y análisis de datos. En ELK, Kibana se utiliza para mostrar y analizar datos de registro almacenados en Elasticsearch.
La recopilación y el análisis de registros de ELK se pueden aplicar a varios escenarios, como por ejemplo:
-
Recopilación y análisis de registros de aplicaciones
-
Monitoreo y diagnóstico de Syslog
-
Análisis y monitoreo del tráfico de red.
-
Análisis del registro de eventos de seguridad
-
Monitoreo y análisis del desempeño de la infraestructura.
Las siguientes son algunas interfaces API ELK de uso común:
-
PUT /_ingest/pipeline/{pipeline_id}: crea una canalización de ingesta. Ingest Pipeline es un canal de procesamiento de datos que convierte datos del formato de origen al formato de destino.
-
POST /_bulk: envío por lotes de varios documentos a Elasticsearch.
-
GET /_search: busca documentos en Elasticsearch según las condiciones de la consulta.
-
GET /_cat/indices: enumera todos los índices.
-
GET /_cat/nodes: enumera todos los nodos.
Aquí hay algunos enlaces a literatura y materiales relacionados con la recopilación y el análisis de registros ELK:
-
Documentación oficial de ELK: Bienvenido a Elastic Docs | Elastic
-
Repositorio ELK GitHub: GitHub elástico
-
Tutorial de recopilación y análisis de registros de ELK: Bienvenido a Elastic Docs | Elastic
-
Caso de escenario de aplicación ELK: Historias de éxito de clientes de Elasticsearch | Clientes Elastic
-
Documentación de la API de ELK: Guía de Elasticsearch [8.9] | Elastic
El siguiente es un ejemplo de implementación de recopilación y análisis de registros ELK:
- Preparación
Primero, es necesario instalar Elasticsearch, Logstash y Kibana. Puede descargar la última versión del paquete ELK desde el sitio web oficial y luego seguir la documentación oficial para instalarlo y configurarlo.
- Crear un archivo de configuración de Logstash
En Logstash, es necesario crear un archivo de configuración para definir fuentes de datos y canalizaciones de procesamiento de datos. El siguiente es un ejemplo de un archivo de configuración de Logstash simple:
input {
file {
path => "/var/log/syslog"
}
}
filter {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:host} %{DATA:program}(?:\[%{POSINT:pid}\])?: %{GREEDYDATA:message}" }
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "syslog-%{+YYYY.MM.dd}"
}
}
Este archivo de configuración recopila datos del archivo de registro del sistema /var/log/syslog y utiliza el complemento Grok para analizar los mensajes de registro. Luego, los datos analizados se canalizan a Elasticsearch con cadenas con formato de fecha como nombres de índice.
- Iniciar Logstash
Al iniciar Logstash, debe especificar la ruta del archivo de configuración. Después de instalar Logstash, puede iniciar Logstash con el siguiente comando:
bin/logstash -f /path/to/logstash.conf
- Crear un panel de Kibana
En Kibana, puede crear un panel para mostrar y analizar los datos de registro almacenados en Elasticsearch. A continuación se muestra un ejemplo de un panel de Kibana simple:
-
Crear un nuevo panel
-
Agregue una fuente de datos y seleccione un índice para almacenar datos de registro
-
Agregue un histograma y seleccione los campos y métodos de agregación que se mostrarán
-
Agregue un filtro y seleccione los campos y condiciones que deben filtrarse
-
Guarde el panel, al que luego se puede acceder a través de Kibana para exploración y análisis de datos.
Lo anterior es una implementación de muestra simple de la recopilación y el análisis de registros ELK, que se puede modificar y ampliar según las necesidades reales.