从 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 查询,请转到 。 OpenShift 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
磁盘速度与使用情况
- 磁盘输入和输出
- 显示每个节点在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)))