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 logs leve, podemos enviar logs do Python para o OpenSearch para monitoramento e análise em tempo real. Este guia passará por configurar esta poderosa combinação.
Caso de Uso
Este setup beneficia desenvolvedores e administradores de sistemas 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 em escala large.
Pré-requisitos
Antes de começar, certifique-se de ter os seguintes pré-requisitos em prática:
- Python Instalado: Certifique-se de que o Python esteja instalado no seu servidor ou computador local.
- Cluster OpenSearch: Deve ter acesso the um cluster OpenSearch. Você pode criar um novo cluster ou usar um cluster existente.
- Fluent Bit Instalado: Fluent Bit deve estar 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:
Para verificar a instalação do Python, execute:
Passo 2 – Configurar Logging Python
Configure seu aplicativo Python para registrar mensagens em um arquivo. Aqui está um setup básico:
Esta 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, pode criar um usando a ferramenta de linha de comando do DigitalOcean, doctl
. Execute o seguinte comando:
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:
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 o host do OpenSearch.
- HTTP_User: Seu nome de usuário do OpenSearch.
- HTTP_Passwd: Sua senha do 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:
Passo 7 – Verificar Logs no OpenSearch
Para garantir que os logs estão sendo processados corretamente, verifique o painel do OpenSearch. Deveria ver os logs sendo encaminhados do Fluent Bit.
Passo 8 – Criar um Modelo de Índice no Painel de Dashboards do OpenSearch
- Faça login no OpenSearch Dashboards com suas credenciais.
- Expanda o menu lateral esquerdo e clique em Gerenciamento de Índices sob Gerenciamento.
- Clique em Criar índice do menu Índices.
- Insira o nome do índice, configure outras configurações necessárias e clique em Criar.
Conclusão
Ao seguir essas etapas, você configurou um sistema para enviar logs do Python para o OpenSearch usando Fluent Bit. Esta configuração permite que você gerencie e anexe logs de forma eficiente, ajudando você a manter e monitorar seus aplicativos com eficácia. Com o OpenSearch e o Fluent Bit, você tem uma solução poderosa para análise de logs em tempo real e monitoramento, personalizada para atender às necessidades de qualquer aplicação baseada em Python.
Source:
https://www.digitalocean.com/community/tutorials/send-python-logs-to-opensearch-using-fluentbit