Systemd

systemd 输入插件允许在 Linux 环境中从 Journald 守护进程收集日志消息。

配置参数

该输入插件支持以下配置参数:

描述 默认值
Path Systemd 日志目录的可选路径,如果未设置,该插件将使用默认路径读取仅本地日志
Max_Fields 设置每个记录允许的最大字段 8000
Max_Entries 当 Fluent Bit 启动时,日志队列中可能有大量日志。为避免延迟并减少内存使用量,此选项允许指定每次可以处理的最大日志条目数。一旦达到该限制,一旦 Journald 有新的通知,Fluent Bit 将继续处理剩余的日志条目. 5000
Systemd_Filter 查找包含特定日志键/值对日志,如 _SYSTEMD_UNIT=UNIT.可以在输入配置段中多次指定该选项,以根据需要应用多个过滤器
Systemd_Filter_Type 指定多个 Systemd_Filter 时,定义过滤器类型。允许的值为 AndOr Or
Tag 该标签用于路由消息,但在 Systemd 插件上还有一个附加功能: 如果标签包含星号/通配符,它将使用 Systemd 单元文件(如 host.* => host.UNIT_NAME)
DB 指定数据库的文件的路径以跟踪日志记录的游标
Read_From_Tail 是否仅读取新纪录,跳过已存储在 Journald 中的日志 Off
Strip_Underscores 是否删除 Journald 字段(key)的前下划线.例如 _PID 变为 PID. Off

快速开始

为了接收 Systemd 日志消息,您可以从命令行或通过配置文件运行插件:

命令行

在命令行中,您可以使用以下选项让 Fluent Bit 监听 Systemd 消息:

  1. $ fluent-bit -i systemd \
  2. -p systemd_filter=_SYSTEMD_UNIT=docker.service \
  3. -p tag='host.*' -o stdout

在上面的示例中,我们正在收集来自 Docker 服务的所有消息

配置文件

在您的主配置文件中,添加以下 InputOutput 配置段:

  1. [SERVICE]
  2. Flush 1
  3. Log_Level info
  4. Parsers_File parsers.conf
  5. [INPUT]
  6. Name systemd
  7. Tag host.*
  8. Systemd_Filter _SYSTEMD_UNIT=docker.service
  9. [OUTPUT]
  10. Name stdout
  11. Match *