Red Hat OpenShift Cluster Observability Operator 的 UI 插件
为 Cluster Observability Operator 安装和管理 UI 插件。
摘要
第 1 章 Observability UI 插件概述 复制链接链接已复制到粘贴板!
您可以使用 Cluster Observability Operator (COO) 来安装和管理 UI 插件,以增强 OpenShift Container Platform Web 控制台的可观察性功能。该插件扩展默认功能,提供新的 UI 功能,用于故障排除、分布式追踪和集群日志记录。
1.1. 监控 复制链接链接已复制到粘贴板!
监控 UI 插件在 OpenShift Container Platform Web 控制台中为 Advance Cluster Management (ACM)视角和事件检测添加监控相关的 UI 功能。
- ACM : Cluster Observability Operator (COO) 中的监控插件允许它在 Red Hat Advanced Cluster Management (RHACM) 环境中使用,为 ACM 提供与 OpenShift Container Platform 相同的监控功能。
- 事件检测: 事件检测功能将根据事件将警报进行分组,以帮助您识别警报突发的根本原因,而不是由单个警报造成破坏。它呈现了一个事件时间线,根据严重性使用不同的颜色,您可以深入到事件中的单个警报中。系统还会根据受影响的组件进行分类,以帮助您首先专注于最重要的地方。
如需更多信息,请参阅监控 UI 插件页。
1.2. 集群日志记录 复制链接链接已复制到粘贴板!
日志记录 UI 插件在 Observe → Logs 页的 web 控制台中提供日志数据。您可以指定过滤器、查询、时间范围和刷新率。结果显示折叠日志列表,然后扩展以显示每个日志的详细信息。
如需更多信息,请参阅日志记录 UI 插件页。
1.3. 故障排除 复制链接链接已复制到粘贴板!
Cluster Observability Operator 故障排除面板 UI 插件只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
OpenShift Container Platform 版本 4.16+ 的故障排除面板 UI 插件提供了可观察信号关联,由开源 Korrel8r 项目提供支持。您可以使用 Observe → Alerting 页中的故障排除面板在不同数据存储中轻松关联指标、日志、警报、网络流和其他可观察信号和资源。OpenShift Container Platform 版本 4.17+ 的用户可从 Application Launcher
访问故障排除 UI 面板。
Korrel8r 的输出显示为交互式节点图。当您点节点时,会使用该节点的具体信息自动重定向到对应的 web 控制台页,如指标、日志或 pod。
如需更多信息,请参阅 UI 插件故障排除页。
1.4. 分布式追踪 复制链接链接已复制到粘贴板!
Cluster Observability Operator distributed tracing UI 插件只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
分布式追踪 UI 插件在 Observe → Traces 页的 web 控制台中添加与追踪相关的功能。您可以跟踪通过前端和微服务后端的请求,帮助您识别分布式系统中的代码错误和性能瓶颈。您可以选择在集群中运行的 TempoStack
或 TempoMonolithic
多租户实例,并设置时间范围和查询来查看 trace 数据。
如需更多信息,请参阅分布式追踪 UI 插件页。
第 2 章 监控 UI 插件 复制链接链接已复制到粘贴板!
Cluster Observability Operator 监控 UI 插件只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
监控 UI 插件将监控功能添加到 OpenShift Container Platform Web 控制台的 Administrator 视角中。
从 OpenShift Container Platform 4.19 开始,Web 控制台中的视角会统一。Developer 视角不再默认启用。
所有用户都可以与所有 OpenShift Container Platform Web 控制台功能交互。但是,如果您不是集群所有者,您可能需要从集群所有者请求权限。
您仍然可以启用 Developer 视角。在 web 控制台中的 Getting Started 窗格中,您可以浏览控制台,查找有关设置集群的信息,查看启用 Developer 视角的快速启动,并按照链接探索新功能。
- RHACM: Cluster Observability Operator (COO) 中的监控插件允许它在 Red Hat Advanced Cluster Management (RHACM) 环境中使用,为 ACM 提供与 OpenShift Container Platform 相同的警报功能。您可以将插件配置为从 RHACM Alertmanager 后端获取警报。这可以通过协调 RHACM 和 OpenShift Container Platform 监控工作流来实现无缝集成和用户体验。
事件检测: 事件检测功能将根据事件将警报进行分组,以帮助您识别警报突发的根本原因,而不是由单个警报造成破坏。它呈现了一个事件时间线,根据严重性使用不同的颜色,您可以深入到事件中的单个警报中。系统还会根据受影响的组件进行分类,并按严重性分组。这有助于您首先关注最重要的部分。
事件检测功能位于 Observe → Incidents 的 OpenShift Container Platform web 控制台中。
2.1. 安装 Cluster Observability Operator 监控 UI 插件 复制链接链接已复制到粘贴板!
监控 UI 插件在 OpenShift Container Platform Web 控制台中为 Advance Cluster Management (ACM)视角和事件检测添加监控相关的 UI 功能。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 - 已登陆到 OpenShift Container Platform Web 控制台。
- 已安装 Cluster Observability Operator
流程
- 在 OpenShift Container Platform web 控制台中,点 Operators → Installed Operators 并选择 Cluster Observability Operator
- 选择 UI Plugin 选项卡(在选项卡列表的最右侧),然后按 Create UIPlugin
选择 YAML 视图,输入以下内容,然后按 Create :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2. Cluster Observability Operator 事件检测概述 复制链接链接已复制到粘贴板!
集群可能会生成大量监控数据,使用户难以将关键的信号与“噪音”区分。单个事件可能会触发一系列的警报,这可能会延长检测和解决问题的时间。
Cluster Observability Operator 事件检测功能会将相关的警报分组为事件。然后,这些事件会被视觉化,根据严重性使用不同的颜色来组成一个时间线。警报被映射到特定的组件,按严重性进行分组,以帮助您在识别根本原因时首先关注高影响组件。然后,您可以在从事件时间线具体到单独的警报,以确定如何修复根本问题。
Cluster Observability Operator 事件检测转换了警报的清晰步骤,以更快地理解和解析集群中发生的事件。
2.3. 使用 Cluster Observability Operator 事件检测 复制链接链接已复制到粘贴板!
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 - 已登陆到 OpenShift Container Platform Web 控制台。
- 已安装 Cluster Observability Operator。
- 已安装启用了事件检测的 Cluster Observability Operator 监控 UI 插件。
流程
- 在 web 控制台的 Administrator 视角中,点 Observe → Incidents。
Incidents Timeline UI 显示分组的警报作为事件。图中行的不同颜色与事件中的不同严重性对应。默认情况下会显示 7 天时间线。
注意在启用事件检测后,至少需要 10 分钟来处理关联性和查看时间线。
只有在启用了此功能后,才会对触发的警报执行分析和分组。在功能启用前已解决的警报。
点下拉菜单来指定持续时间,缩放到 1 天范围的视图。
通过点事件,您可以在 Alerts Timeline UI 中查看作为该事件一部分的警报时间线。
在后续警报列表中,警报映射到特定组件,按严重性分组。
单击以展开列表中的计算组件。此时会显示与该组件相关的底层警报。
- 点触发警报的链接,查看该警报的详细信息。
已知问题
- 根据时间表栏的顺序,工具提示可能会重叠并隐藏底层条。您仍然可以点该条,然后选择事件或警报。
第 3 章 Logging UI 插件 复制链接链接已复制到粘贴板!
logging UI 插件会在 OpenShift Container Platform web 控制台的 Observe → Logs 页中显示日志数据。您可以指定过滤条件、查询、时间范围和刷新率,其结果显示为一个折叠的日志列表,您可以扩展它来显示每个日志的更多详细信息。
如果您在 OpenShift Container Platform 版本 4.16+ 上部署 Troubleshooting UI 插件,它会连接到 Korrel8r 服务,并从 Observe → Logs 页面添加指向 web 控制台的直接链接,到 Observe → Metrics 页面,使用关联的 PromQL 查询。该插件还在 Observe → Alerting 中添加了来自 web 控制台警报详情页面的 Seelated Logs 链接,并选一个关联过滤器集的 Observe → Logs 页面。
插件的功能可以归类为:
- dev-console
- 将日志记录视图添加到 Web 控制台。
- alerts
- 将 Web 控制台警报与 Loki 规则器中定义的基于日志的警报合并。在警报详情视图中添加基于日志的指标图表。
- dev-alerts
- 将 Web 控制台警报与 Loki 规则器中定义的基于日志的警报合并。在 web 控制台的警报详情视图中添加基于日志的指标图表。
对于 Cluster Observability Operator (COO) 版本,下表显示了对 OpenShift Container Platform 版本中的这些功能的支持信息:
COO 版本 | OCP 版本 | 功能 |
---|---|---|
0.3.0+ | 4.12 |
|
0.3.0+ | 4.13 |
|
0.3.0+ | 4.14+ |
|
3.1. 安装 Cluster Observability Operator 日志记录 UI 插件 复制链接链接已复制到粘贴板!
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。 - 已登陆到 OpenShift Container Platform Web 控制台。
- 已安装 Cluster Observability Operator。
-
在集群中有一个
LokiStack
实例。
流程
- 在 OpenShift Container Platform web 控制台中,点 Operators → Installed Operators 并选择 Cluster Observability Operator。
- 选择 UI Plugin 选项卡(位于选项卡列表的最右侧),然后点 Create UIPlugin。
选择 YAML 视图,输入以下内容,然后点 Create :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
schema
是otel
,viaq
, 或select
之一。如果没有指定值,则默认为viaq
。在选择select
时,您可以在运行查询时在 UI 中选择模式。
注意日志记录 UI 插件的已知问题 - 如需更多信息,请参阅 OU-587。
-
schema
功能只在 OpenShift Container Platform 4.15 及更新的版本中被支持。在早期版本的 Red Hat OpenShift Cluster Observability Operator 中,日志记录 UI 插件将只使用viaq
属性,忽略可能设置的任何其他值。 -
非管理员用户无法使用带有 Red Hat OpenShift 版本 5.8 到 6.2 日志记录的
otel
属性查询日志。这个问题将在以后的日志记录发行版本中解决。(LOG-6589) -
在 Red Hat OpenShift 版本 5.9 中,未设置
severity_text
Otel 属性。
第 4 章 分布式追踪 UI 插件 复制链接链接已复制到粘贴板!
Cluster Observability Operator distributed tracing UI 插件只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
分布式追踪 UI 插件会在 Observe → Traces 的 OpenShift Container Platform web 控制台中添加与追踪相关的功能。您可以跟踪通过前端和微服务后端的请求,帮助您识别分布式系统中的代码错误和性能瓶颈。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 - 已登陆到 OpenShift Container Platform Web 控制台。
- 已安装 Cluster Observability Operator
流程
- 在 OpenShift Container Platform web 控制台中,点 Operators → Installed Operators 并选择 Cluster Observability Operator
- 选择 UI Plugin 选项卡(在选项卡列表的最右侧),然后按 Create UIPlugin
选择 YAML 视图,输入以下内容,然后按 Create :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 - 已登陆到 OpenShift Container Platform Web 控制台。
- 已安装 Cluster Observability Operator。
- 已安装 Cluster Observability Operator distributed tracing UI 插件。
-
在集群中有一个
TempoStack
或TempoMonolithic
多租户实例。
流程
- 在 OpenShift Container Platform web 控制台中点 Observe → Traces。
选择
TempoStack
或TempoMonolithic
多租户实例,并为要加载的 trace 设置时间范围和查询。trace 显示在 scatter-plot 中,显示 trace 开始时间、持续时间和 span 数量。在 scatter 图表下,有一个跟踪列表,显示
Trace Name
、Spans
的数量和Duration
等信息。点一个 trace 名称链接。
所选 trace 的 trace 详情页包括了 trace 中所有范围的 Gantt 图表。选择一个 span 来显示配置的属性的分类。
第 5 章 UI 插件故障排除 复制链接链接已复制到粘贴板!
Cluster Observability Operator 故障排除面板 UI 插件只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
OpenShift Container Platform 版本 4.16+ 的故障排除 UI 插件提供可观察信号关联,由开源 Korrel8r 项目提供支持。使用 Observe → Alerting 下的故障排除面板,您可以在不同的数据存储中轻松关联指标、日志、警报、网络流和其他可观察信号和资源。OpenShift Container Platform 版本 4.17+ 的用户还可以访问 Application Launcher
中的故障排除 UI 面板。
当您安装故障排除 UI 插件时,名为 korrel8r
的 Korrel8r 服务会部署到同一命名空间中,并且能够从其关联引擎中查找相关的可观察信号和 Kubernetes 资源。
Korrel8r 的输出以 OpenShift Container Platform Web 控制台中的交互式节点图的形式显示。图中的节点代表资源类型或信号,而边缘代表关系。当您点节点时,会使用该节点的具体信息自动重定向到对应的 web 控制台页,如指标、日志或 pod。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 - 已登陆到 OpenShift Container Platform Web 控制台。
- 已安装 Cluster Observability Operator
流程
- 在 OpenShift Container Platform web 控制台中,点 Operators → Installed Operators 并选择 Cluster Observability Operator
- 选择 UI Plugin 选项卡(在选项卡列表的最右侧),然后按 Create UIPlugin
选择 YAML 视图,输入以下内容,然后按 Create :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2. 使用 Cluster Observability Operator 对 UI 插件进行故障排除 复制链接链接已复制到粘贴板!
从 OpenShift Container Platform 4.19 开始,Web 控制台中的视角会统一。Developer 视角不再默认启用。
所有用户都可以与所有 OpenShift Container Platform Web 控制台功能交互。但是,如果您不是集群所有者,您可能需要从集群所有者请求权限。
您仍然可以启用 Developer 视角。在 web 控制台中的 Getting Started 窗格中,您可以浏览控制台,查找有关设置集群的信息,查看启用 Developer 视角的快速启动,并按照链接探索新功能。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问 OpenShift Container Platform 集群。如果集群版本是 4.17+,您可以从 Application Launcher访问 UI 面板。
- 已登陆到 OpenShift Container Platform Web 控制台。
- 已安装 OpenShift Container Platform Logging,如果要视觉化关联的日志。
- 已安装 OpenShift Container Platform Network Observability,如果要视觉化关联的 netflows。
- 已安装 Cluster Observability Operator。
已安装 Cluster Observability Operator 故障排除 UI 插件。
注意故障排除面板依赖于集群中安装的可观察信号存储。Kuberenetes 资源、警报和指标在 OpenShift Container Platform 集群中始终可用。其他信号类型需要安装可选组件:
- Logs: 由红帽提供的 Red Hat Openshift Logging (集合)和 Loki Operator (存储)
- Network events: 红帽提供的网络可观察性(集合)和 Loki Operator (存储)
流程
在 Web 控制台中,进入 Observe → Alerting,然后选择警报。如果警报关联了项目,则会在警报详情页的图表上方显示 Troubleshooting Panel 链接。
点 Troubleshooting Panel 链接以显示面板。
-
面板由查询详情和查询结果的拓扑图组成。所选警报转换为 Korrel8r 查询字符串,并发送到
korrel8r
服务。结果显示为一个连接了返回的信号和资源的图形网络。这是一个 neighbourhood 图形,从当前资源开始,包括了从起点开始的 3 个步骤的相关对象。点图中的节点会进入相应的 web 控制台页面。 您可以使用故障排除面板查找与所选警报相关的资源。
注意点某个节点有时可能会显示比图形上指示要少的结果。这是一个已知问题,将在以后的发行版本中解决。
-
Alert (1): 此节点是图中的起点,代表 web 控制台中显示的
KubeContainerWaiting
警报。 -
Pod (1): 此节点表示与此警报关联的单个
Pod
资源。点此节点将打开控制台搜索,直接显示相关的 pod。 - Event (2): 与 pod 关联的两个 Kuberenetes 事件。点此节点查看事件。
- Logs (74): 此 pod 具有 74 行日志,您可以通过点这个节点来访问这些日志。
- Metrics (105): 与 pod 关联的多个指标。
-
Network (6): 网络事件,代表 pod 通过网络进行通信。图中的其余节点代表 pod 与其进行通信的
Service
,Deployment
和DaemonSet
资源。 - Focus:点此按钮更新图形。默认情况下,当您点图形中的节点时,图形本身不会改变。相反,主 Web 控制台页会改变,然后使用页面上的链接导航到其他资源,而故障排除面板本身则保持打开且没有变化。要强制更新故障排除面板中的图形,请点 Focus。这将使用 web 控制台中的当前资源作为起点来绘制新的图形。
Show Query: 点这个按钮启用一些实验性功能:
- Hide Query 隐藏实验性功能。
- 标识图形起点的查询。查询语言是用于创建图形的 Korrel8r 关联引擎的一部分,是实验性的,可能会在以后有所变化。该查询由 Focus 按钮更新,以对应于主 Web 控制台窗口中的资源。
Neighbourhood depth 用于显示一个较小的或较大的邻居。
注意在大型集群中设置较大的值可能会因为结果太大导致查询失败。
目标类 会导致目标定向搜索而不是邻居搜索。目标定向搜索显示从起点到目标类的所有路径,该类表示资源类型或信号。目标类的格式是实验性的,可能会改变。当前,以下目标有效:
-
k8s:RESOURCE[VERSION.[GROUP]]
识别 kuberenetes 资源的 kind。例如k8s:Pod
或k8s:Deployment.apps.v1
。 -
alert:alert
代表任何警报。 -
metric:metric
代表任何指标。 -
netflow:network
代表任何网络可观察网络事件。 -
log:LOG_TYPE
代表存储的日志,其中LOG_TYPE
需要是application
,infrastructure
或audit
之一。
-
-
Alert (1): 此节点是图中的起点,代表 web 控制台中显示的
5.3. 创建示例警报 复制链接链接已复制到粘贴板!
要触发警报作为在故障排除 UI 面板中使用的起点,您可以有意部署一个有配置错误的容器。
流程
使用以下 YAML (通过命令行或在 web 控制台中),在系统命名空间中创建一个有问题的部署:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看警报:
选 Observe → Alerting,再点 clear all filters。查看
Pending
警报。重要警报先显示为
Pending
状态。它们不会立即开始Firing
,而是在容器崩溃一段时间后才会启动 。您可以直接查看Pending
警报,这样就无需等待很长时间才能看到它们。-
选择
KubeContainerWaiting
、KubePodCrashLooping
或KubePodNotReady
警报之一,然后点链接打开故障排除面板。或者,如果面板已经打开,点 "Focus" 按钮来更新图形。