This documentation is for a release that is no longer maintained
See documentation for the latest supported version.第 2 章 在 OpenShift Container Platform 上为 Developer Hub 配置审计日志
使用 OpenShift Container Platform Web 控制台将以下 OpenShift Container Platform 日志记录组件配置为使用 Developer Hub 的审计日志记录:
- 日志记录部署
- 配置日志记录环境,包括每个日志记录组件的 CPU 和内存限值。如需更多信息,请参阅 Red Hat OpenShift Container Platform - 配置日志记录部署。
- 日志记录收集器
-
配置
ClusterLogging
自定义资源(CR)中的spec.collection
小节,以使用支持的对日志收集器的修改,并从STDOUT
收集日志。如需更多信息,请参阅 Red Hat OpenShift Container Platform - 配置日志记录收集器。 - 日志转发
-
通过在
ClusterLogForwarder
CR 中指定输出和管道的组合,将日志发送到 OpenShift Container Platform 集群内部和外部的特定端点。如需更多信息,请参阅 Red Hat OpenShift Container Platform - 启用 JSON 日志转发 和 Red Hat OpenShift Container Platform - 配置日志转发。
2.1. 将 Red Hat Developer Hub 审计日志转发到 Splunk 复制链接链接已复制到粘贴板!
您可以使用 Red Hat OpenShift Logging (OpenShift Logging) Operator 和 ClusterLogForwarder
实例从 Developer Hub 实例捕获流的审计日志,并将它们转发到与 Splunk 实例关联的 HTTPS 端点。
先决条件
- 您有一个在受支持的 OpenShift Container Platform 版本上运行的集群。
-
有具有
cluster-admin
权限的帐户。 - 您有一个 Splunk Cloud 帐户或 Splunk Enterprise 安装。
流程
- 登录您的 OpenShift Container Platform 集群。
在
openshift-logging
命名空间中安装 OpenShift Logging Operator 并切换到命名空间:切换到命名空间的命令示例
oc project openshift-logging
oc project openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为
log-collector
的serviceAccount
,并将collect-application-logs
角色绑定到serviceAccount
:创建
serviceAccount
的命令示例oc create sa log-collector
oc create sa log-collector
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将角色绑定到
serviceAccount
的命令示例oc create clusterrolebinding log-collector --clusterrole=collect-application-logs --serviceaccount=openshift-logging:log-collector
oc create clusterrolebinding log-collector --clusterrole=collect-application-logs --serviceaccount=openshift-logging:log-collector
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在 Splunk 实例中生成
hecToken
。 在
openshift-logging
命名空间中创建 key/value secret 并验证 secret:使用
hecToken
创建键/值 secret 的命令示例oc -n openshift-logging create secret generic splunk-secret --from-literal=hecToken=<HEC_Token>
oc -n openshift-logging create secret generic splunk-secret --from-literal=hecToken=<HEC_Token>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 secret 的命令示例
oc -n openshift-logging get secret/splunk-secret -o yaml
oc -n openshift-logging get secret/splunk-secret -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个基本的 'ClusterLogForwarder' 资源 YAML 文件,如下所示:
'ClusterLogForwarder'resource YAML 文件示例
apiVersion: logging.openshift.io/v1 kind: ClusterLogForwarder metadata: name: instance namespace: openshift-logging
apiVersion: logging.openshift.io/v1 kind: ClusterLogForwarder metadata: name: instance namespace: openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅创建日志转发器。
使用 OpenShift Web 控制台或 OpenShift CLI 定义以下
ClusterLogForwarder
配置:在 YAML 文件中将
log-collector
指定为serviceAccount
:serviceAccount
配置示例serviceAccount: name: log-collector
serviceAccount: name: log-collector
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置
输入
以指定要转发的日志的类型和源。以下配置可让转发器从提供命名空间中的所有应用程序捕获日志:输入
配置示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅 从特定 pod 转发应用程序日志。
配置输出,以指定发送捕获的日志的位置。在这一步中,着重介绍 mvapich
类型
。如果 Splunk 端点使用自签名 TLS 证书(不推荐)或使用 Secret 提供证书链,您可以使用tls.insecureSkipVerify
选项。输出
配置示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅 OpenShift Container Platform 文档中的 将日志转发到 Splunk。
可选:过滤日志以只包含审计日志:
过滤器
配置示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅 OpenShift Container Platform 文档中的 按内容 过滤日志。
配置管道,将日志从特定输入路由到指定的输出。使用定义的输入和输出的名称为每个管道指定多个
inputRefs
和outputRefs
:管道
配置示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
运行以下命令以应用
ClusterLogForwarder
配置:应用
ClusterLogForwarder
配置示例oc apply -f <ClusterLogForwarder-configuration.yaml>
oc apply -f <ClusterLogForwarder-configuration.yaml>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 要降低日志丢失的风险,请使用以下选项配置
ClusterLogForwarder
pod:为日志收集器定义资源请求和限值,如下所示:
收集器
配置示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 定义日志交付的
调优选项
,包括交付
、压缩
和RetryDuration
。可以根据需要按输出应用调优。调优
配置示例tuning: delivery: AtLeastOnce compression: none minRetryDuration: 1s maxRetryDuration: 10s
tuning: delivery: AtLeastOnce
1 compression: none minRetryDuration: 1s maxRetryDuration: 10s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
AtLeastOnce
交付模式意味着,如果日志转发器崩溃或重启,任何在崩溃前读取的日志都会重新发送到其目的地。有些日志可能会在崩溃后重复。
验证
- 通过在 Splunk 仪表板中查看日志,以确认日志被转发到 Splunk 实例。
- 根据需要使用 OpenShift Container Platform 和 Splunk 日志排除任何问题。