DOCA 文档 v2.10.0

DOCA 服务 Fluent Logger

本指南介绍了如何在 NVIDIA® BlueField® DPU 上为 DOCA 服务使用日志记录基础设施。

Fluent Bit 是一款快速日志收集器,可从多个来源收集信息,然后使用 Fluent 将数据转发出去。

在 NVIDIA DPU 上,可以轻松配置 Fluent Bit 日志记录器,以收集系统数据和来自不同 DOCA 服务的日志。

部署基于现有 Fluent Bit 容器的推荐配置模板。

有关在 BlueField DPU 上部署 DOCA 容器的信息,请参阅NVIDIA DOCA 容器部署指南

以下是部署 Fluent Bit Pod 的 YAML 文件示例

复制
已复制!
            

apiVersion: v1 kind: Pod metadata: name: fluent-bit spec: hostNetwork: true containers: - name: fluent-bit image: fluent/fluent-bit:latest imagePullPolicy: Always # Example resource definitions resources: requests: memory: "100Mi" cpu: "200m" limits: memory: "200Mi" cpu: "300m" volumeMounts: - name: varlog mountPath: /var/log - name: config-file mountPath: /fluent-bit/etc/fluent-bit.conf volumes: - name: varlog hostPath: path: /var/log - name: config-file hostPath: path: /opt/mellanox/doca/services/fluent-bit.conf type: File

如“配置”部分所述,Fluent Bit 使用配置文件。因此,为确保示例 YAML 文件从 DPU 共享到已部署的 Fluent Bit 容器,请使用以下方法

复制
已复制!
            

path: /opt/mellanox/doca/services/fluent-bit.conf

注意

下面的路径只是用户可以放置 fluent-bit.conf 文件的示例位置。该文件可以放置在 DPU 上的不同目录中,只要 YAML 文件指向更新后的位置即可。

Fluent Bit 配置文件应包含以下部分

  • [SERVICE] – 定义服务规范

  • [INPU] – 定义要从中收集日志的文件夹(可以有多个输入)

  • [OUTPUT] – 用于将数据流式传输到的 IP 和端口

配置文件示例

复制
已复制!
            

[SERVICE] Flush 2 Log_Level info Daemon off Parsers_File parsers.conf HTTP_Server On HTTP_Listen 0.0.0.0 HTTP_Port 2020   [INPUT] Name tail Tag kube.* Path /var/log/containers/*.log Parser docker Mem_Buf_Limit 5MB Skip_Long_Lines On Refresh_Interval 10   [INPUT] Name tail Tag sys.* Path /var/log/doca/*/*.log Mem_Buf_Limit 5MB Skip_Long_Lines On Refresh_Interval 10   [OUTPUT] Name es Match * Host 10.20.30.40 Port 9201 Index fluent_bit Type cpu_metrics

注意

最需要注意的字段是 INPUT 部分的 Path。DOCA 服务将其日志报告到 /var/log/doca/<service_name>/*.log 下的唯一目录,每个 DOCA 服务对应一个目录。因此,上面的配置定义了 /var/log/doca/*/*.log 输入定义。

有关完整规范的更多信息,请参阅官方 Fluent Bit 手册

有关容器相关的故障排除,请参阅NVIDIA DOCA 容器部署指南中的“故障排除”部分。

有关一般故障排除,请参阅DOCA 故障排除

复制上述 YAML 文件时,容器基础设施日志可能会给出与 RFC 1123 相关的错误”。这些错误通常是文件中空格错误导致的,有时从本页按原样复制文件时会发生这种情况。要解决此问题,请确保文件中仅使用空格字符 (' ') 用作文件中的分隔符,而不是复制操作期间可能添加的其他空白字符。

© 版权所有 2025 年,NVIDIA。 上次更新时间:2025 年 2 月 12 日。