第 4 章 关于日志记录

作为集群管理员,您可以在 OpenShift Container Platform 集群上部署 logging,并使用它来收集和聚合节点系统日志、应用程序容器日志和基础架构日志。您可以将日志转发到所选的日志输出,包括在线集群、红帽管理的日志存储。您还可以视觉化 OpenShift Container Platform Web 控制台或 Kibana Web 控制台中的日志数据,具体取决于您部署的日志存储解决方案。

注意

Kibana Web 控制台现已弃用,计划在以后的日志记录发行版本中删除。

OpenShift Container Platform 集群管理员可以使用 Operator 部署日志记录。如需更多信息,请参阅安装日志记录

Operator 负责部署、升级和维护日志记录。安装 Operator 后,您可以创建一个 ClusterLogging 自定义资源(CR)来调度日志记录 pod 和支持日志记录所需的其他资源。您还可以创建一个 ClusterLogForwarder CR 来指定收集哪些日志、如何转换日志以及它们被转发到的位置。

注意

由于内部 OpenShift Container Platform Elasticsearch 日志存储无法为审计日志提供安全存储,所以审计日志默认不会存储在内部 Elasticsearch 实例中。如果要将审计日志发送到默认的内部 Elasticsearch 日志存储,例如要在 Kibana 中查看审计日志,则必须使用 Log Forwarding API,如 将审计日志转发到日志存储 中所述。

4.1. 日志记录架构

日志记录的主要组件有:

Collector

收集器是一个 daemonset,它将 pod 部署到每个 OpenShift Container Platform 节点。它从每个节点收集日志数据,转换数据并将其转发到配置的输出。您可以使用 Vector 收集器或旧的 Fluentd 收集器。

注意

Fluentd 已被弃用,计划在以后的发行版本中删除。红帽将在当前发行生命周期中将提供对这个功能的 bug 修复和支持,但此功能将不再获得改进。作为 Fluentd 的替代选择,您可以使用 Vector。

日志存储

日志存储存储用于分析的日志数据,是日志转发器的默认输出。您可以使用默认的 LokiStack 日志存储、传统的 Elasticsearch 日志存储,或将日志转发到额外的外部日志存储。

注意

OpenShift Elasticsearch Operator 已被弃用,计划在以后的发行版本中删除。红帽将在当前发行生命周期中将提供对这个功能的 bug 修复和支持,但此功能将不再获得改进。您可以使用 Loki Operator 作为 OpenShift Elasticsearch Operator 的替代方案来管理默认日志存储。

视觉化

您可以使用 UI 组件查看日志数据的可视化表示。UI 提供了一个图形界面,用于搜索、查询和查看存储的日志。OpenShift Container Platform Web 控制台 UI 通过启用 OpenShift Container Platform 控制台插件来提供。

注意

Kibana Web 控制台现已弃用,计划在以后的日志记录发行版本中删除。

日志记录收集容器日志和节点日志。它们被归类为:

应用程序日志
由集群中运行的用户应用程序生成的容器日志(基础架构容器应用程序除外)。
基础架构日志
由基础架构命名空间生成的容器日志: openshift*kube*default,以及来自节点的 journald 信息。
审计日志
由 auditd 生成的日志,节点审计系统存储在 /var/log/audit/audit.log 文件中,以及 auditdkube-apiserveropenshift-apiserver 服务以及 ovn 项目(如果启用)中的日志。