O Fluent Bit é um processador e encaminhador de log rápido e leve que permite coletar dados e logs de aplicativos de diferentes fontes, unificá-los e enviá-los para vários destinos. Implante o Tanzu Package for Fluent Bit para coletar e encaminhar logs de cluster do TKG 2 para o destino de sua escolha.
Requisitos do pacote
Obedeça aos seguintes requisitos para implantar o Pacote Tanzu para Fluent Bit.
- Provisione um cluster TKG 2 com uma classe de armazenamento padrão. Consulte Provisionando clusters do TKG 2 em Supervisor.
Observação: O Fluent Bit requer uma classe de armazenamento persistente padrão. Se você tiver um cluster TKG 2 sem uma classe de armazenamento padrão, poderá corrigi-lo. Consulte Requisitos de armazenamento persistente para pacotes Tanzu.
- Conecte-se ao cluster do TKG 2. Consulte Gerenciando identidade e acesso para clusters TKG 2 em Supervisor.
- Instale os pré-requisitos do pacote Tanzu. Consulte Instalar os pré-requisitos do pacote Tanzu usando o Kubectl
Componentes do Fluent Bit
O pacote Fluent Bit instala um contêiner Fluent Bit no cluster. Para obter mais informações sobre esse contêiner, consulte
https://fluentbit.io/. O pacote extrai os contêineres do registro público VMware especificado no Repositório de Pacotes.
Contêiner | Tipo de recurso | Réplicas | Descrição |
---|---|---|---|
Bit Fluente | DaemonSet | 6 | Coletor de log, agregador, encaminhador |
Implantar o pacote Fluent Bit
Instale o pacote Fluent Bit.
- Crie a especificação
fluentbit.yaml
.apiVersion: v1 kind: ServiceAccount metadata: name: fluentbit-sa namespace: tkg-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: fluentbit-role-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: fluentbit-sa namespace: tkg-system --- apiVersion: packaging.carvel.dev/v1alpha1 kind: PackageInstall metadata: name: fluentbit namespace: tkg-system spec: serviceAccountName: fluentbit-sa packageRef: refName: fluentbit.tanzu.vmware.com versionSelection: constraints: 1.20.2+vmware.1-tkg.1-rc.2 values: - secretRef: name: fluentbit-data-values --- apiVersion: v1 kind: Secret metadata: name: fluentbit-data-values namespace: tkg-system stringData: values.yml: | --- fluentbit: pspNames: "vmware-system-restricted"
- Instale o pacote Fluent Bit.
kubectl apply -f fluentbit.yaml
Configurar o pacote Fluent Bit
Os valores de configuração para são definidos em
fluent-bit-data-values.yaml
.
Parâmetro | Descrição | Tipo | Padrão |
---|---|---|---|
logging.namespace | Namespace onde o Fluent Bit será implantado | seqüência de caracteres | tanzu-system-logging |
logging.service_account_name | Nome da conta de serviço do Fluent Bit | seqüência de caracteres | bit fluente |
logging.cluster_role_name | Nome da função de cluster que concede permissões get, watch e list para o bit fluente | seqüência de caracteres | leitura de bits fluente |
logging.image.name | Nome da imagem do Fluent Bit | seqüência de caracteres | bit fluente |
logging.image.tag | Tag de imagem Fluent Bit. Esse valor pode precisar ser atualizado se você estiver atualizando a versão. | seqüência de caracteres | v1.6.9_vmware.1 |
logging.image.repository | Localização do repositório com a imagem Fluent Bit. O padrão é o registro público VMware. Altere esse valor se você estiver usando um repositório privado (por exemplo, ambiente air-gapped). | seqüência de caracteres | projects.registry.vmware.com/tkg |
logging.image.pullPolicy | Política de pull de imagem de bit fluente | seqüência de caracteres | IfNotPresent |
logging.update_strategy | Estratégia de atualização a ser usada ao atualizar o DaemonSet | seqüência de caracteres | RollingUpdate |
tkg.cluster_name | Nome do cluster Tanzu Kubernetes | seqüência de caracteres | Nulo (parâmetro obrigatório) |
tkg.instance_name | Nome definido pelo usuário da instância do TKG, compartilhado pelo Cluster Supervisor e todos os clusters Tanzu Kubernetes em uma implantação. Você pode usar qualquer nome relacionado à instalação. | seqüência de caracteres | Nulo (parâmetro obrigatório)
Observação: Esse campo é obrigatório, mas arbitrário. É um nome que aparece nos logs.
|
fluent_bit.log_level | Nível de log a ser usado para o Fluent Bit | seqüência de caracteres | informações |
fluent_bit.output_plugin | Definir o back-end para o qual o Fluent Bit deve liberar as informações que ele coleta | seqüência de caracteres | Nulo (parâmetro obrigatório) |
fluent_bit.elasticsearch.host | Endereço IP ou nome de host da instância de destino do Elasticsearch | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é uma pesquisa elástica) |
fluent_bit.elasticsearch.port | Porta TCP da instância de destino do Elasticsearch | inteiro | Nulo (parâmetro obrigatório quando output_plugin é uma pesquisa elástica) |
fluent_bit.elasticsearch.buffer_size | Especifique o tamanho do buffer usado para ler a resposta do serviço Elasticsearch. Define como ilimitado se for False | seqüência de caracteres | Falso |
fluent_bit.elasticsearch.tls | Especificar a configuração padrão do TLS para Elasticsearch | seqüência de caracteres | Desligado |
fluent_bit.kafka.broker_service_name | Lista única ou múltipla de Kafka Brokers, por exemplo, 192.168.1.3:9092 | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é kafka) |
fluent_bit.kafka.topic_name | Entrada única ou lista de tópicos separados por (,) que o Fluent Bit usará para enviar mensagens para o Kafka | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é kafka) |
fluent_bit.splunk.host | Endereço IP ou nome de host do servidor Splunk de destino | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é splunk) |
fluent_bit.splunk.port | Porta TCP do Servidor Splunk de destino | inteiro | Nulo (parâmetro obrigatório quando output_plugin é splunk) |
fluent_bit.splunk.token | Especificar o token de autenticação para a interface do HTTP Event Collector | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é splunk) |
fluent_bit.http.host | Endereço IP ou nome de host do servidor HTTP de destino | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é http) |
fluent_bit.http.port | Porta TCP do servidor HTTP de destino | inteiro | Nulo (parâmetro obrigatório quando output_plugin é http) |
fluent_bit.http.mode | Especificar um URI HTTP para o servidor Web de destino | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é http) |
fluent_bit.http.header_key_value | Par chave/valor do cabeçalho HTTP. Vários cabeçalhos podem ser definidos | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é http) |
fluent_bit.http.format | Especificar o formato de dados a ser usado no corpo da solicitação HTTP | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é http) |
fluent_bit.syslog.host | Domínio ou endereço IP do servidor Syslog remoto | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é syslog) |
fluent_bit.syslog.port | Porta TCP ou UDP do servidor Syslog remoto | inteiro | Nulo (parâmetro obrigatório quando output_plugin é syslog) |
fluent_bit.syslog.mode | Especificar o tipo de transporte de TCP, UDP e TLS | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é syslog) |
fluent_bit.syslog.format | Especificar o formato de dados a ser usado no corpo da solicitação HTTP | seqüência de caracteres | Nulo (parâmetro obrigatório quando output_plugin é syslog) |
host_path.volume_1 | Caminho do diretório do sistema de arquivos do nó do host para o pod, para o volume 1 | seqüência de caracteres | /var/log |
host_path.volume_2 | Caminho do diretório do sistema de arquivos do nó do host para o pod, para o volume 2 | seqüência de caracteres | /var/lib/docker/containers |
host_path.volume_3 | Caminho do diretório do sistema de arquivos do nó do host para o pod, para o volume 3 | seqüência de caracteres | /run/log |
systemd.path | Caminho para o diretório de diário do Systemd | seqüência de caracteres | /var/log/journal |