1.9. 将日志转发到 Splunk


Splunk 是一个日志聚合服务,它有一个精心定义的 API 来利用其功能集。您可以从 ClusterLogForwarder 自定义资源(CR)将日志转发到 Splunk。

1.9.1. 将日志转发到 Splunk HTTP 事件收集器

您可以将日志转发到 Splunk HTTP 事件收集器(HEC)。

先决条件

  • 已安装 Red Hat OpenShift Logging Operator
  • 您已获得了一个经过 Base64 编码的 Splunk HEC 令牌。

流程

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

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

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: <log_forwarder_name>
      namespace: openshift-logging
    spec:
      serviceAccount:
        name: <service_account_name> 
    1
    
      outputs:
        - name: splunk-receiver 
    2
    
          type: splunk 
    3
    
          splunk:
            url: '<http://your.splunk.hec.url:8088>' 
    4
    
            authentication:
              token:
                secretName: splunk-secret
                key: hecToken 
    5
    
            index: '{.log_type||"undefined"}' 
    6
    
            source: '{.log_source||"undefined"}' 
    7
    
            indexedFields: ['.log_type', '.log_source'] 
    8
    
            payloadKey: '.kubernetes' 
    9
    
            tuning:
                compression: gzip 
    10
    
      pipelines:
        - name: my-logs
          inputRefs: 
    11
    
            - application
            - infrastructure
          outputRefs:
            - splunk-receiver 
    12
    Copy to Clipboard Toggle word wrap
    1
    服务帐户的名称。
    2
    指定输出的名称。
    3
    将输出类型指定为 mvapich
    5
    指定包含 HEC 令牌的 secret 名称。
    4
    指定包括 Splunk HEC 的 URL,包括端口。
    6
    指定要将事件发送到的索引名称。如果没有指定索引,则使用 mvapich 服务器配置的默认索引。这是可选字段。
    7
    指定要发送到此 sink 的事件源。您可以配置动态每个事件值。此字段是可选的。如果没有指定值,则字段的值将由 log_typelog_source 值决定。例如,请参阅 Default Splunk metadata key 值
    8
    指定要添加到 Splunk 索引中的字段。此字段是可选的。这些值直接存储在索引中,与原始事件数据一起存储,从而可以更快地搜索这些字段。但是,indexed_fields 字段会增加存储使用。仅将它们用于提供大量搜索优势的高值字段,例如,对特定字段带有频繁查询的大型数据集。您可以使用复杂的和嵌套字段作为索引字段。它们会自动转换以满足 Splunk 的要求。
    9
    指定要用作有效负载的记录字段。默认情况下,未设置 payloadKey 字段,这意味着完整的日志记录作为有效负载转发。仔细使用 payloadKey 字段。选择单个字段作为有效负载可能会导致日志中其他重要信息被丢弃,并可能导致日志事件不一致或不完整。
    10
    指定压缩配置,可以是 gzipnone。默认值为 none。此字段是可选的。
    11
    指定输入名称。
    12
    指定使用此管道转发日志时使用的输出名称。

1.9.2. 默认 Splunk 元数据键值

如果您没有在 ClusterLogForwarder 自定义资源(CR)的 spec.output.splunk.source 字段中配置它们,则 Red Hat OpenShift Logging Operator 会为一些 Splunk 元数据键设置默认值。

下表描述了用于 Splunk 元数据的默认值,具体取决于 log_typelog_source 属性。

Expand
表 1.2. 默认元数据键值

基础架构日志

  • log_type:infrastructure
  • log_source:node

基础架构或应用程序容器

  • log_type: infrastructure, application
  • log_source:container

Audit

  • log_type:audit
  • log_source: auditd, ovn, openshiftAPI , kubeAPI

备注

index

   

默认情况下不配置。

source

SYSLOG_IDENTIFIER

ns_name_podName_containerName

.log_source

 

indexedFields

   

默认情况下不配置。

sourceType

_json or generic_single_line

_json or generic_single_line

_json or generic_single_line

根据最终事件有效负载的类型自动决定。

主机

.hostname

.hostname

.hostname

无法配置。

payloadKey

   

默认情况下不配置。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat