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:
- Python Instalado: Certifique-se de que o Python está instalado no seu servidor ou computador local.
- Cluster OpenSearch: Você deve ter acesso a um cluster OpenSearch. Você pode criar um novo cluster ou usar um cluster existente.
- 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:
Para verificar a instalação do Python, execute:
Passo 2 – Configurar Logging do Python
Configure seu aplicativo Python para registrar mensagens em um arquivo. Aqui está uma configuração básica:
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:
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 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:
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
- Entre com as suas credenciais no OpenSearch Dashboards.
- Expanda o menu lateral esquerdo e clique em Index Management na seção Management.
- Clique em Create index no menu Indexes.
- 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