2.3. Logging 6.2
ClusterLogForwarder
自定义资源(CR)是日志收集和转发的核心配置点。
2.3.1. 输入和输出 复制链接链接已复制到粘贴板!
输入指定要转发的日志源。日志记录提供以下内置输入类型,它们从集群的不同部分选择日志:
-
application
-
receiver
-
infrastructure
-
audit
您还可以根据命名空间或 pod 标签定义自定义输入,以微调日志选择。
输出定义发送日志的目的地。每个输出类型都有自己的一组配置选项,允许您自定义行为和身份验证设置。
2.3.2. 接收器输入类型 复制链接链接已复制到粘贴板!
接收器输入类型可让日志记录系统接受来自外部源的日志。它支持两种接收日志的格式:http
和 syslog
。
ReceiverSpec
字段定义接收器输入的配置。
2.3.3. 管道和过滤器 复制链接链接已复制到粘贴板!
Pipelines 决定从输入到输出的日志流。管道由一个或多个输入 refs、输出 refs 和可选过滤器 refs 组成。您可以使用过滤器来转换或丢弃管道中的日志消息。过滤器顺序很重要,随着顺序应用,较早的过滤器可能会阻止日志消息到达后续阶段。
2.3.4. Operator 行为 复制链接链接已复制到粘贴板!
Cluster Logging Operator 根据 ClusterLogForwarder
资源的 managementState
字段管理收集器的部署和配置:
-
当设置为
Managed
(默认)时,Operator 会主动管理日志记录资源以匹配 spec 中定义的配置。 -
当设置为
Unmanaged
时,Operator 不执行任何操作,供您手动管理日志记录组件。
2.3.5. 验证 复制链接链接已复制到粘贴板!
日志记录包括广泛的验证规则和默认值,以确保平稳配置体验。ClusterLogForwarder
资源对必填字段、字段之间的依赖关系和输入值格式强制验证检查。为某些字段提供默认值,从而减少了常见场景中明确配置的需求。
2.3.6. 快速启动 复制链接链接已复制到粘贴板!
OpenShift Logging 支持两种数据模型:
- ViaQ (正式发布)
- OpenTelemetry (技术预览)
您可以通过在 ClusterLogForwarder
中配置 lokiStack.dataModel
字段来根据要求选择其中任何一种数据模型。在将日志转发到 LokiStack 时,viaq 是默认的数据模型。
在以后的 OpenShift Logging 版本中,默认的数据模型将从 ViaQ 改为 OpenTelemetry。
2.3.6.1. ViaQ 快速开始使用 复制链接链接已复制到粘贴板!
要使用默认的 ViaQ 数据模型,请按照以下步骤执行:
先决条件
-
您可以使用
cluster-admin
权限访问 Red Hat OpenShift Service on AWS 经典架构集群。 -
已安装 OpenShift CLI(
oc
)。 - 您可以访问受支持的对象存储。例如,AWS S3, Google Cloud Storage, Azure, Swift, Minio, 或 OpenShift Data Foundation。
流程
-
从 OperatorHub 安装
Red Hat OpenShift Logging Operator
、Loki Operator
和Cluster Observability Operator (COO)
。 在
openshift-logging
命名空间中创建LokiStack
自定义资源(CR):Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意确保事先创建
logging-loki-s3
secret。此 secret 的内容因使用的对象存储而异。如需更多信息,请参阅 Secret 和 TLS 配置。为收集器创建服务帐户:
oc create sa collector -n openshift-logging
$ oc create sa collector -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 允许收集器的服务帐户将数据写入
LokiStack
CR:oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意ClusterRole
资源是在 Cluster Logging Operator 安装过程中自动创建的,不需要手动创建。要收集日志,请运行以下命令使用收集器的服务帐户:
oc adm policy add-cluster-role-to-user collect-application-logs -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-application-logs -z collector -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm policy add-cluster-role-to-user collect-audit-logs -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-audit-logs -z collector -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z collector -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意示例将收集器绑定到所有三个角色(应用程序、基础架构和审计),但默认情况下,仅收集应用和基础架构日志。要收集审计日志,请更新
ClusterLogForwarder
配置使其包含它们。根据您的环境所需的特定日志类型,分配角色。创建一个
UIPlugin
CR,以启用 Observe 选项卡中的 Log 部分:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个
ClusterLogForwarder
CR 来配置日志转发:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意dataModel
字段是可选的,默认保留未设置(dataModel: ""
)。这允许 Cluster Logging Operator (CLO) 自动选择数据模型。目前,当字段未设置时,CLO 会默认使用 ViaQ 模型,但这将在以后的版本中有所变化。指定dataModel: ViaQ
可确保在默认设置有变化时配置仍然可以保持兼容。
验证
- 验证日志是否在 Red Hat OpenShift Service on AWS 经典架构 web 控制台的 Observe 选项卡的 Log 部分可见。
2.3.6.2. 使用 OpenTelemetry 快速开始 复制链接链接已复制到粘贴板!
OpenTelemetry 协议(OTLP)输出日志转发器只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
要配置 OTLP ingestion 并启用 OpenTelemetry 数据模型,请按照以下步骤执行:
先决条件
-
您可以使用
cluster-admin
权限访问 Red Hat OpenShift Service on AWS 经典架构集群。 -
已安装 OpenShift CLI(
oc
)。 - 您可以访问受支持的对象存储。例如,AWS S3, Google Cloud Storage, Azure, Swift, Minio, 或 OpenShift Data Foundation。
流程
-
从 OperatorHub 安装
Red Hat OpenShift Logging Operator
、Loki Operator
和Cluster Observability Operator (COO)
。 在
openshift-logging
命名空间中创建LokiStack
自定义资源(CR):Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意确保事先创建
logging-loki-s3
secret。此 secret 的内容因使用的对象存储而异。如需更多信息,请参阅"Secrets 和 TLS 配置"。为收集器创建服务帐户:
oc create sa collector -n openshift-logging
$ oc create sa collector -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 允许收集器的服务帐户将数据写入
LokiStack
CR:oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意ClusterRole
资源是在 Cluster Logging Operator 安装过程中自动创建的,不需要手动创建。要收集日志,请运行以下命令使用收集器的服务帐户:
oc adm policy add-cluster-role-to-user collect-application-logs -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-application-logs -z collector -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm policy add-cluster-role-to-user collect-audit-logs -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-audit-logs -z collector -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z collector -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意示例将收集器绑定到所有三个角色(应用程序、基础架构和审计)。默认情况下,只收集应用程序和基础架构日志。要收集审计日志,请更新
ClusterLogForwarder
配置使其包含它们。根据您的环境所需的特定日志类型,分配角色。创建一个
UIPlugin
CR,以启用 Observe 选项卡中的 Log 部分:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个
ClusterLogForwarder
CR 来配置日志转发:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当
dataModel
为Otel
时,您无法使用lokiStack.labelKeys
。要在dataModel
为Otel
时实现类似的功能,请参阅"为 OTLP 数据生成"配置 LokiStack。
验证
要验证 OTLP 是否正常工作,请完成以下步骤:
-
在 OpenShift web 控制台中,点 Observe
OpenShift Logging LokiStack Writes。 - 检查 Distributor - 结构的元数据 部分。
-
在 OpenShift web 控制台中,点 Observe