Búsqueda elástica

Visualice los registros de Apache con ELK Stack

Visualice los registros de Apache con ELK Stack

Monitorear y analizar registros para varias infraestructuras en tiempo real puede ser un trabajo muy tedioso. Cuando se trata de servicios como servidores web que registran datos constantemente, el proceso puede ser muy complejo y casi imposible.

Como tal, saber cómo usar herramientas para monitorear, visualizar y analizar registros en tiempo real puede ayudarlo a rastrear y solucionar problemas y monitorear actividades sospechosas del sistema.

Este tutorial discutirá cómo puede utilizar una de las mejores herramientas de análisis y recopilación de registros en tiempo real: ELK. Con ELK, comúnmente conocido como Elasticsearch, Logstash y Kibana, puede recopilar, registrar y analizar datos de un servidor web apache en tiempo real.

¿Qué es ELK Stack??

ELK es un acrónimo que se utiliza para referirse a tres herramientas principales de código abierto: Elasticsearch, Logstash y Kibana.

Elasticsearch es una herramienta de código abierto desarrollada para encontrar coincidencias dentro de una gran colección de conjuntos de datos utilizando una selección de tipos y lenguajes de consulta. Es una herramienta ligera y rápida capaz de manejar terabytes de datos con facilidad.

Logstash El motor es un enlace entre el lado del servidor y Elasticsearch, lo que le permite recopilar datos de una selección de fuentes para Elasticsearch. Ofrece potentes API que se pueden integrar con aplicaciones desarrolladas en varios lenguajes de programación con facilidad.

Kibana es la pieza final de la pila ELK. Es una herramienta de visualización de datos que le permite analizar los datos visualmente y generar informes detallados. También ofrece gráficos y animaciones que pueden ayudarlo a interactuar con sus datos.

La pila ELK es muy poderosa y puede hacer cosas increíbles de análisis de datos.

Aunque los diversos conceptos que discutiremos en este tutorial le darán una buena comprensión de la pila ELK, considere la documentación para obtener más información.

Elasticsearch: https: // linkfy.a / Elasticsearch-Reference

Logstash: https: // linkfy.a / LogstashReference

Kibana: https: // linkfy.a / KibanaGuide

Cómo instalar Apache?

Antes de comenzar a instalar Apache y todas las dependencias, es bueno tener en cuenta algunas cosas.

Probamos este tutorial en Debian 10.6, pero también funcionará con otras distribuciones de Linux.

Dependiendo de la configuración de su sistema, necesita sudo o permisos de root.

La compatibilidad y la usabilidad de la pila ELK pueden variar según las versiones.

El primer paso es asegurarse de tener su sistema completamente actualizado:

sudo apt-get update
sudo apt-get upgrade

El siguiente comando es instalar el servidor web apache2. Si desea instalar un apache mínimo, elimine la documentación y las utilidades del comando a continuación.

sudo apt-get install apache2 apache2-utils apache2-doc -y
sudo service apache2 start

A estas alturas, debería tener un servidor Apache ejecutándose en su sistema.

Cómo instalar Elasticsearch, Logstash y Kibana?

Ahora necesitamos instalar la pila ELK. Instalaremos cada herramienta individualmente.

Elasticsearch

Comencemos por instalar Elasticsearch. Vamos a utilizar apt para instalarlo, pero puede obtener una versión estable desde la página de descarga oficial aquí:

https: // www.elástico.co / descargas / elasticsearch

Elasticsearch requiere Java para ejecutarse. Afortunadamente, la última versión viene con un paquete OpenJDK, lo que elimina la molestia de instalarlo manualmente. Si necesita realizar una instalación manual, consulte el siguiente recurso:

https: // www.elástico.co / guide / es / elasticsearch / reference / current / setup.html # jvm-version

En el siguiente paso, necesitamos descargar e instalar la clave de firma oficial de Elastic APT usando el comando:

wget -qO - https: // artefactos.elástico.co / GPG-KEY-elasticsearch | sudo apt-key add -

Antes de continuar, es posible que necesite un paquete apt-transport-https (necesario para paquetes servidos a través de https) antes de continuar con la instalación.

sudo apt-get install apt-transport-https

Ahora, agregue la información del repositorio de apt a las fuentes.lista.archivo d.

echo "deb https: // artefactos.elástico.co / paquetes / 7.x / apt main estable ”| sudo tee / etc / apt / sources.lista.d / elástico-7.X.lista

Luego actualice la lista de paquetes en su sistema.

sudo apt-get update

Instale Elasticsearch usando el siguiente comando:

sudo apt-get install elasticsearch

Una vez instalado Elasticsearch, inicie y habilite un inicio en el arranque con los comandos systemctl:

sudo systemctl daemon-reload
sudo systemctl habilitar elasticsearch.Servicio
sudo systemctl start elasticsearch

El servicio puede tardar un poco en iniciarse. Espere unos minutos y confirme que el servicio esté funcionando con el comando:

sudo systemctl status elasticsearch.Servicio

Con cURL, pruebe si la API de Elasticsearch está disponible, como se muestra en el resultado JSON a continuación:

curl -X GET "localhost: 9200 /?bonito"

"nombre": "debian",
"cluster_name": "elasticsearch",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
"versión" :
"numero 7.10.1 ",
"build_flavor": "predeterminado",
"build_type": "deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01: 00: 33.671820Z ",
"build_snapshot": falso,
"lucene_version": "8.7.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-beta1 "
,
"Tagline": "Ya sabes, para la búsqueda"

Cómo instalar Logstash?

Instale el paquete logstash usando el comando:

sudo apt-get install logstash

Cómo instalar Kibana?

Ingrese el siguiente comando para instalar kibana:

