第 5 章 了解 Red Hat OpenShift 的日志记录子系统
作为集群管理员,您可以部署 logging 子系统来聚合 OpenShift Container Platform 集群中的所有日志,如节点系统日志、应用程序容器日志和基础架构日志等。logging 子系统会汇总整个集群中的这些日志,并将它们存储在默认日志存储中。您可以使用 Kibana web 控制台来视觉化日志数据。
logging 子系统聚合了以下类型的日志:
-
application
- 由集群中运行的用户应用程序生成的容器日志(基础架构容器应用程序除外)。 -
infrastructure
- 在集群和 OpenShift Container Platform 节点上运行的基础架构组件生成的日志,如 journal 日志。基础架构组件是在openshift*
、kube*
或default
项目中运行的 pod。 -
audit
- 由 auditd 生成的日志,节点审计系统存储在 /var/log/audit/audit.log 文件中,以及 Kubernetes apiserver 和 OpenShift apiserver 的审计日志。
由于内部 OpenShift Container Platform Elasticsearch 日志存储无法为审计日志提供安全存储,所以审计日志默认不会存储在内部 Elasticsearch 实例中。如果要将审计日志发送到默认的内部 Elasticsearch 日志存储,例如要在 Kibana 中查看审计日志,则必须使用 Log Forwarding API,如将 审计日志转发到日志存储 中所述。
5.1. 日志的支持注意事项
日志记录作为一个可安装的组件提供,它有一个不同于 OpenShift Container Platform 的发布周期。Red Hat OpenShift Container Platform 生命周期政策概述了发行版本兼容性。
为 Red Hat OpenShift 配置日志记录子系统的支持方法是使用本文档中介绍的选项进行配置。请勿使用其他配置,因为不受支持。各个 OpenShift Container Platform 发行版本的配置范例可能会有所变化,只有掌握了所有可能的配置,才能稳妥应对这样的配置变化。如果使用本文档中描述的配置以外的配置,您的更改可能会丢失,因为 Operator 会协调差异。按照设计,Operator 会默认将一切还原到定义的状态。
如果必须执行 OpenShift Container Platform 文档中未描述的配置,您需要将 Red Hat OpenShift Logging Operator 设置为 Unmanaged
。一个不受管理的 OpenShift Logging 环境不被支持,且不会接收更新,直到 OpenShift Logging 返回到 Managed
。
明确不支持以下修改:
- 将日志记录部署到文档中未指定的命名空间。
- 在 OpenShift Container Platform 上安装自定义 Elasticsearch、Kibana、Fluentd 或 Loki 实例。
- 对 Kibana 自定义资源 (CR)或 Elasticsearch CR 的更改。
- 对文档中未指定的 secret 或配置映射的更改。
Red Hat OpenShift 的 logging 子系统是一个建议的收集器,以及应用程序、基础架构和审计日志的规范化程序。它旨在将日志转发到各种支持的系统。
Red Hat OpenShift 的 logging 子系统不是:
- 一个大规模日志收集系统
- 兼容安全信息和事件监控 (SIEM)
- 历史或长日志的保留或存储
- 保证的日志接收器
- 安全存储 - 默认不存储审计日志