Prometheus OpenShift Console

从运行 Prometheus 查询 OpenShift Console 以可视化指标数据。
谁需要完成这项任务?
集群管理员此任务必须由集群管理员执行。
你应该多久执行一次这项任务?
根据需要重复执行。您应按需频繁运行 Prometheus 查询以监控部署 IBM® Software Hub 情况。 建议您每天至少执行一次此任务,或每班次执行一次。

请确保为用户自定义项目启用监控功能,并配置监控 OpenShift 堆栈。 有关如何完成这些任务的更多信息,请参阅下表中的文档:

OpenShift 版本 资源
版本 4.14
版本 4.16
版本 4.17
版本 4.18
版本 4.19
版本 4.20

要运行以下 Prometheus 查询,请转到 Observe > MetricsOpenShift Console

集群资源使用情况

您可以运行以下 Prometheus 查询来监控集群资源使用情况:
CPU 使用率
显示每个节点在5分钟时间段内每秒的CPU使用量。
avg by (instance, nodename)(irate(node_cpu_seconds_total{mode!="idle"}[5m])) * 100 * on (instance) group_left (nodename) node_uname_info
内存使用率
显示每个节点正在使用的可用内存百分比。
100 * ((node_memory_MemTotal_bytes -(node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes))/node_memory_MemTotal_bytes) * on (instance) group_left (nodename) node_uname_info
网络输入与输出
显示每个节点在5分钟时间段内的网络输入和输出速率(单位:KB)。
avg by (instance) ((irate(node_network_receive_bytes_total[5m]) + irate(node_network_transmit_bytes_total[5m])) ) * on (instance) group_left (nodename) node_uname_info / 10^3
OpenShift API调用状态
显示 OpenShift API服务器在过去30分钟内返回的每种响应 HTTP 类型的数量。
sum by (code)(rate(apiserver_request_total{verb=~"POST|PUT|DELETE|PATCH|GET|LIST|WATCH"}[30m]))
占用内存最多的进程
显示占用内存最多的10个进程。

在以下查询中,将 {PROJECT_CPD_INST_OPERANDS} 替换为安装了 IBM Software Hub 控制平面和服务的项目名称:

topk(10, max(container_memory_working_set_bytes{namespace="{PROJECT_CPD_INST_OPERANDS}",container!="",pod!=""}) by (pod) ) / 10^9

磁盘速度与使用情况

您可以运行以下 Prometheus 查询来监控磁盘速度和使用情况:
磁盘输入和输出
显示每个节点在5分钟时间段内的磁盘输入和输出速率。
avg by (instance) (irate(node_disk_io_time_seconds_total[5m])/1000) * on (instance) group_left (nodename) node_uname_info
磁盘写入速度
显示每个节点过去两分钟内的磁盘写入速度(单位:MB)。
sum by (instance) (irate(node_disk_written_bytes_total[2m])) / 1024 / 1024
可用磁盘空间
显示每个节点可用磁盘空间的百分比。
node_filesystem_free_bytes{mountpoint ="/"} / node_filesystem_size_bytes{mountpoint="/"} * 100

IBM Software Hub 资源使用情况

您可以运行以下 Prometheus 查询来监控资源 IBM Software Hub 使用情况:
重要提示: 在查询中,请将 {PROJECT_CPD_INST_OPERANDS} 替换为安装了 控制 IBM Software Hub 平面和服务的项目名称。
每个 IBM Software Hub 组件使用的CPU核心数
显示每个 IBM Software Hub 组件使用的CPU核心数量。
sort_desc(sum(max(kube_pod_labels{namespace="{PROJECT_CPD_INST_OPERANDS}", label_icpdsupport_add_on_id!="" }) by (label_icpdsupport_add_on_id,pod) * on(pod) group_right(label_icpdsupport_add_on_id)max(kube_pod_container_resource_limits{resource="cpu",unit="core",namespace="{PROJECT_CPD_INST_OPERANDS}"}) by (pod)) by (label_icpdsupport_add_on_id))
CPU使用率占限值的百分比
显示与 OpenShift 容器配置的CPU限制相比 IBM Software Hub ,CPU使用率最高的25项。
topk(25, sort_desc(100*sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace="{PROJECT_CPD_INST_OPERANDS}"}) by (pod) / sum(kube_pod_container_resource_limits{resource="cpu",unit="core",namespace="{PROJECT_CPD_INST_OPERANDS}"}) by (pod)))
已用内存占限额的比例
显示占用内存比例最高的25项, IBM Software Hub 相对于您 OpenShift 容器配置的内存上限。
topk(25, sort_desc(100 * sum(container_memory_usage_bytes{namespace="{PROJECT_CPD_INST_OPERANDS}",container!=""}) by (pod) / sum(kube_pod_container_resource_limits{resource="memory",unit="byte",namespace="{PROJECT_CPD_INST_OPERANDS}"}) by (pod)))