GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Tutorial de ELK Stack:Introducción a Elasticsearch, Logstash, Kibana y Beats

Introducción

Pila elástica , anteriormente conocido como ELK pila , es un conjunto popular de herramientas para ingerir, ver y administrar archivos de registro. Como software de código abierto, puede descargarlo y usarlo de forma gratuita (aunque también hay disponibles versiones de pago y alojadas en la nube).

Este tutorial presenta el uso y la funcionalidad básicos de ELK Stack.

Requisitos previos

  • Un sistema con Elasticsearch instalado

¿Qué es ELK Stack?

ELK significa Elasticsearch, Logstash y Kibana. En versiones anteriores, los componentes principales de ELK Stack eran:

  • Búsqueda elástica – El componente central de ELK. Funciona como una base de datos de búsqueda de archivos de registro.
  • Almacenamiento de registros – Una canalización para recuperar datos. Se puede configurar para recuperar datos de muchas fuentes diferentes y luego enviarlos a Elasticsearch.
  • Kibana – Una herramienta de visualización. Utiliza una interfaz de navegador web para organizar y mostrar datos.

Paquetes de software adicionales llamados Beats son una adición más reciente. Estas son aplicaciones de recopilación de datos más pequeñas, especializadas para tareas individuales. Hay muchas aplicaciones diferentes de Beats para diferentes propósitos. Por ejemplo, Filebeat se utiliza para recopilar archivos de registro, mientras que Packetbeat se utiliza para analizar el tráfico de red.

Debido al rápido crecimiento de las siglas ELK, Elastic Stack se convirtió en la opción más satisfactoria y escalable para el nombre. Sin embargo, ELK y Elastic Stack se usan indistintamente.

¿Por qué usar la pila ELK?

La pila ELK crea un entorno de análisis de datos flexible y confiable. Las organizaciones, especialmente aquellas con infraestructuras basadas en la nube, se benefician de la implementación de la pila elástica para abordar los siguientes problemas:

  • Trabajar en varios servidores y aplicaciones crea grandes cantidades de datos de registro, que no son legibles para los humanos. La pila ELK sirve como una poderosa plataforma centralizada para recolectar y administrar información no estructurada , convirtiéndolo en activos útiles en el proceso de toma de decisiones.
  • La pila de ELK con funciones básicas es de código abierto, lo que la convierte en una rentable solución para empresas emergentes y establecidas por igual.
  • La pila de Elastic proporciona una plataforma robusta para la supervisión del rendimiento y la seguridad, lo que garantiza un tiempo de actividad máximo y cumplimiento de la normativa .

La pila elástica aborda la brecha de la industria con datos de registro. El software puede analizar de manera confiable datos de múltiples fuentes en una base de datos centralizada escalable, lo que permite el análisis histórico y en tiempo real.

¿Cómo funciona la pila elástica?

La pila elástica sigue ciertos pasos lógicos, todos los cuales son configurables.

1. Una computadora o servidor crea archivos de registro. Todas las computadoras tienen archivos de registro que documentan eventos en el sistema en un formato difícil de leer. Algunos sistemas, como los clústeres de servidores, generan cantidades masivas de archivos de registro.

Sin embargo, Elastic Stack está diseñado para ayudar a administrar cantidades escalables de datos.

2. Los distintos archivos de información disponibles son recopilados por un Beats solicitud. Diferentes ritmos llegar a diferentes partes del servidor, leer los archivos y enviarlos.

Algunos usuarios pueden omitir Beats por completo y usar Logstash directamente. Otros pueden conectar Beats directamente a Elasticsearch.

3. Almacenamiento de registros está configurado para comunicarse y recopilar datos de los diferentes Beats aplicaciones (o directamente de varias fuentes).

En configuraciones más grandes, Logstash puede filtrar datos de varios sistemas y recopilar la información en una sola ubicación.

4. Búsqueda elástica se utiliza como una base de datos escalable y con capacidad de búsqueda para almacenar datos. Búsqueda elástica es el almacén donde Logstash o Latidos canalizar todos los datos.

5. Finalmente, Kibana proporciona una interfaz fácil de usar para que pueda revisar los datos que se han recopilado.

Es altamente configurable, por lo que puede ajustar las métricas para que se ajusten a sus necesidades. Kibana también proporciona gráficos y otras herramientas para visualizar e interpretar patrones en los datos.

Aplicaciones compatibles con ELK Stack

Las aplicaciones adicionales de terceros mejoran el Elastic Stack, lo que brinda posibilidades de casos de uso más amplias. Algunas aplicaciones externas compatibles con la pila ELK son:

  • Apache Kafka

Kafka es una plataforma de distribución de transmisión en tiempo real. Eso significa que puede leer múltiples fuentes de datos a la vez. Kafka actúa como un búfer de datos y ayuda a evitar la pérdida o interrupción de datos mientras se transmiten archivos rápidamente.

  • Redis

Redis es una base de datos de clave-valor NoSQL con increíbles velocidades de lectura/escritura y varios tipos de datos. Cuando se agrega a la pila de Elastic, Redis a menudo sirve como un búfer para los picos de transmisión de datos, lo que garantiza que no se pierdan datos.

  • Hadoop

