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 - 配置日志记录收集器。 - 日志转发
-
通过在
ClusterLogForwarderCR 中指定输出和管道的组合,将日志发送到 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-loggingCopy 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-collectorCopy 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-collectorCopy 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 yamlCopy 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-loggingCopy 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-collectorCopy 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 可选: 要降低日志丢失的风险,请使用以下选项配置
ClusterLogForwarderpod:为日志收集器定义资源请求和限值,如下所示:
收集器配置示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 定义日志交付的
调优选项,包括交付、压缩和RetryDuration。可以根据需要按输出应用调优。调优配置示例tuning: delivery: AtLeastOnce compression: none minRetryDuration: 1s maxRetryDuration: 10s
tuning: delivery: AtLeastOnce1 compression: none minRetryDuration: 1s maxRetryDuration: 10sCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
AtLeastOnce交付模式意味着,如果日志转发器崩溃或重启,任何在崩溃前读取的日志都会重新发送到其目的地。有些日志可能会在崩溃后重复。
验证
- 通过在 Splunk 仪表板中查看日志,以确认日志被转发到 Splunk 实例。
- 根据需要使用 OpenShift Container Platform 和 Splunk 日志排除任何问题。