11.15. 将日志转发到 Splunk

除了内部的默认 OpenShift Container Platform 日志存储外,您还可以将日志转发到 Splunk HTTP 事件收集器 (HEC)

注意

不支持在 Fluentd 中使用此功能。

先决条件

  • Red Hat OpenShift Logging Operator 5.6 及更高版本
  • 指定为 collector 的 ClusterLogging 实例
  • Base64 编码的 Splunk HEC 令牌

流程

  1. 使用您的 Base64 编码的 Splunk HEC 令牌创建 secret。

    $ oc -n openshift-logging create secret generic vector-splunk-secret --from-literal hecToken=<HEC_Token>
  2. 使用以下模板创建或编辑 ClusterLogForwarder 自定义资源 (CR):

      apiVersion: "logging.openshift.io/v1"
      kind: "ClusterLogForwarder"
      metadata:
        name: "instance" 1
        namespace: "openshift-logging" 2
      spec:
        outputs:
          - name: splunk-receiver 3
            secret:
              name: vector-splunk-secret 4
            type: splunk 5
            url: <http://your.splunk.hec.url:8088> 6
        pipelines: 7
          - inputRefs:
              - application
              - infrastructure
            name: 8
            outputRefs:
              - splunk-receiver 9
    1
    ClusterLogForwarder CR 的名称必须是 instance
    2
    ClusterLogForwarder CR 的命名空间必须是 openshift-logging
    3
    指定输出的名称。
    4
    指定包含 HEC 令牌的 secret 名称。
    5
    将输出类型指定为 mvapich
    6
    指定 Splunk HEC 的 URL (包括端口)。
    7
    使用管道指定要转发的日志类型:application, infrastructure, 或 audit
    8
    可选:指定管道的名称。
    9
    指定使用此管道转发日志时使用的输出名称。