Hadoop es un sistema de almacenamiento de datos de procesamiento por lotes masivo. La indexación de datos de Hadoop en el motor de Elasticsearch en tiempo real crea una plataforma interactiva bidireccional de descubrimiento y visualización de datos.

El soporte de Hadoop viene a través de Elasticsearch-Hadoop Connector, que ofrece soporte completo para Spark, Streaming, Hive, Storm, MapReduce y otras herramientas.

  • MQ de conejo

RabbitMQ es una plataforma de mensajería. Los usuarios de Elastic Stack utilizan este software para crear una cola estable y almacenada en búfer de archivos de registro.

  • Nginx

Nginx es mejor conocido como un servidor web que también se puede configurar como un proxy inverso. Se puede usar para administrar el tráfico de la red o para crear un búfer de seguridad entre su servidor e Internet.

Ventajas y desventajas de la pila ELK

La pila de Elastic viene con ciertos beneficios y desventajas.

Ventajas

  • La pila elástica y los componentes se pueden probar y usar de forma gratuita.
  • ELK ofrece numerosas opciones de alojamiento, ya sea en las instalaciones o implementado como un servicio administrado.
  • La capacidad de centralizar el registro desde entornos de nube complejos permite realizar búsquedas avanzadas y crear correlaciones de múltiples fuentes en una sola plataforma.
  • El análisis y la visualización en tiempo real reducen el tiempo necesario para descubrir información, lo que permite un seguimiento continuo.
  • Soporte de cliente para múltiples lenguajes de programación, incluidos JavaScript, Python, Perl, Go, etc.

Desventajas

  • La implementación de la pila es un proceso complejo y depende de los requisitos. Consulte nuestro tutorial para implementar Elastic Stack en Kubernetes.
  • Hacer crecer y mantener la pila ELK es costoso y requiere computación y almacenamiento de datos en función del volumen de datos y el tiempo de almacenamiento.
  • La estabilidad y el tiempo de actividad se vuelven problemáticos a medida que crecen los volúmenes de datos debido a la inexistencia de límites de indexación.
  • La retención y el archivo de datos requieren varios nodos, potencia informática y recursos en general.

Descripción general de búsqueda elástica

Elasticsearch es el núcleo del Elastic Stack. Tiene dos trabajos principales:

  • Almacenamiento e indexación de datos.
  • Motor de búsqueda para recuperar datos.

Los detalles técnicos de Elasticsearch incluyen:

  • Compatibilidad robusta con lenguajes de programación para clientes (Java, PHP, Ruby, C#, Python).
  • Utiliza una API REST:las aplicaciones escritas para Elasticsearch tienen una excelente compatibilidad con las aplicaciones web.
  • Resultados receptivos:los usuarios ven los datos casi en tiempo real.
  • Arquitectura distribuida:Elasticsearch puede ejecutarse y conectarse entre muchos servidores diferentes. El Elastic Stack puede escalar fácilmente a medida que crece la infraestructura.
  • Indización invertida:Elasticsearch indexa por palabras clave, como el índice de un libro. Esto ayuda a acelerar las consultas a grandes conjuntos de datos.
  • Fragmentos:si sus datos son demasiado grandes para su servidor, Elasticsearch puede dividirlos en subconjuntos llamados Fragmentos .
  • No relacional (NoSQL):Elasticsearch utiliza una base de datos no relacional para liberarse de las limitaciones del almacenamiento de datos estructurados/tabulares.
  • Apache Lucene:este es el motor de búsqueda base en el que se basa Elasticsearch.

Resumen de Logstash

Logstash es una herramienta para recopilar y clasificar datos de diferentes fuentes. Logstash puede comunicarse con un servidor remoto, recopilar un conjunto específico de registros e importarlos a Elasticsearch.

Puede ordenar, filtrar y organizar datos. Además, incluye varias configuraciones predeterminadas, o puede crear la suya propia. Esto es especialmente útil para estructurar datos de manera uniforme (o legible).

Características técnicas de Logstash:

  • Acepta una amplia gama de fuentes y formatos de datos:esto ayuda a consolidar diferentes conjuntos de datos en una ubicación central.
  • Manipula los datos en tiempo real:a medida que se leen los datos de las fuentes, Logstash los analiza y los reestructura de inmediato.
  • Salida flexible:Logstash está diseñado para Elasticsearch, pero como muchos proyectos de código abierto, se puede reconfigurar para exportar a otras utilidades.
  • Compatibilidad con complementos:se puede agregar una amplia gama de complementos para mejorar las funciones de Logstash.

Descripción general de Kibana

Puede usar Elasticsearch desde una línea de comandos con solo tenerlo instalado. Pero Kibana le brinda una interfaz gráfica para generar y mostrar datos de manera más intuitiva.

Estos son algunos de los detalles técnicos:

  • Interfaz de tablero:configure gráficos, fuentes de datos y métricas de un vistazo.
  • Menús configurables:cree visualizaciones de datos y menús para navegar o explorar conjuntos de datos rápidamente.
  • Complementos:agregar complementos como Canvas le permite agregar vistas estructuradas y monitoreo en tiempo real a su interfaz gráfica.

Aprenda a usar Kibana en nuestra guía Tutorial completo de Kibana para visualizar y consultar datos.

Resumen de latidos

Beats se ejecuta en el sistema que supervisa. Recopila y envía datos a un destino, como Logstash o Elasticsearch.

Puede usar Beats para importar datos directamente a Elasticsearch si está ejecutando un conjunto de datos más pequeño.

Alternativamente, Beats se puede usar para dividir los datos en flujos manejables, luego se analizan en Logstash, para que Elasticsearch los lea.

Para un solo servidor, puede instalar Elasticsearch, Kibana y algunos Beats. Cada Beats recopila datos y los envía a Elasticsearch. Luego ve los resultados en Kibana.

Como alternativa, puede instalar Beats en varios servidores remotos y luego configurar Logstash para recopilar y analizar los datos de los servidores. Esos datos se envían a Elasticsearch y luego se vuelven visibles en Kibana.

Casos de uso de la pila ELK

El monitoreo de registros en tiempo real de varios recursos proporciona a la pila de Elastic muchos casos de uso creativo.

  • Supervisión y alertas de seguridad . Un sistema de monitoreo y alerta del servidor es una aplicación de seguridad importante para la pila ELK. Verificar solicitudes inusuales o detectar ataques al servidor con un sistema de alerta en tiempo real puede ayudar a mitigar los daños tan pronto como aparezcan.
  • Soluciones de comercio electrónico . Las búsquedas de texto completo, la indexación, las agregaciones y las respuestas rápidas crean una mejor experiencia de usuario. Supervisar visualmente las tendencias y los comportamientos de búsqueda ayuda a mejorar el análisis de tendencias.
  • Raspado web . La capacidad de recopilar, indexar y buscar a través de datos no estructurados de diversas fuentes simplifica la recopilación y visualización de información extraída de la web.
  • Monitoreo de tráfico . El monitoreo de los datos de tráfico del sitio web ayuda a indicar que un servidor está sobrecargado. Implemente una aplicación de balanceo de carga (como Nginx) para cambiar el tráfico a otros servidores.
  • Detección de errores . Si está implementando una nueva aplicación, puede monitorear los errores de esa aplicación. Estos pueden ayudar a identificar rápidamente áreas para corregir errores o mejorar el diseño de la aplicación.

Elastic Stack genera datos que puedes usar para resolver problemas y tomar decisiones comerciales acertadas.


Ubuntu
  1. Instalación de la pila ELK en Ubuntu 14.04

  2. Cómo instalar Elasticsearch, Logstash y Kibana 4 en Ubuntu 14.04 / 15.04

  3. Una introducción al monitoreo usando ELK Stack

  4. ¿Cómo empezar con las traducciones?

  5. ¿Cómo empezar con Juju?

Cómo instalar Elasticsearch, Logstash y Kibana (ELK Stack) en Ubuntu 18.04/Ubuntu 16.04

Cómo instalar ELK Stack en Ubuntu 18.04

Tutorial de Podman:comience a usar Podman

Cómo instalar ELK Stack (Elasticsearch, Logstash y Kibana) en Ubuntu 20.04

Cómo instalar ELK Stack en Ubuntu 18.04 LTS

Cómo instalar Elasticsearch Logstash Kibana (Elastic Stack) en Ubuntu 18.04

    Golpe Captura de datos Descripción
    Auditbeat Datos de auditoría Una versión mejorada de Linux auditd. Puede interactuar directamente con su sistema Linux en lugar de auditd proceso. Si ya tiene reglas auditadas, Auditbeat las leerá de su configuración existente.
    Filebeat Archivos de registro Lee y envía archivos de registro del sistema. Es útil para los registros del servidor, como eventos de hardware o registros de aplicaciones.
    Functionbeat Datos en la nube Envía datos desde una infraestructura sin servidor o en la nube. Si ejecuta un servicio alojado en la nube, utilícelo para recopilar datos de la nube y exportarlos a Elasticsearch.
    Latido del corazón Disponibilidad Muestra el tiempo de actividad y el tiempo de respuesta. Use esto para vigilar servidores críticos u otros sistemas, para asegurarse de que estén funcionando y disponibles.
    Journalbeat Revistas Systemd Reenvía, centraliza y envía registros diarios de systemd.
    Metricbeat Métricas Lee datos métricos:uso de CPU, memoria, uso de disco, ancho de banda de la red. Use esto como un monitor de recursos del sistema sobrealimentado.
    Packetbeat Tráfico de red Analiza el tráfico de red. Úselo para monitorear la latencia y la capacidad de respuesta, o los patrones de uso y tráfico.
    Winlogbeat Registros de eventos de Windows Envía datos del registro de eventos de Windows. Seguimiento de eventos de inicio de sesión, eventos de instalación, incluso errores de hardware o aplicaciones.