Introducción
Beats es una plataforma de agentes de datos ligeros que envían datos desde cientos o miles de máquinas a Logstash o Elasticsearch. Los Beats son componentes clave en el ecosistema de Elastic Stack, permitiendo la recolección de datos de diversas fuentes y su envío a Elasticsearch para su indexación y análisis.
Objetivos del Módulo
- Comprender qué son los Beats y su papel en el ecosistema de Elastic Stack.
- Aprender a instalar y configurar diferentes tipos de Beats.
- Integrar Beats con Elasticsearch para la recolección y análisis de datos.
¿Qué son los Beats?
Beats son agentes ligeros que se instalan en servidores para recolectar datos y enviarlos a Elasticsearch o Logstash. Existen varios tipos de Beats, cada uno especializado en un tipo de datos específico:
- Filebeat: Recolecta y envía archivos de log.
- Metricbeat: Recolecta métricas del sistema y de servicios.
- Packetbeat: Recolecta datos de red.
- Winlogbeat: Recolecta logs de eventos de Windows.
- Auditbeat: Recolecta datos de auditoría del sistema.
- Heartbeat: Monitorea la disponibilidad de servicios.
Instalación de Beats
Requisitos Previos
- Tener Elasticsearch y Kibana instalados y en funcionamiento.
- Acceso a la máquina donde se instalarán los Beats.
Instalación de Filebeat
-
Descargar e instalar Filebeat:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.0-amd64.deb sudo dpkg -i filebeat-7.10.0-amd64.deb
-
Configurar Filebeat: Edita el archivo de configuración
filebeat.yml
para especificar las rutas de los archivos de log y el destino (Elasticsearch o Logstash).filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log output.elasticsearch: hosts: ["localhost:9200"]
-
Iniciar Filebeat:
sudo service filebeat start
Instalación de Metricbeat
-
Descargar e instalar Metricbeat:
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-amd64.deb sudo dpkg -i metricbeat-7.10.0-amd64.deb
-
Configurar Metricbeat: Edita el archivo de configuración
metricbeat.yml
para especificar los módulos y el destino.metricbeat.modules: - module: system metricsets: - cpu - memory - network enabled: true period: 10s processes: ['.*'] output.elasticsearch: hosts: ["localhost:9200"]
-
Iniciar Metricbeat:
sudo service metricbeat start
Integración con Elasticsearch
Configuración de Dashboards en Kibana
Muchos Beats vienen con dashboards preconfigurados que se pueden importar en Kibana para visualizar los datos recolectados.
-
Importar Dashboards:
sudo filebeat setup --dashboards sudo metricbeat setup --dashboards
-
Acceder a los Dashboards:
- Abre Kibana en tu navegador.
- Navega a la sección de Dashboards y busca los dashboards importados por Filebeat y Metricbeat.
Ejemplo Práctico: Monitoreo de Logs con Filebeat
-
Configurar Filebeat para enviar logs a Elasticsearch:
filebeat.inputs: - type: log enabled: true paths: - /var/log/syslog - /var/log/auth.log output.elasticsearch: hosts: ["localhost:9200"]
-
Iniciar Filebeat:
sudo service filebeat start
-
Visualizar los logs en Kibana:
- Abre Kibana y navega a la sección de Discover.
- Selecciona el índice de Filebeat (
filebeat-*
) y explora los logs recolectados.
Ejercicios Prácticos
Ejercicio 1: Instalación y Configuración de Filebeat
Objetivo: Instalar Filebeat en tu máquina, configurarlo para recolectar logs del sistema y enviarlos a Elasticsearch.
Pasos:
- Descarga e instala Filebeat.
- Configura
filebeat.yml
para recolectar logs del sistema. - Inicia Filebeat y verifica que los logs se están enviando a Elasticsearch.
- Importa los dashboards de Filebeat en Kibana y visualiza los logs.
Solución:
-
Descargar e instalar Filebeat:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.0-amd64.deb sudo dpkg -i filebeat-7.10.0-amd64.deb
-
Configurar
filebeat.yml
:filebeat.inputs: - type: log enabled: true paths: - /var/log/syslog - /var/log/auth.log output.elasticsearch: hosts: ["localhost:9200"]
-
Iniciar Filebeat:
sudo service filebeat start
-
Importar dashboards:
sudo filebeat setup --dashboards
-
Visualizar en Kibana:
- Abre Kibana y navega a la sección de Discover.
- Selecciona el índice
filebeat-*
y explora los logs recolectados.
Ejercicio 2: Monitoreo de Métricas del Sistema con Metricbeat
Objetivo: Instalar Metricbeat, configurarlo para recolectar métricas del sistema y enviarlas a Elasticsearch.
Pasos:
- Descarga e instala Metricbeat.
- Configura
metricbeat.yml
para recolectar métricas del sistema. - Inicia Metricbeat y verifica que las métricas se están enviando a Elasticsearch.
- Importa los dashboards de Metricbeat en Kibana y visualiza las métricas.
Solución:
-
Descargar e instalar Metricbeat:
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.0-amd64.deb sudo dpkg -i metricbeat-7.10.0-amd64.deb
-
Configurar
metricbeat.yml
:metricbeat.modules: - module: system metricsets: - cpu - memory - network enabled: true period: 10s processes: ['.*'] output.elasticsearch: hosts: ["localhost:9200"]
-
Iniciar Metricbeat:
sudo service metricbeat start
-
Importar dashboards:
sudo metricbeat setup --dashboards
-
Visualizar en Kibana:
- Abre Kibana y navega a la sección de Dashboards.
- Busca los dashboards de Metricbeat y explora las métricas recolectadas.
Conclusión
En este módulo, hemos aprendido sobre los diferentes tipos de Beats y su papel en la recolección de datos para Elasticsearch. Hemos cubierto la instalación y configuración de Filebeat y Metricbeat, y cómo integrar estos Beats con Elasticsearch y Kibana para visualizar los datos recolectados. Con estos conocimientos, puedes empezar a recolectar y analizar datos de diversas fuentes en tu entorno de Elasticsearch.
En el próximo módulo, exploraremos temas avanzados como la creación de plugins personalizados y el uso de aprendizaje automático en Elasticsearch.
Curso de Elasticsearch
Módulo 1: Introducción a Elasticsearch
- ¿Qué es Elasticsearch?
- Instalando Elasticsearch
- Conceptos Básicos: Nodos, Clústeres e Índices
- Arquitectura de Elasticsearch
Módulo 2: Empezando con Elasticsearch
Módulo 3: Técnicas Avanzadas de Búsqueda
Módulo 4: Modelado de Datos y Gestión de Índices
- Mapeo y Analizadores
- Plantillas de Índices
- Alias y Reindexación
- Gestión del Ciclo de Vida del Índice
Módulo 5: Rendimiento y Escalabilidad
- Optimizando el Rendimiento de Búsqueda
- Escalando Elasticsearch
- Monitoreo y Mantenimiento
- Respaldo y Restauración
Módulo 6: Seguridad y Control de Acceso
- Asegurando Elasticsearch
- Autenticación y Autorización de Usuarios
- Control de Acceso Basado en Roles
- Auditoría y Cumplimiento
Módulo 7: Integraciones y Ecosistema
- Elasticsearch con Logstash
- Elasticsearch con Kibana
- Elasticsearch con Beats
- Elasticsearch con Otras Herramientas