Entrar ou criar conta

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.

Segurança e automação em observabilidade com Loki e Fluent Bit
Ligado ao treinamento Segurança e automação em observabilidade com Loki e Fluent Bit
ULC-LAB-OBSE-0004 · Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
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
Objetivo

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

ItemRequisito, 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 LokiAGPLv3 · a versão estável atual
Fluent BitApache 2.0 · a versão estável atual
curlcurl license · a versão estável atual

Roteiro

  1. 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 -y

    O que você deve ver: Todas as máquinas atualizadas, sem erros de rede.

  2. 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/loki

    O que você deve ver: Binário do Loki disponível em /usr/local/bin/loki.

  3. 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
    EOF

    O que você deve ver: Arquivo /etc/loki-config.yaml criado com autenticação habilitada.

  4. 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 senhaforte

    O que você deve ver: Arquivo /etc/loki-htpasswd criado com usuário admin.

  5. 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.

  6. 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 -y

    O que você deve ver: Fluent Bit instalado em ambos os clientes.

  7. 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
    EOF

    O que você deve ver: Arquivo de configuração criado, apontando para o Loki central com autenticação.

  8. Reiniciar Fluent Bit

    Reinicie o serviço Fluent Bit para aplicar a nova configuração.

    sudo systemctl restart fluent-bit

    O que você deve ver: Fluent Bit reiniciado sem erros.

  9. 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.

  10. 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/query

    O que você deve ver: Resposta JSON com entradas de log recentes enviadas pelos clientes.

  11. 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

TesteComandoCritério
Verificar se Fluent Bit está rodandosystemctl status fluent-bitStatus ativo (running) nos clientes.
Verificar se Loki está rodandops aux | grep lokiProcesso do Loki ativo no servidor central.
Verificar envio de logs do cliente para o Lokicurl -u admin:senhaforte -G --data-urlencode 'query={job="syslog"}' http://10.0.0.10:3100/loki/api/v1/queryLogs recentes dos clientes aparecem na resposta JSON.
Verificar autenticação básicacurl -G http://10.0.0.10:3100/loki/api/v1/queryResposta 401 Unauthorized sem usuário/senha.

Troubleshooting

SintomaCausa provávelCorreção
Fluent Bit não conecta ao LokiHost ou porta incorretos, ou autenticação falhouVerifique IP, porta e credenciais em /etc/fluent-bit/fluent-bit.conf
Loki não iniciaErro de sintaxe no arquivo de configuraçãoRevise /etc/loki-config.yaml e consulte a documentação
Logs não aparecem na consultaTag ou LabelKeys incorretos na configuração do Fluent BitAjuste as seções [INPUT] e [OUTPUT] para garantir correspondência
Erro 401 ao consultar LokiCredenciais erradas ou arquivo htpasswd ausenteRecrie 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

  1. Documentação oficial do Loki · Grafana Labs (grafana.com)
  2. Documentação oficial do Fluent Bit · Fluent Bit (CNCF) (docs.fluentbit.io)
  3. Repositório Loki no GitHub · GitHub (repositório oficial do projeto) (github.com)
  4. Repositório Fluent Bit no GitHub · GitHub (repositório oficial do projeto) (github.com)
Verificação editorial
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
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.