第 1 章 Cluster Observability Operator 发行注记
Cluster Observability Operator (COO) 是一个可选的 OpenShift Container Platform Operator,它可让管理员创建独立监控堆栈,供不同的服务和用户使用。
COO 补充 OpenShift Container Platform 的内置监控功能。您可以使用由 Cluster Monitoring Operator (CMO) 管理的默认平台和用户工作负载监控堆栈并行部署它。
本发行注记介绍了 OpenShift Container Platform 中 Cluster Observability Operator 的开发。
下表提供了有关根据 Cluster Observability Operator 和 OpenShift Container Platform 版本提供哪些功能的信息:
| COO 版本 | OCP 版本 | 分布式追踪 | 日志记录 | 故障排除面板 | ACM 警报 | 事件检测 |
|---|---|---|---|---|---|---|
| 1.1+ | 4.12 - 4.14 | ✔ | ✔ | ✘ | ✘ | ✘ |
| 1.1+ | 4.15 | ✔ | ✔ | ✘ | ✔ | ✘ |
| 1.1+ | 4.16 - 4.18 | ✔ | ✔ | ✘ | ✔ | ✘ |
| 1.2+ | 4.19+ | ✔ | ✔ | ✔ | ✔ | ✔ |
从 OpenShift Container Platform 4.19 开始,Web 控制台中的视角会统一。Developer 视角不再默认启用。
所有用户都可以与所有 OpenShift Container Platform Web 控制台功能交互。但是,如果您不是集群所有者,您可能需要从集群所有者请求权限。
您仍然可以启用 Developer 视角。在 web 控制台中的 Getting Started 窗格中,您可以浏览控制台,查找有关设置集群的信息,查看启用 Developer 视角的快速启动,并按照链接探索新功能。
1.1. Cluster Observability Operator 1.3 复制链接链接已复制到粘贴板!
以下公告可用于 Cluster Observability Operator 1.3:
1.1.1. 新功能及功能增强 复制链接链接已复制到粘贴板!
- 事件检测功能达到正式发行(GA)
Cluster Observability Operator 中的事件检测功能在此发行版本中为 OpenShift Container Platform 版本 4.19+ 达到正式发行(GA)状态。事件检测通过将相关警报分组到事件中简化了可观察性。这有助于减少警报 fatigue,并允许您专注于问题的根本原因。有了正式发行(GA)状态,事件检测功能是生产环境的,并完全支持企业部署。用户可以通过设置
spec.monitoring.incidents.enabled: true来启用通过监控UIPlugin资源的事件检测。如需更多信息,请参阅 事件检测
- 事件视图支持静默的警报
监控 UI 插件中的事件视图支持此发行版本中静默的警报。静默的警报显示在事件检测 UI 中的
Silenced状态,并出现在时间表中。这有助于您将其与活跃警报区分开,并了解集群可观察性信号的完整状态。- 故障排除达到正式发行(GA)
Cluster Observability Operator 中的故障排除功能在此发行版本中为 OpenShift Container Platform 版本 4.19+ 达到正式发行(GA)状态,且在早期版本中不被支持。故障排除 UI 插件提供可观察信号相关性,由开源 Korrel8r 项目提供支持。通过故障排除面板,您可以在不同的数据存储中轻松关联指标、日志、警报、网络流和其他可观察信号和资源。
如需更多信息,请参阅 UI 插件故障排除
- ObservabilityInstaller 自定义资源的端到端可观察性
-
Cluster Observability Operator 提供了一个
ObservabilityInstaller自定义资源,用于部署端到端可观察性,并将最小配置作为技术预览功能。ObservabilityInstaller自定义资源通过自动管理 Operator 安装、存储配置和 UI 集成来简化日志记录、追踪和 OpenTelemetry 功能的部署。
1.1.2. 程序错误修复 复制链接链接已复制到粘贴板!
- 故障排除面板可以正确处理 OpenShift Container Platform 4.19 警报 URL
在此次更新之前,OpenShift Container Platform 4.19 引入了对警报 URL 格式的更改,其中有些 URL 只包含控制台内部数字 ID,而无需警报名称。因此,korrel8r 故障排除面板无法正确处理这些 URL,且无法将警报与相关资源关联。
在这个版本中,korrel8r 可以正确地处理 OpenShift Container Platform 4.19 中的警报 URL,包括仅包含数字标识符的 URL。因此,故障排除面板可用于 OpenShift Container Platform 4.19 集群中的所有警报类型。
UIPlugin监控配置在 Operator 升级后保留在此次更新之前,当将 Cluster Observability Operator 从 1.2.0 升级到 1.2.1 或更高版本时,在升级过程中会删除监控
UIPlugin配置。UIPluginspec 为空,只显示插件类型,同时丢失 RHACM 集成设置、Perses 仪表板和事件管理设置。因此,升级后无法访问监控仪表板和功能,Operator 会记录错误,表示监控配置对于插件类型 Monitoring 不可为空。在这个版本中,Cluster Observability Operator 在升级过程中可以正确地保留监控
UIPlugin配置。因此,在 Operator 升级后,监控仪表板、RHACM 集成和事件管理功能仍可用,而无需手动重新配置。- 在所有协调场景中,
UIPlugin状态会正确更新 在此次更新之前,
UIPlugin控制器不会更新所有协调场景中的自定义资源 status 字段。当发生协调错误时,控制器无法更新状态,从而导致在没有应用配置更改时报告成功。因此,用户无法通过 status 字段准确决定UIPlugin资源的状态,且必须检查 generation 字段或 operator 日志来调试问题。在这个版本中,Cluster Observability Operator 在所有协调场景中可以正确地更新
UIPlugin状态,包括错误条件。因此,用户可以依赖UIPluginstatus 字段来准确反映资源的当前状态,并更有效地对配置问题进行故障排除。- 分布式追踪
UIPlugin处理 TraceQL 查询中的双引号 在此次更新之前,COO 1.2.2 中的分布式追踪
UIPlugin无法正确处理 TraceQL 查询表达式中的双引号。当属性值包含双引号时,查询解析器会失败,如 HTTP 路由属性中的正则表达式模式。因此,用户无法使用包含双引号的属性查询 trace,即使从用户界面中的下拉菜单选择了这些值。在这个版本中,Red Hat OpenShift Cluster Observability Operator distributed tracing 控制台插件可以正确地处理在属性值中包含双引号的 TraceQL 查询。因此,用户可以使用任何属性值查询 trace,包括包含特殊字符(如双引号)的 trace。
- 只有在部署了故障排除面板时,才会将日志记录视图插件代理到 korrel8r
在此次更新之前,COO 1.2.1 中的日志记录视图插件被配置为将 Red Hat OpenShift Cluster Observability Operator 控制台代理到 korrel8r 服务,即使没有部署故障排除面板
UIPlugin。控制台会尝试连接到不存在的服务,从而导致权限被拒绝。因此,用户在日志记录视图中遇到临时的 "Missing permissions to get logs" 错误信息,它会在 30-60 秒后自行解决,而无需用户干预。在这个版本中,Cluster Observability Operator 仅在部署故障排除面板
UIPlugin时,在日志记录视图插件中配置 korrel8r 代理。因此,在没有故障排除面板的情况下,用户在查看日志时不再遇到假的权限错误。- 分布式追踪搜索字段支持键盘导航
在此次更新之前,分布式追踪控制台插件搜索字段不支持仅限键盘的导航。当用户输入过滤器值并按
Enter选择它时,页面会重置为租户选择屏幕,而不是应用过滤器。因此,只有键盘的用户无法通过服务名称或其他属性过滤 trace,并被强制使用基于鼠标的选择。在这个版本中,Red Hat OpenShift Cluster Observability Operator distributed tracing 控制台插件可以正确地处理搜索字段中的
Enter键。因此,用户可以使用仅限键盘的导航应用 trace 过滤器,从而提高了可访问性。UIPlugin配置更改移除禁用的功能 pod在此次更新之前,COO 1.2.1 中的
UIPlugin控制器不会在用户更新配置时为禁用的功能删除 pod。当用户在UIPlugin规格中设置perses.enabled: false或incidents.enabled: false时,关联的 pod (perses-0 和 health-analyzer)会继续运行。因此,用户无法禁用 Perses 仪表板或事件功能,禁用禁用的组件仍然消耗集群资源。在这个版本中,Cluster Observability Operator 在
UIPlugin配置中被禁用时可以正确地删除 pod。因此,用户可以通过更新UIPlugin规格来启用或禁用 Perses 和 eventss 功能,相关的 pod 会相应地创建或删除。