sudo apt-get install kibana

Cómo configurar Elasticsearch, Logstash y Kibana?

A continuación, se explica cómo configurar la pila ELK:

Cómo configurar Elasticsearch?

En Elasticsearch, los datos se ordenan en índices. Cada uno de estos índices tiene uno o más fragmentos. Un fragmento es un motor de búsqueda autónomo que se utiliza para manejar y administrar índices y consultas para un subconjunto en un clúster dentro de Elasticsearch. Un fragmento funciona como una instancia de un índice de Lucene.

La instalación predeterminada de Elasticsearch crea cinco fragmentos y una réplica para cada índice. Este es un buen mecanismo cuando está en producción. Sin embargo, en este tutorial, trabajaremos con un fragmento y sin réplicas.

Comience creando una plantilla de índice en formato JSON. En el archivo, estableceremos el número de fragmentos en una y cero réplicas para los nombres de índice coincidentes (fines de desarrollo).

En Elasticsearch, una plantilla de índice se refiere a cómo instruye a Elasticsearch en la configuración del índice durante el proceso de creación.

Dentro del archivo de plantilla json (index_template.json), ingrese las siguientes instrucciones:


"plantilla":"*",
"ajustes":
"índice":
"número_de_partidos": 1,
"número_de_replicas": 0


Usando cURL, aplique la configuración json a la plantilla, que se aplicará a todos los índices creados.

curl -X PUT http: // localhost: 9200 / _template / defaults -H 'Content-Type: application / json' -d @index_template.json
"reconocido": verdadero

Una vez aplicado, Elasticsearch responderá con una declaración reconocida: verdadera.

Cómo configurar Logstash?

Para que Logstash recopile registros de Apache, debemos configurarlo para que observe cualquier cambio en los registros mediante la recopilación, el procesamiento y luego el almacenamiento de los registros en Elasticsearch. Para que eso suceda, debe configurar la ruta de registro de recopilación en Logstash.

Comience creando la configuración de Logstash en el archivo / etc / logstash / conf.d / apache.conf

aporte
expediente
ruta => '/ var / www / * / logs / access.Iniciar sesión'
tipo => "apache"


filtro
grok
coincidencia => "mensaje" => "% COMBINEDAPACHELOG"


producción
elasticsearch

Ahora asegúrese de habilitar e iniciar el servicio logstash.

sudo systemctl habilitar logstash.Servicio
sudo systemctl iniciar logstash.Servicio

Cómo habilitar y configurar Kibana?

Para habilitar Kibana, edite la .archivo de configuración yml ubicado en / etc / kibana / kibana.yml. Busque las siguientes entradas y descomentelas. Una vez hecho esto, use systemctl para iniciar el servicio Kibana.

servidor.puerto: 5601
servidor.host: "localhost"
sudo systemctl habilitar kibana.service && sudo systemctl start kibana.Servicio

Kibana crea patrones de índice basados ​​en los datos procesados. Por lo tanto, debe recopilar registros con Logstash y almacenarlos en Elasticsearch, que Kibana puede usar. Use curl para generar registros desde Apache.

Una vez que tenga los registros de Apache, inicie Kibana en su navegador usando la dirección http: // localhost: 5601, que abrirá la página de índice de Kibana.

En general, debe configurar el patrón de índice utilizado por Kibana para buscar registros y generar informes. De forma predeterminada, Kibana usa el patrón de índice logstash *, que coincide con todos los índices predeterminados generados por Logstash.

Si no tiene ninguna configuración, haga clic en crear para comenzar a ver los registros.

Cómo ver los registros de Kibana?

A medida que continúe realizando solicitudes de Apache, Logstash recopilará los registros y los agregará a Elasticsearch. Puede ver estos registros en Kibana haciendo clic en la opción Descubrir en el menú de la izquierda.

La pestaña de descubrimiento le permite ver los registros a medida que el servidor los genera. Para ver los detalles de un registro, simplemente haga clic en el menú desplegable.

Leer y comprender los datos de los registros de Apache.

Cómo buscar registros?

En la interfaz de Kibana, encontrará una barra de búsqueda que le permite buscar datos utilizando cadenas de consulta.

Ejemplo: Estado: Activo

Obtenga más información sobre las cadenas de consulta ELK aquí:

https: // www.elástico.co / guide / es / elasticsearch / reference / 5.5 / query-dsl-query-string-query.html # query-string-syntax

Dado que estamos tratando con registros de Apache, una posible coincidencia es un código de estado. Por lo tanto, busque:

respuesta: 200

Este código buscará registros con el código de estado 200 (OK) y lo mostrará en Kibana.

Cómo visualizar registros?

Puede crear paneles visuales en Kibana seleccionando la pestaña Visualizar. Seleccione el tipo de panel para crear y seleccione su índice de búsqueda. Puede utilizar el valor predeterminado para realizar pruebas.

Conclusión

En esta guía, discutimos una descripción general de cómo usar la pila ELK para administrar registros. Sin embargo, hay más sobre estas tecnologías que este artículo puede cubrir. Recomendamos explorar por su cuenta.

Puertos de código abierto de motores de juegos comerciales
Las recreaciones gratuitas, de código abierto y de motores de juegos multiplataforma se pueden usar para jugar títulos de juegos antiguos y también al...
Los mejores juegos de línea de comandos para Linux
La línea de comandos no es solo su mayor aliado cuando usa Linux, también puede ser la fuente de entretenimiento porque puede usarla para jugar muchos...
Las mejores aplicaciones de mapeo de gamepad para Linux
Si te gusta jugar juegos en Linux con un gamepad en lugar de un sistema de entrada de teclado y mouse típico, hay algunas aplicaciones útiles para ti....