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

  1. 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
    
  2. 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"]
    
  3. Iniciar Filebeat:

    sudo service filebeat start
    

Instalación de Metricbeat

  1. 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
    
  2. 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"]
    
  3. 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.

  1. Importar Dashboards:

    sudo filebeat setup --dashboards
    sudo metricbeat setup --dashboards
    
  2. 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

  1. 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"]
    
  2. Iniciar Filebeat:

    sudo service filebeat start
    
  3. 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:

  1. Descarga e instala Filebeat.
  2. Configura filebeat.yml para recolectar logs del sistema.
  3. Inicia Filebeat y verifica que los logs se están enviando a Elasticsearch.
  4. Importa los dashboards de Filebeat en Kibana y visualiza los logs.

Solución:

  1. 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
    
  2. Configurar filebeat.yml:

    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/syslog
        - /var/log/auth.log
    
    output.elasticsearch:
      hosts: ["localhost:9200"]
    
  3. Iniciar Filebeat:

    sudo service filebeat start
    
  4. Importar dashboards:

    sudo filebeat setup --dashboards
    
  5. 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:

  1. Descarga e instala Metricbeat.
  2. Configura metricbeat.yml para recolectar métricas del sistema.
  3. Inicia Metricbeat y verifica que las métricas se están enviando a Elasticsearch.
  4. Importa los dashboards de Metricbeat en Kibana y visualiza las métricas.

Solución:

  1. 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
    
  2. Configurar metricbeat.yml:

    metricbeat.modules:
    - module: system
      metricsets:
        - cpu
        - memory
        - network
      enabled: true
      period: 10s
      processes: ['.*']
    
    output.elasticsearch:
      hosts: ["localhost:9200"]
    
  3. Iniciar Metricbeat:

    sudo service metricbeat start
    
  4. Importar dashboards:

    sudo metricbeat setup --dashboards
    
  5. 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.

© Copyright 2024. Todos los derechos reservados