执行以下任一操作
-
通过水平单击并拖动图表来直观地选择时间范围。
-
使用菜单选择时间范围。
AWS 上的 Red Hat OpenShift 服务监控仪表板使您可以运行 Prometheus 查询语言 (PromQL) 查询以检查在图表上可视化的指标。此功能提供有关集群状态以及您正在监控的任何用户定义工作负载的信息。
作为 `dedicated-admin`,您可以一次查询一个或多个命名空间以获取有关用户定义项目的指标。
作为开发者,您必须在查询指标时指定项目名称。您必须具有查看所选项目指标所需的权限。
作为 `dedicated-admin` 或具有所有项目查看权限的用户,您可以访问指标 UI 中所有默认的 AWS 上 Red Hat OpenShift 服务和用户定义项目的指标。
只有专用管理员才能访问 AWS 上 Red Hat OpenShift 服务监控提供的第三方 UI。 |
指标 UI 包括预定义的查询,例如所有项目的 CPU、内存、带宽或网络数据包。您还可以运行自定义 Prometheus 查询语言 (PromQL) 查询。
您可以作为具有 `dedicated-admin` 角色的用户或具有所有项目查看权限的用户访问集群。
您已安装 OpenShift CLI (`oc`)。
在 AWS Web 控制台的 Red Hat OpenShift 服务的**管理员**视角中,单击**观察**并转到**指标**选项卡。
要添加一个或多个查询,请执行以下任一操作
选项 | 说明 |
---|---|
选择现有查询。 |
从**选择查询**下拉列表中,选择现有查询。 |
创建自定义查询。 |
将您的 Prometheus 查询语言 (PromQL) 查询添加到**表达式**字段。 键入 PromQL 表达式时,自动完成建议会显示在下拉列表中。这些建议包括函数、指标、标签和时间标记。使用键盘箭头选择这些建议项之一,然后按 Enter 将该项添加到您的表达式中。将鼠标指针悬停在建议项上以查看该项的简短说明。 |
添加多个查询。 |
单击**添加查询**。 |
复制现有查询。 |
单击查询旁边的选项菜单 |
禁用查询的运行。 |
单击查询旁边的选项菜单 |
要运行您创建的查询,请单击**运行查询**。查询中的指标将可视化显示在图表上。如果查询无效,UI 将显示错误消息。
|
可选:页面 URL 现在包含您运行的查询。要将来再次使用此查询集,请保存此 URL。
浏览可视化指标。最初,所有已启用查询的所有指标都显示在图表上。通过执行以下任一操作来选择显示哪些指标
选项 | 说明 |
---|---|
隐藏查询中的所有指标。 |
单击查询的选项菜单 |
隐藏特定指标。 |
转到查询表,然后单击指标名称旁边的彩色方块。 |
放大图表并更改时间范围。 |
执行以下任一操作
|
重置时间范围。 |
单击**重置缩放**。 |
显示特定时间点所有查询的输出。 |
将鼠标悬停在您感兴趣的点上。查询输出将显示在弹出框中。 |
隐藏图表。 |
单击**隐藏图表**。 |
您可以作为开发者或具有项目查看权限的用户访问用户定义项目的指标。
指标 UI 包括预定义的查询,例如 CPU、内存、带宽或网络数据包。这些查询仅限于所选项目。您还可以为该项目运行自定义 Prometheus 查询语言 (PromQL) 查询。
开发者只能使用**开发者**视角,而不能使用**管理员**视角。作为开发者,您一次只能查询一个项目的指标。开发者无法访问 AWS 上 Red Hat OpenShift 服务监控提供的第三方 UI。 |
您可以作为开发者或具有您正在查看其指标的项目的查看权限的用户访问集群。
您已启用对用户定义项目的监控。
您已在用户定义的项目中部署了一个服务。
您已为该服务创建了一个ServiceMonitor
自定义资源定义 (CRD),以定义如何监控该服务。
在 Red Hat OpenShift Service on AWS Web 控制台的**开发者**视图中,单击**观察**,然后转到**指标**选项卡。
在**项目:**列表中选择您要查看其指标的项目。
要添加一个或多个查询,请执行以下任一操作
选项 | 说明 |
---|---|
选择现有查询。 |
从**选择查询**下拉列表中,选择现有查询。 |
创建自定义查询。 |
将您的 Prometheus 查询语言 (PromQL) 查询添加到**表达式**字段。 键入 PromQL 表达式时,自动完成建议会显示在下拉列表中。这些建议包括函数、指标、标签和时间标记。使用键盘箭头选择这些建议项之一,然后按 Enter 将该项添加到您的表达式中。将鼠标指针悬停在建议项上以查看该项的简短说明。 |
添加多个查询。 |
单击**添加查询**。 |
复制现有查询。 |
单击查询旁边的选项菜单 |
禁用查询的运行。 |
单击查询旁边的选项菜单 |
要运行您创建的查询,请单击**运行查询**。查询中的指标将可视化显示在图表上。如果查询无效,UI 将显示错误消息。
|
可选:页面 URL 现在包含您运行的查询。要将来再次使用此查询集,请保存此 URL。
浏览可视化指标。最初,所有已启用查询的所有指标都显示在图表上。通过执行以下任一操作来选择显示哪些指标
选项 | 说明 |
---|---|
隐藏查询中的所有指标。 |
单击查询的选项菜单 |
隐藏特定指标。 |
转到查询表,然后单击指标名称旁边的彩色方块。 |
放大图表并更改时间范围。 |
执行以下任一操作
|
重置时间范围。 |
单击**重置缩放**。 |
显示特定时间点所有查询的输出。 |
将鼠标悬停在您感兴趣的点上。查询输出将显示在弹出框中。 |
隐藏图表。 |
单击**隐藏图表**。 |
以下指标描述包含 Prometheus 查询语言 (PromQL) 查询示例。这些指标并非 API,并且在不同版本之间可能会发生变化。有关虚拟化指标的完整列表,请参阅KubeVirt 组件指标。
以下示例使用指定时间段的 |
以下查询可以识别正在饱和网络的虚拟机。
kubevirt_vmi_network_receive_bytes_total
返回虚拟机网络接收的总流量(以字节为单位)。类型:计数器。
kubevirt_vmi_network_transmit_bytes_total
返回虚拟机网络传输的总流量(以字节为单位)。类型:计数器。
topk(3, sum by (name, namespace) (rate(kubevirt_vmi_network_receive_bytes_total[6m])) + sum by (name, namespace) (rate(kubevirt_vmi_network_transmit_bytes_total[6m]))) > 0 (1)
1 | 此查询在六分钟的时间段内,每时每刻返回网络流量最大的前 3 个虚拟机。 |
以下查询可以识别正在写入大量数据的虚拟机。
kubevirt_vmi_storage_read_traffic_bytes_total
返回虚拟机存储相关流量的总量(以字节为单位)。类型:计数器。
kubevirt_vmi_storage_write_traffic_bytes_total
返回虚拟机存储相关流量的总写入量(以字节为单位)。类型:计数器。
topk(3, sum by (name, namespace) (rate(kubevirt_vmi_storage_read_traffic_bytes_total[6m])) + sum by (name, namespace) (rate(kubevirt_vmi_storage_write_traffic_bytes_total[6m]))) > 0 (1)
1 | 此查询在六分钟的时间段内,每时每刻返回存储流量最大的前 3 个虚拟机。 |
kubevirt_vmsnapshot_disks_restored_from_source
返回从源虚拟机还原的虚拟机磁盘总数。类型:规格。
kubevirt_vmsnapshot_disks_restored_from_source_bytes
返回从源虚拟机还原的空间量(以字节为单位)。类型:规格。
kubevirt_vmsnapshot_disks_restored_from_source{vm_name="simple-vm", vm_namespace="default"} (1)
1 | 此查询返回从源虚拟机还原的虚拟机磁盘总数。 |
kubevirt_vmsnapshot_disks_restored_from_source_bytes{vm_name="simple-vm", vm_namespace="default"} (1)
1 | 此查询返回从源虚拟机还原的空间量(以字节为单位)。 |
以下查询可以确定存储设备的 I/O 性能。
kubevirt_vmi_storage_iops_read_total
返回虚拟机每秒执行的写入 I/O 操作量。类型:计数器。
kubevirt_vmi_storage_iops_write_total
返回虚拟机每秒执行的读取 I/O 操作量。类型:计数器。
topk(3, sum by (name, namespace) (rate(kubevirt_vmi_storage_iops_read_total[6m])) + sum by (name, namespace) (rate(kubevirt_vmi_storage_iops_write_total[6m]))) > 0 (1)
1 | 此查询在六分钟的时间段内,每时每刻返回每秒执行 I/O 操作最多的前 3 个虚拟机。 |
以下查询可以识别哪些启用了交换的虚拟机正在执行最多的内存交换。
kubevirt_vmi_memory_swap_in_traffic_bytes
返回虚拟客户机正在交换进来的内存总量(以字节为单位)。类型:规格。
kubevirt_vmi_memory_swap_out_traffic_bytes
返回虚拟客户机正在交换出去的内存总量(以字节为单位)。类型:规格。
topk(3, sum by (name, namespace) (rate(kubevirt_vmi_memory_swap_in_traffic_bytes[6m])) + sum by (name, namespace) (rate(kubevirt_vmi_memory_swap_out_traffic_bytes[6m]))) > 0 (1)
1 | 此查询在六分钟的时间段内,每时每刻返回虚拟客户机正在执行最多内存交换的前 3 个虚拟机。 |
内存交换表明虚拟机处于内存压力之下。增加虚拟机的内存分配可以缓解此问题。 |
可以查询以下指标以显示实时迁移状态。
kubevirt_vmi_migration_data_processed_bytes
已迁移到新虚拟机 (VM) 的客户机操作系统数据量。类型:规格。
kubevirt_vmi_migration_data_remaining_bytes
尚待迁移的客户机操作系统数据量。类型:规格。
kubevirt_vmi_migration_memory_transfer_rate_bytes
内存正在客户机操作系统中变脏的速度。脏内存是指已更改但尚未写入磁盘的数据。类型:规格。
kubevirt_vmi_migrations_in_pending_phase
挂起的迁移数量。类型:规格。
kubevirt_vmi_migrations_in_scheduling_phase
正在调度的迁移数量。类型:规格。
kubevirt_vmi_migrations_in_running_phase
正在运行的迁移数量。类型:规格。
kubevirt_vmi_migration_succeeded
成功完成的迁移数量。类型:规格。
kubevirt_vmi_migration_failed
失败的迁移数量。类型:规格。