Cómo enviar logs de Python a OpenSearch usando Fluent Bit

Introducción

El manejo eficaz de registros es fundamental para monitorear y mantener aplicaciones en el mundo actual, basado en datos. OpenSearch, un motor de búsqueda y análisis de código abierto, ofrece capacidades robustas de agregación y análisis de registros. Al combinarlo con Fluent Bit, un enfoque ligero de forwarding de registros, podemos enviar eficientemente los registros de Python a OpenSearch para un monitoreo y análisis en tiempo real. Este guía le llevará por el proceso de configuración de esta potente combinación.

Caso de Uso

Este ajuste beneficia a desarrolladores y administradores de sistemas que necesitan monitorear aplicaciones de Python en tiempo real. Al enviar registros de aplicaciones de Python a OpenSearch, puede analizar registros, crear paneles, establecer alertas y obtener valiosas insiciones sobre el rendimiento y el comportamiento de su aplicación. Esta abordación es escalable y adecuada tanto para proyectos pequeños como para entornos de producción a gran escala.

Prerrequisitos

Antes de comenzar, asegúrese de tener los siguientes prerequisitos en lugar:

  1. Python Instalado: Asegúrese de que Python esté instalado en su servidor o máquina local.
  2. Cluster OpenSearch: Debería tener acceso a un cluster OpenSearch. Puede crear un cluster nuevo o usar uno existente.
  3. Fluent Bit Instalado: Fluent Bit debería estar instalado en el servidor o máquina donde se ejecuta su aplicación de Python.

Paso 1 – Instalar Python

Primero, actualice su repositorio e instale Python. Ejecute los siguientes comandos:

sudo apt update
sudo apt install python3

Para verificar la instalación de Python, ejecute:

python3 --version

Paso 2 – Configurar el Logging de Python

Configure su aplicación de Python para que registre mensajes en un archivo. Aquí tiene una configuración básica:

import logging

# Configurar logging
logging.basicConfig(
    filename='app.log',
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s'
)

# Mensaje de registro de muestra
logging.info('This is a test log message.')

Esta configuración escribe mensajes de registro en app.log con un marcador de tiempo, nivel de registro y formato de mensaje.

Paso 3 – Crear un Cluster OpenSearch

Si no tiene un cluster OpenSearch, puede crear uno usando la herramienta de línea de comandos de DigitalOcean, doctl. Ejecute el siguiente comando:

doctl databases create opensearch-doks --engine opensearch --region your-region --size db-s-1vcpu-2gb --num-nodes 1

Reemplace your-region por la región deseada. Alternativamente, puede usar el panel de control de DigitalOcean para crear un clúster manualmente. Para obtener detalles sobre cómo hacer esto, consulte este guía sobre crea clústeres OpenSearch mediante el panel de control.

Paso 4 – Instalar Fluent Bit

Para instalar Fluent Bit, use el siguiente comando:

curl https://raw.githubusercontent.com/fluent/fluent-bit/master/install.sh | sh

Paso 5 – Configurar Fluent Bit

Cree un archivo de configuración llamado fluent-bit.conf para definir cómo Fluent Bit debe leer y reenviar logs a OpenSearch. Aquí tiene un ejemplo de configuración:

[SERVICE]
    Flush         1
    Daemon        Off
    Log_Level     info

[INPUT]
    Name          tail
    Path          /path/to/your/log/file.log
    Tag           python_logs
    Refresh_Interval 5

[OUTPUT]
    Name          opensearch
    Match         python_logs
    Host          your-opensearch-host
    Port          25060
    HTTP_User     your-username
    HTTP_Passwd   your-password
    Index         your-index-name
    tls           On
    Suppress_Type_Name On
  • Ruta: Especifique la ruta a su app.log.
  • Host: Reemplace con su host de OpenSearch.
  • HTTP_User: Su nombre de usuario de OpenSearch.
  • HTTP_Passwd: Su contraseña de OpenSearch.
  • Index: El nombre del índice donde se almacenarán los logs.

Paso 6 – Ejecute Fluent Bit

Ejecute Fluent Bit con el archivo de configuración:

/opt/fluent-bit/bin/fluent-bit -c fluent-bit.conf

Paso 7 – Verifique los Logs en OpenSearch

Para asegurarse de que los logs se están procesando correctamente, revise su panel de OpenSearch. Debería ver que los logs se están reenviando de Fluent Bit.

Paso 8 – Cree un Patrón de Índice en los Paneles de OpenSearch

  1. Inicia sesión en OpenSearch Dashboards con tus credenciales.
  2. Expandir el menú lateral izquierdo y hacer clic en Gestión de índices dentro de Gestión.
  3. Hacer clic en Crear índice desde el menú de Índices.
  4. Introducir el nombre del índice, configurar otras opciones según sea necesario y hacer clic en Crear.

Conclusión

Al seguir estos pasos, has configurado un sistema para enviar logs de Python a OpenSearch utilizando Fluent Bit. Esta configuración te permite manejar y analizar logs de manera eficiente, ayudando a mantener y supervisar tus aplicaciones de manera efectiva. Con OpenSearch y Fluent Bit, tienes una solución poderosa para el análisis y la supervisión de logs en tiempo real, adaptada a las necesidades de cualquier aplicación basada en Python.

Source:
https://www.digitalocean.com/community/tutorials/send-python-logs-to-opensearch-using-fluentbit