Como enviar logs do Python para OpenSearch usando Fluent Bit

Introdução

O gerenciamento eficaz de logs é fundamental para o monitoramento e manutenção de aplicações no mundo data-driven de hoje. O OpenSearch, um motor de busca e análise de código aberto, fornece capacidades robustas de agregação e análise de logs. Ao combiná-lo com o Fluent Bit, um encaminhador de log leve, podemos enviar logs do Python para o OpenSearch para monitoramento e análise em tempo real. Este guia vai guiar você pelo processo de configuração desta poderosa combinação.

Caso de Uso

Esta configuração beneficia desenvolvedores e administradores de sistema que precisam monitorar aplicações do Python em tempo real. Enviando logs de aplicações Python para o OpenSearch, você pode analisar logs, criar painéis, definir alertas e obter insights valiosos sobre o desempenho e o comportamento de sua aplicação. Este método é escalável e adequado tanto para pequenos projetos quanto para ambientes de produção de grandes escalas.

Pré-requisitos

Antes de começar, certifique-se de ter os seguintes pré-requisitos em ordem:

  1. Python Instalado: Certifique-se de que o Python está instalado no seu servidor ou computador local.
  2. Cluster OpenSearch: Você deve ter acesso a um cluster OpenSearch. Você pode criar um novo cluster ou usar um cluster existente.
  3. Fluent Bit Instalado: Fluent Bit deve ser instalado no servidor ou máquina onde seu aplicativo Python está sendo executado.

Passo 1 – Instalar Python

Primeiro, atualize seu repositório e instale o Python. Execute os seguintes comandos:

sudo apt update
sudo apt install python3

Para verificar a instalação do Python, execute:

python3 --version

Passo 2 – Configurar Logging do Python

Configure seu aplicativo Python para registrar mensagens em um arquivo. Aqui está uma configuração básica:

import logging

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

# Mensagem de log de exemplo
logging.info('This is a test log message.')

Essa configuração escreve mensagens de log para app.log com um timestamp, nível de log e formato de mensagem.

Passo 3 – Criar um Cluster OpenSearch

Se você não tiver um cluster OpenSearch, você pode criar um usando a ferramenta de linha de comando do DigitalOcean, doctl. Execute o seguinte comando:

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

Substitua your-region pela região desejada. Alternativamente, você pode usar o painel de controle do DigitalOcean para criar um cluster manualmente. Para detalhes sobre como fazer isso, consulte este guia sobre criação de clusters OpenSearch através do painel de controle.

Passo 4 – Instalar Fluent Bit

Para instalar o Fluent Bit, use o seguinte comando:

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

Passo 5 – Configurar Fluent Bit

Crie um arquivo de configuração chamado fluent-bit.conf para definir como o Fluent Bit deve ler e encaminhar logs para o OpenSearch. Aqui está um exemplo de configuração:

[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
  • Caminho: Especifique o caminho para seu app.log.
  • Host: Substitua com seu host OpenSearch.
  • HTTP_User: Seu nome de usuário OpenSearch.
  • HTTP_Passwd: Sua senha OpenSearch.
  • Index: O nome do índice onde os logs serão armazenados.

Passo 6 – Executar Fluent Bit

Execute o Fluent Bit com o arquivo de configuração:

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

Passo 7 – Verificar Logs no OpenSearch

Para garantir que os logs estão sendo processados corretamente, verifique seu painel OpenSearch. Deveria ver os logs sendo encaminhados do Fluent Bit.

Passo 8 – Criar um Modelo de Índice no Painel OpenSearch

  1. Entre com as suas credenciais no OpenSearch Dashboards.
  2. Expanda o menu lateral esquerdo e clique em Index Management na seção Management.
  3. Clique em Create index no menu Indexes.
  4. Insira o nome do índice, configure outras configurações necessárias e clique em Create.

Conclusão

Ao seguir essas etapas, você configurou um sistema para enviar logs do Python para o OpenSearch usando Fluent Bit. Essa configuração permite que você gerencie e anexe logs de forma eficiente, ajudando-o a manter e monitorar seus aplicativos com eficácia. Com o OpenSearch e o Fluent Bit, você tem uma solução poderosa para o análise de logs em tempo real e monitoramento, personalizada para atender às necessidades de qualquer aplicativo baseado em Python.

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