13.9. OpenShift Container Platform 集群监控、日志记录和遥测技术
OpenShift Container Platform 在集群层面提供各种监控资源。
13.9.1. 关于 OpenShift Container Platform 监控
OpenShift Container Platform 包括一个预配置、预安装和自我更新的监控堆栈,可为核心平台组件提供监控。OpenShift Container Platform 提供了与监控相关的现成的最佳实践。其中默认包括一组警报,可立即就集群问题通知集群管理员。OpenShift Container Platform Web 控制台中的默认仪表板包括集群指标的直观表示,以帮助您快速了解集群状态。
安装 OpenShift Container Platform 4.11 后,集群管理员可以选择性地为用户定义的项目启用监控。通过使用此功能,集群管理员、开发人员和其他用户可以指定在其自己的项目中如何监控服务和 Pod。然后,您可以在 OpenShift Container Platform web 控制台中查询指标、查看仪表板,并管理您自己的项目的警报规则和静默。
集群管理员可以授予开发人员和其他用户权限来监控他们自己的项目。通过分配一个预定义的监控角色即可授予权限。
13.9.2. 日志记录架构
日志记录的主要组件有:
- 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 文件中,以及
auditd
、kube-apiserver
、openshift-apiserver
服务以及ovn
项目(如果启用)中的日志。
如需有关 OpenShift Logging 的更多信息,请参阅 OpenShift Logging 文档。
13.9.3. 关于 Telemetry
Telemetry 会向红帽发送一组精选的集群监控指标子集。Telemeter 客户端每四分三十秒获取一次指标值,并将数据上传到红帽。本文档中描述了这些指标。
红帽使用这一数据流来实时监控集群,必要时将对影响客户的问题做出反应。它同时还有助于红帽向客户推出 OpenShift Container Platform 升级,以便最大程度降低服务影响,持续改进升级体验。
这类调试信息将提供给红帽支持和工程团队,其访问限制等同于访问通过问题单报告的数据。红帽利用所有连接集群信息来帮助改进 OpenShift Container Platform,提高其易用性。
13.9.3.1. Telemetry 收集的信息
Telemetry 收集以下信息:
13.9.3.1.1. 系统信息
- 版本信息,包括 OpenShift Container Platform 集群版本并安装了用于决定更新版本可用性的更新详情
- 更新信息,包括每个集群可用的更新数、用于更新的频道和镜像存储库、更新进度信息以及更新中发生的错误数
- 安装期间生成的唯一随机标识符
- 帮助红帽支持为客户提供有用支持的配置详情,包括云基础架构级别的节点配置、主机名、IP 地址、Kubernetes pod 名称、命名空间和服务
- 在集群中安装的 OpenShift Container Platform 框架组件及其状况和状态
- 为降级 Operator 列出为 "related objects" 的所有命名空间的事件
- 有关降级软件的信息
- 有关证书的有效性的信息
- 部署 OpenShift Container Platform 的供应商平台的名称及数据中心位置
13.9.3.1.2. 大小信息
- 有关集群、机器类型和机器的大小信息,包括 CPU 内核数和每个机器所使用的 RAM 量
- 集群中正在运行的虚拟机实例的数量
- etcd 成员数和存储在 etcd 集群中的对象数量
- 根据构建策略类型进行应用构建数量
13.9.3.1.3. 使用信息
- 有关组件、功能和扩展的使用情况信息
- 有关技术预览和不受支持配置的使用详情
Telemetry 不会收集任何身份识别的信息,如用户名或密码。红帽不会收集个人信息。如果红帽发现个人信息被意外地收到,红帽会删除这些信息。有关红帽隐私实践的更多信息,请参考红帽隐私声明。
13.9.4. CLI 故障排除和调试命令
如需 oc
客户端故障排除和调试命令列表,请参阅 OpenShift Container Platform CLI 工具文档。