ULC Lab · implementação reproduzível
Laboratório: Coleta e centralização segura de logs com Loki e Fluent Bit em ambiente Linux
Você terá um ambiente funcional de coleta, roteamento e consulta de logs centralizados usando Fluent Bit e Loki, com autenticação básica. Tempo estimado: 2 horas.

- Duração estimada
- 120 min
- Passos
- 11
- Validações
- 4
- Versões da documentação consultada
- Grafana Loki a versão estável atual · Fluent Bit a versão estável atual · curl a versão estável atual
Demonstrar, na prática, como coletar logs de múltiplas máquinas Linux usando Fluent Bit, enviar para um servidor Loki centralizado e consultar esses logs de forma segura. O laboratório cobre desde a instalação até a configuração de autenticação básica, passando por roteamento e validação ponta a ponta.
Topologia
Três máquinas virtuais Linux: duas como clientes (10.0.0.2 e 10.0.0.3) rodando Fluent Bit, uma como servidor central Loki (10.0.0.10). Fluent Bit coleta logs locais e envia via HTTP para Loki. Consultas são feitas via linha de comando ou navegador para o Loki.
+---------------------+
| Loki Server |
| 10.0.0.10 |
+---------+----------+
^
|
+--------------+--------------+
| |
+--------+ +--------+
|Client1 | |Client2 |
|10.0.0.2| |10.0.0.3|
+--------+ +--------+
(Fluent Bit) (Fluent Bit)Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| VM ou host Linux (Loki) | 1 vCPU, 2GB RAM, porta 3100 aberta, Ubuntu 22.04 ou similar |
| VM ou host Linux (Fluent Bit) | 1 vCPU, 512MB RAM, porta 80/443 para saída HTTP, Ubuntu 22.04 ou similar (duas instâncias) |
| Grafana Loki | AGPLv3 · a versão estável atual |
| Fluent Bit | Apache 2.0 · a versão estável atual |
| curl | curl license · a versão estável atual |
Roteiro
- Preparar as máquinas Linux
Garanta que as três máquinas estão acessíveis entre si, com IPs fixos na faixa 10.0.0.0/24. Atualize os pacotes.
sudo apt update && sudo apt upgrade -yO que você deve ver: Todas as máquinas atualizadas, sem erros de rede.
- Instalar o Loki no servidor central
Baixe e instale o binário do Loki. O Loki será o backend de logs.
wget https://github.com/grafana/loki/releases/latest/download/loki-linux-amd64.zip unzip loki-linux-amd64.zip sudo mv loki-linux-amd64 /usr/local/bin/loki sudo chmod +x /usr/local/bin/lokiO que você deve ver: Binário do Loki disponível em /usr/local/bin/loki.
- Configurar o Loki
Crie um arquivo de configuração minimalista para Loki, habilitando autenticação básica.
cat <<EOF > /etc/loki-config.yaml auth_enabled: true server: http_listen_port: 3100 storage_config: boltdb: directory: /tmp/loki/index filesystem: directory: /tmp/loki/chunks EOFO que você deve ver: Arquivo /etc/loki-config.yaml criado com autenticação habilitada.
- Criar usuário de autenticação básica no Loki
Crie um arquivo .htpasswd para autenticação básica. Use o utilitário htpasswd.
sudo apt install apache2-utils -y htpasswd -cb /etc/loki-htpasswd admin senhaforteO que você deve ver: Arquivo /etc/loki-htpasswd criado com usuário admin.
- Iniciar o Loki
Inicie o Loki apontando para o arquivo de configuração e de autenticação.
loki -config.file=/etc/loki-config.yaml -auth.basic.htpasswd.file=/etc/loki-htpasswd &O que você deve ver: Loki rodando na porta 3100, pronto para receber logs.
- Instalar Fluent Bit nos clientes
No Client1 e Client2, instale Fluent Bit para coletar logs locais.
curl https://packages.fluentbit.io/fluentbit.key | sudo gpg --dearmor -o /usr/share/keyrings/fluentbit.gpg echo "deb [signed-by=/usr/share/keyrings/fluentbit.gpg] https://packages.fluentbit.io/ubuntu/jammy jammy main" | sudo tee /etc/apt/sources.list.d/fluentbit.list sudo apt update && sudo apt install fluent-bit -yO que você deve ver: Fluent Bit instalado em ambos os clientes.
- Configurar Fluent Bit para enviar logs para Loki
Edite o arquivo de configuração do Fluent Bit para enviar logs do syslog local para o Loki central, com autenticação básica.
cat <<EOF | sudo tee /etc/fluent-bit/fluent-bit.conf [SERVICE] Flush 1 Log_Level info [INPUT] Name tail Path /var/log/syslog Tag syslog [OUTPUT] Name loki Match syslog Host 10.0.0.10 Port 3100 LabelKeys host TenantID "" Http_User admin Http_Passwd senhaforte EOFO que você deve ver: Arquivo de configuração criado, apontando para o Loki central com autenticação.
- Reiniciar Fluent Bit
Reinicie o serviço Fluent Bit para aplicar a nova configuração.
sudo systemctl restart fluent-bitO que você deve ver: Fluent Bit reiniciado sem erros.
- Gerar logs de teste nos clientes
Crie entradas no syslog para testar o fluxo de logs.
logger 'Teste de log do Fluent Bit para Loki'O que você deve ver: Nova linha adicionada em /var/log/syslog.
- Consultar logs no Loki via API
No servidor Loki ou em outro host, use curl para consultar os logs enviados.
curl -u admin:senhaforte -G --data-urlencode 'query={job="syslog"}' http://10.0.0.10:3100/loki/api/v1/queryO que você deve ver: Resposta JSON com entradas de log recentes enviadas pelos clientes.
- Consultar logs via navegador
Acesse http://10.0.0.10:3100/ com usuário admin e senha senhaforte. Explore a interface web do Loki.
O que você deve ver: Página de consulta do Loki acessível, logs visíveis.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Verificar se Fluent Bit está rodando | systemctl status fluent-bit | Status ativo (running) nos clientes. |
| Verificar se Loki está rodando | ps aux | grep loki | Processo do Loki ativo no servidor central. |
| Verificar envio de logs do cliente para o Loki | curl -u admin:senhaforte -G --data-urlencode 'query={job="syslog"}' http://10.0.0.10:3100/loki/api/v1/query | Logs recentes dos clientes aparecem na resposta JSON. |
| Verificar autenticação básica | curl -G http://10.0.0.10:3100/loki/api/v1/query | Resposta 401 Unauthorized sem usuário/senha. |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Fluent Bit não conecta ao Loki | Host ou porta incorretos, ou autenticação falhou | Verifique IP, porta e credenciais em /etc/fluent-bit/fluent-bit.conf |
| Loki não inicia | Erro de sintaxe no arquivo de configuração | Revise /etc/loki-config.yaml e consulte a documentação |
| Logs não aparecem na consulta | Tag ou LabelKeys incorretos na configuração do Fluent Bit | Ajuste as seções [INPUT] e [OUTPUT] para garantir correspondência |
| Erro 401 ao consultar Loki | Credenciais erradas ou arquivo htpasswd ausente | Recrie o arquivo htpasswd e reinicie o Loki |
Segurança e hardening
- Use senhas fortes no htpasswd
- Restrinja o acesso à porta 3100 apenas aos clientes autorizados
- Proteja os arquivos de configuração com permissões adequadas
- Evite rodar Loki e Fluent Bit como root em produção
- Considere TLS para proteger o tráfego (consulte a documentação do Loki e Fluent Bit)
Checklist final
Referências
- Documentação oficial do Loki · Grafana Labs (grafana.com)
- Documentação oficial do Fluent Bit · Fluent Bit (CNCF) (docs.fluentbit.io)
- Repositório Loki no GitHub · GitHub (repositório oficial do projeto) (github.com)
- Repositório Fluent Bit no GitHub · GitHub (repositório oficial do projeto) (github.com)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 4 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
