Prometheus常用指标计算公式

Prometheus提供了许多有关系统性能和资源利用的内置指标,可以使用这些指标进行系统指标的计算和分析。以下是一些常见的系统指标计算公式示例:

CPU使用率:

100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[1m])) * 100)

该公式计算了CPU的使用率,使用了node_cpu_seconds_total指标来获取CPU空闲时间的变化,并将其转换为使用率。

CPU负载:

node_load1

node_load1指标显示了系统的最近1分钟平均负载。

内存使用率:

(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100

该公式计算了内存的使用率,使用了node_memory_MemTotal_bytes和node_memory_MemAvailable_bytes指标。

磁盘使用率:

100 - (node_filesystem_free_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"} * 100)

该公式计算了根目录磁盘的使用率,使用了node_filesystem_free_bytes和node_filesystem_size_bytes指标。

网络流量:

sum by (device) (rate(node_network_receive_bytes_total[1m])) / 1024

该公式计算了每个网络设备的接收流量,使用了node_network_receive_bytes_total指标,并将其转换为KB。

在使用Prometheus监控Web指标时,可以使用以下常用的计算公式来获取有用的指标信息:

请求成功率(Request Success Rate):

(1 - (rate(http_requests_total{status=~"5.."}[1m]) / rate(http_requests_total[1m]))) * 100

该公式计算了请求成功的比率,根据HTTP请求的状态码(以5开头的状态码被视为失败)来计算成功率。

平均请求响应时间(Average Request Response Time):

avg(http_request_duration_seconds)

使用http_request_duration_seconds指标计算了所有请求的平均响应时间。

最大请求响应时间(Maximum Request Response Time):

max(http_request_duration_seconds)

使用http_request_duration_seconds指标获取所有请求的最大响应时间。

请求速率(Request Rate):

rate(http_requests_total[1m])

该公式计算了每分钟的HTTP请求速率。

错误请求率(Error Request Rate):

(rate(http_requests_total{status=~"4..|5.."}[1m]) / rate(http_requests_total[1m])) * 100

该公式根据HTTP请求的状态码(以4开头或5开头的状态码)计算了错误请求的比率。

在使用Prometheus监控数据库指标时,以下是一些常用的计算公式示例:

查询响应时间(Query Response Time):

avg(irate(mysql_query_duration_seconds_sum[5m])) / avg(irate(mysql_query_duration_seconds_count[5m]))

该公式计算了数据库查询的平均响应时间,使用了mysql_query_duration_seconds_sum和mysql_query_duration_seconds_count指标。

慢查询比率(Slow Query Rate):

(irate(mysql_slow_queries_total[5m]) / irate(mysql_queries_total[5m])) * 100

该公式计算了慢查询的比率,使用了mysql_slow_queries_total和mysql_queries_total指标。

连接数(Connection Count):

mysql_global_status_threads_connected

mysql_global_status_threads_connected指标显示了当前的数据库连接数。

锁等待次数(Lock Waits):

sum(rate(mysql_global_status_innodb_lock_wait_secs_total[5m]))

该公式计算了锁等待的次数,使用了mysql_global_status_innodb_lock_wait_secs_total指标。

锁等待时间(Lock Wait Time):

sum(rate(mysql_global_status_innodb_lock_wait_secs_total[5m]))

该公式计算了锁等待的总时间,使用了mysql_global_status_innodb_lock_wait_secs_total指标。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Prometheus 是一个开源的监控系统,它使用拉模型,可以动态地发现目标并收集监控数据。Prometheus 通过收集指标来监控系统和服务,这些指标通常是以键值对的形式表示。 以下是一些常用Prometheus 指标: 1. CPU 使用率: - node_cpu_seconds_total: CPU 使用总时间 - node_cpu_seconds_total{mode="idle"}: 空闲 CPU 时间 2. 内存使用情况: - node_memory_MemTotal_bytes: 系统总内存 - node_memory_MemFree_bytes: 系统空闲内存 - node_memory_Cached_bytes: 缓存使用的内存 3. 文件系统使用情况: - node_filesystem_size_bytes: 文件系统总大小 - node_filesystem_free_bytes: 文件系统可用空间大小 - node_filesystem_avail_bytes: 文件系统可用空间大小,不包括保留空间 4. 网络使用情况: - node_network_receive_bytes_total: 接收的字节数 - node_network_transmit_bytes_total: 发送的字节数 - node_network_receive_packets_total: 接收的数据包数量 - node_network_transmit_packets_total: 发送的数据包数量 5. HTTP 请求情况: - http_requests_total: HTTP 请求总数 - http_request_duration_seconds: HTTP 请求处理时间 - http_response_size_bytes: HTTP 响应大小 6. 容器指标: - container_cpu_usage_seconds_total: 容器 CPU 使用时间 - container_memory_usage_bytes: 容器内存使用量 - container_network_receive_bytes_total: 容器网络接收字节数 - container_network_transmit_bytes_total: 容器网络发送字节数 7. Kubernetes 指标: - kubelet_running_containers: 当前运行中的容器数 - kubelet_running_pods: 当前运行中的 Pod 数量 - kube_pod_container_status_waiting_reason: Pod 容器等待原因 以上是一些常用Prometheus 指标,但并不是全部。根据实际需要,可以自定义指标来监控系统和服务的各种指标
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值