4.2. Logging 6.0


ClusterLogForwarder 自定义资源(CR)是日志收集和转发的核心配置点。

4.2.1. 输入和输出

输入指定要转发的日志源。日志记录提供以下内置输入类型,它们从集群的不同部分选择日志:

  • application
  • receiver
  • infrastructure
  • audit

您还可以根据命名空间或 pod 标签定义自定义输入,以微调日志选择。

输出定义发送日志的目的地。每个输出类型都有自己的一组配置选项,允许您自定义行为和身份验证设置。

4.2.2. 接收器输入类型

接收器输入类型可让日志记录系统接受来自外部源的日志。它支持两种接收日志的格式:httpsyslog

ReceiverSpec 字段定义接收器输入的配置。

4.2.3. 管道和过滤器

Pipelines 决定从输入到输出的日志流。管道由一个或多个输入 refs、输出 refs 和可选过滤器 refs 组成。您可以使用过滤器来转换或丢弃管道中的日志消息。过滤器顺序很重要,随着顺序应用,较早的过滤器可能会阻止日志消息到达后续阶段。

4.2.4. Operator 行为

Cluster Logging Operator 根据 managementState 字段管理收集器的部署和配置:

  • 当设置为 Managed (默认)时,Operator 会主动管理日志记录资源以匹配 spec 中定义的配置。
  • 当设置为 Unmanaged 时,Operator 不执行任何操作,供您手动管理日志记录组件。

4.2.5. 验证

日志记录包括广泛的验证规则和默认值,以确保平稳配置体验。ClusterLogForwarder 资源对必填字段、字段之间的依赖关系和输入值格式强制验证检查。为某些字段提供默认值,从而减少了常见场景中明确配置的需求。

4.2.6. 快速入门

先决条件

  • 您可以使用 cluster-admin 权限访问 Red Hat OpenShift Service on AWS 经典架构集群。
  • 已安装 OpenShift CLI(oc)。
  • 您可以访问受支持的对象存储。例如,AWS S3, Google Cloud Storage, Azure, Swift, Minio, 或 OpenShift Data Foundation。

流程

  1. 从 OperatorHub 安装 Red Hat OpenShift Logging OperatorLoki OperatorCluster Observability Operator (COO)
  2. 创建 secret 以访问现有的对象存储桶:

    AWS 的命令示例

    $ oc create secret generic logging-loki-s3 \
      --from-literal=bucketnames="<bucket_name>" \
      --from-literal=endpoint="<aws_bucket_endpoint>" \
      --from-literal=access_key_id="<aws_access_key_id>" \
      --from-literal=access_key_secret="<aws_access_key_secret>" \
      --from-literal=region="<aws_region_of_your_bucket>" \
      -n openshift-logging
    Copy to Clipboard Toggle word wrap

  3. openshift-logging 命名空间中创建 LokiStack 自定义资源(CR):

    apiVersion: loki.grafana.com/v1
    kind: LokiStack
    metadata:
      name: logging-loki
      namespace: openshift-logging
    spec:
      managementState: Managed
      size: 1x.extra-small
      storage:
        schemas:
        - effectiveDate: '2022-06-01'
          version: v13
        secret:
          name: logging-loki-s3
          type: s3
      storageClassName: gp3-csi
      tenants:
        mode: openshift-logging
    Copy to Clipboard Toggle word wrap
  4. 为收集器创建服务帐户:

    $ oc create sa collector -n openshift-logging
    Copy to Clipboard Toggle word wrap
  5. ClusterRole 绑定到服务帐户:

    $ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector -n openshift-logging
    Copy to Clipboard Toggle word wrap
  6. 创建一个 UIPlugin 以启用 Observe 选项卡中的 Log 部分:

    apiVersion: observability.openshift.io/v1alpha1
    kind: UIPlugin
    metadata:
      name: logging
    spec:
      type: Logging
      logging:
        lokiStack:
          name: logging-loki
    Copy to Clipboard Toggle word wrap
  7. 在 collector 服务帐户中添加额外的角色:

    $ oc adm policy add-cluster-role-to-user collect-application-logs -z collector -n openshift-logging
    Copy to Clipboard Toggle word wrap
    $ oc adm policy add-cluster-role-to-user collect-audit-logs -z collector -n openshift-logging
    Copy to Clipboard Toggle word wrap
    $ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z collector -n openshift-logging
    Copy to Clipboard Toggle word wrap
  8. 创建一个 ClusterLogForwarder CR 来配置日志转发:

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: collector
      namespace: openshift-logging
    spec:
      serviceAccount:
        name: collector
      outputs:
      - name: default-lokistack
        type: lokiStack
        lokiStack:
          target:
            name: logging-loki
            namespace: openshift-logging
          authentication:
            token:
              from: serviceAccount
        tls:
          ca:
            key: service-ca.crt
            configMapName: openshift-service-ca.crt
      pipelines:
      - name: default-logstore
        inputRefs:
        - application
        - infrastructure
        outputRefs:
        - default-lokistack
    Copy to Clipboard Toggle word wrap

验证

  • 验证日志是否在 Red Hat OpenShift Service on AWS 经典架构 web 控制台的 Observe 选项卡的 Log 部分可见。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat