日志记录代理

您可以配置 日志记录代理 以直接收集基础架构和应用程序日志并将其发送到 IBM Cloud Logs 实例。

日志记录代理 基于 Fluent Bit 开源代理,用于收集和处理日志数据。 您可以在支持的环境中部署 日志记录代理 并管理来自不同来源和格式的数据。

下图显示了目的地为 IBM Cloud Logs 实例时的高级视图:

来自代理的日志流{: caption="的日志流来自代理的日志流来自" caption-side="bottom"}的日志流

关于 日志记录代理

使用“日志记录代理向”IBM Cloud Logs服务发送日志时,发送的日志必须包含“applicationName 和”subsystemName 元数据字段的值。 默认情况下,配置 日志记录代理 时,代理会为这些字段设置默认值。 您可以配置自己的自定义值来替换默认值。

日志记录代理 用于协调环境

您可以将 日志记录代理 部署到 Red Hat OpenShift on IBM Cloud 或 IBM Cloud Kubernetes Service 集群上。

您可以在内部、IBM Cloud或其他云中运行的群集上部署代理。

日志记录代理是一个守护进程集,设计用于在群集的每个节点上运行一个 pod。 每个 pod 将为其运行的节点收集相关日志。 日志记录代理 将把这些日志转发到 IBM Cloud Logs 服务。

默认情况下,日志记录代理会监控和收集与 "/var/log/containers/ 中指定路径模式匹配的文件的日志数据,并排除与排除模式匹配的文件的日志。 刷新间隔设置为 10 秒。 您可以在配置地图 logger-agent-config 中更改这些值以及更多。 有关更多信息,请参阅过滤日志。

您可以在以下平台部署代理:

下图显示了日志源为 Kubernetes 或 OpenShift 群集时的高级视图:

来自群集的日志流{: caption="的日志流来自群集的日志流来自" caption-side="bottom"}的日志流

日志记录代理 非编排环境

您可以在Linux和 Windows 环境中部署日志记录代理。

您必须配置“日志记录代理监控的日志文件,并将其数据转发给”IBM Cloud Logs实例。

该代理使用 "systemd 作为Linux守护进程运行。 您可以使用 "systemctl 来管理代理。

支持下列平台:

  • RHEL 8
  • RHEL 9
  • Ubuntu 20
  • Ubuntu 22
  • Debian 11
  • Debian 12
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022
  • Windows 10 企业版
  • Windows 11 企业版

更多信息,请参阅 在Linux环境中管理代理 或 在 Windows 环境中管理代理。

授权方法

您可以使用服务 ID 或受信任配置文件作为代理与IBM® Cloud Logs服务进行身份验证时使用的身份。

为计划部署代理的环境选择支持的授权方法:

支持的授权方法
环境 服务标识 API 密钥 可信概要文件
IBM Cloud Kubernetes集群 支持 支持
IBM Cloud OpenShift集群 支持 支持
IBM Cloud LinuxVSI 支持 支持
IBM CloudWindows VSI 支持 支持
内部Kubernetes集群 支持 不支持
内部OpenShift集群 支持 不支持
内部Linux服务器 支持 不支持
其他云Kubernetes集群 支持 不支持
其他云OpenShift集群 支持 不支持
其他云Linux服务器 支持 不支持

只有当计算资源和实例位于同一账户中时,您才能使用受托配置文件对 IBM Cloud 资源和 IBM Cloud Logs 实例进行身份验证。

如果要从 "Kubernetes群集发送日志,而该群集是在与 "IBM Cloud Logs实例不同的 "IBM Cloud账户中配置的,则只能使用服务 ID API 密钥作为代理的授权方法。

有关如何生成 API 密钥的更多信息,请参阅 通过使用服务 ID 进行身份验证生成用于摄取的 API 密钥。

有关如何创建受信任配置文件的更多信息,请参阅 生成用于摄取的受信任配置文件。

支持的格式

代理支持以下输入格式

  • JSON
  • apache
  • apache2
  • apache_error
  • nginx
  • docker(JSON,带有 docker 特有的时间戳格式)
  • CRI
  • 系统日志