Login
Login

Fluent Operator

Atualizado em 12 de February de 2026

Em clusters Kubernetes, aplicações e serviços do sistema geram um grande volume de logs. Para facilitar a análise e o armazenamento desses logs, eles podem ser coletados em sistemas como Elasticsearch, Loki, Kafka, Prometheus, entre outros.

Fluent Bit e Fluentd são ferramentas para coleta e processamento de logs. No entanto, configurá-las no Kubernetes pode ser complexo:

  • É necessário criar recursos manualmente (DaemonSet, StatefulSet).
  • Arquivos de configuração precisam ser preparados.
  • É preciso considerar particularidades do runtime de contêiner.
  • Segredos devem ser gerenciados para autenticação.
  • Atualizações e compatibilidade precisam ser monitoradas.

O Fluent Operator simplifica esse processo ao:

  • Automatizar a implantação do Fluent Bit e do Fluentd, criando os recursos necessários.
  • Usar Custom Resource Definitions (CRDs) para configurar entradas, filtros, saídas e outros parâmetros via manifests YAML.
  • Gerenciar atualizações e escalonamento do Fluent Bit/Fluentd conforme mudanças no cluster.
  • Simplificar a integração com Elasticsearch, Loki, Kafka, Prometheus e outros.

Em vez de configurar manualmente o Fluent Bit e o Fluentd, você instala o Fluent Operator e apenas descreve as configurações. O operador ajusta o cluster para o estado desejado e atualiza automaticamente os agentes quando a configuração muda.

Componentes principais:

  • Fluent Bit: agente leve de coleta de logs.
  • Fluentd: agente mais robusto, que pode ser executado como DaemonSet ou StatefulSet para filtragem e buffering avançados.
  • Fluent Operator: gerencia Fluent Bit e Fluentd por meio de CRDs.

Instalar o Fluent Operator

Você pode instalar o Fluent Operator pelo painel de controle da Hostman:

  1. Vá para a seção Kubernetes e clique no cluster.
  2. Abra a aba Complementos e selecione Fluent Operator.
  3. Ative Instalação avançada e ajuste a configuração conforme suas necessidades.
  4. Clique em Instalar.

Parâmetros de instalação

Operator

Seção operator:

  • containerRuntime: define o runtime de contêiner utilizado. No Kubernetes gerenciado da Hostman é usado containerd. Esse valor não precisa ser alterado.
  • logPath: caminho dos arquivos de log. Para containerd, é /var/log.
  • disableComponentControllers: lista de componentes do Fluent Operator a serem desativados. Valores possíveis: fluent-bit e fluentd. Por padrão, ambos são instalados.

Fluent Bit

Seção input:

  • tail:
    • enable: true — ativa a coleta de logs de arquivos em /var/log/containers/*.log.
    • path: "/var/log/containers/*.log" — define o caminho dos logs de contêiner.
    • refreshIntervalSeconds: 10 — frequência (em segundos) para atualizar a lista de arquivos.
    • memBufLimit: 100MB — limite de memória para buffer.
    • storageType: memory — tipo de armazenamento do buffer. Alternativamente, pode ser filesystem, mas é necessário preparar um volume previamente.
    • readFromHead: false — inicia a leitura a partir do final do arquivo.
    • skipLongLines: true — ignora linhas excessivamente longas.
  • systemd:
    • enable: true — ativa a coleta de logs do journald.
    • includeKubelet: true — inclui logs do kubelet no journald.
    • storageType: memory — define o tipo de armazenamento do buffer.

Seção output

Lista as principais opções de saída. Para ativar cada uma, defina enable: true e especifique os parâmetros.

  • Elasticsearch
  es:
    enable: false
    host: "<Elasticsearch url>"
    port: 9200
    logstashPrefix: ks-logstash-log
    bufferSize: 20MB
    traceError: true
    httpUser: "<username>"
    httpPassword: "<password>"

Configuração para enviar logs ao Elasticsearch. Informe a URL do serviço, a porta e as credenciais de autenticação.

  • Kafka
  kafka:
    enable: false
    brokers: "<kafka broker list>"
    topics: ks-log
    bufferSize: 20MB
    retryLimit: "10"

Configuração para enviar logs ao Kafka. Informe a lista de brokers separada por vírgulas e o tópico para os logs.

  • Loki
  loki:
    enable: false
    retryLimit: "no_limits"
    host: 127.0.0.1
    port: 3100
    httpUser: myuser
    httpPassword: mypass
    tenantId: "<tenant>"

Permite enviar logs ao Loki. Informe host, porta, credenciais e tenant ID.

  • stdout
stdout:
  enable: true

Útil para testes, pois envia os logs para a saída padrão (stdout).

Seção filter:

  • multiline:
    • enable: false — desativado por padrão. Você pode configurar parsers (go, python, java etc.) ou adicionar personalizados.
  • kubernetes:
    • enable: true — ativa o filtro do Kubernetes para adicionar metadados do pod, como namespace, pod, labels e annotations.
    • labels: false, annotations: false — por padrão, esses campos não são adicionados.
  • containerd:
    • enable: true — ativa o filtro para processar logs do Containerd.
  • systemd:
    • enable: true — ativa o filtro para processar logs do journald.

Fluentd

  • enable: se precisar usar o Fluentd (em vez do ou junto com o Fluent Bit), defina como true.
  • mode:
    • collector — implanta como StatefulSet.
    • agent — implanta como DaemonSet (como o Fluent Bit), ou seja, um agente por nó.
  • forward:
    • port: 24224 — entrada padrão do Fluentd para encaminhamento.
  • output: semelhante ao Fluent Bit, inclui opções como es, kafka, opensearch etc.

Remover o Fluent Operator

A desinstalação do complemento pelo painel de gerenciamento não é suportada, mas pode ser feita manualmente. Siga estes passos:

  1. Excluir o objeto fluent-bit:
kubectl delete -n fluent-operator fluentbit/fluent-bit
  1. Remover o release Helm do fluent-operator:
helm uninstall -n fluent-operator fluent-operator
  1. Excluir todos os CRDs relacionados ao fluent-operator:
kubectl delete crd $(kubectl get crd | grep fluent | awk '{print $1}')
  1. Verificar se todos os recursos e namespaces relacionados foram removidos:
kubectl get namespaces

Após concluir essas etapas, o Fluent Operator será completamente removido do seu cluster.

Esta página foi útil?
Atualizado em 12 de February de 2026

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support