4.prometheus metrics常用监控
PromQL有一个名为irate的函数,用于计算距离向量中时间序列的每秒瞬时增长率。
CPU利用率:
100-avg(irate(node_cpu_seconds_total{mode="idle"}[1m])) by (instance)*100 #显示1分钟窗口内使用的平均CPU百分比
CPU Saturation(饱和度):
node_load1 > on (instance)count by (instance)(node_cpu_seconds_total{mode="idle"})
内存使用率:
node_memory_MemTotal_bytes - 主机上的总内存
node_memory_MemFree_bytes - 主机上的空闲内存
node_memory_Buffers_bytes_bytes - 缓冲区缓存中的内存
node_memory_Cached_bytes_bytes - 页面缓存中的内存
都是以字节为单位的。(free -b)
(node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Cached_bytes +
node_memory_Buffers_bytes)) / node_memory_MemTotal_bytes * 100
磁盘使用百分比:
(node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_free_bytes{mountpoint="/"}) /node_filesystem_size_bytes{mountpoint="/"} * 100
(node_filesystem_size_bytes{device=~"/dev.*"} - node_filesystem_free_bytes{device=~"/dev.*"}) /node_filesystem_size_bytes{device=~"/dev.*"} * 100 #使用正则表达式来匹配
注意:
(1)不能使用匹配空字符串的正则表达式。
(2)对于不匹配的正则表达式,还有一个!~运算符。
预估磁盘还有多久爆满:???
Prometheus提供了一种机制,通过名为predict_linear的函数,可以预示磁盘增长率,在未来多长时间可以将磁盘占满。
predict_linear(node_filesystem_free_bytes{mountpoint="/"}[1h], 10*3600) < 0
监控服务状态:
node_systemd_unit_state{name="docker.service"} // 只查询 docker服务
node_systemd_unit_state{name="docker.service",state="active"} // 返回活动状态
node_systemd_unit_state{name="docker.service"} == 1 // 返回当前服务的状态
注:比较二进制运算符:==。这将检索所有值为1、名称标签为docker.service的指标。
up metric:
监视特定节点状态的另一个有用指标:up ,如果实例是健康的,度量就被设置为1 ,失败返回 - 或 0
向量匹配:???
有两种向量匹配:一对一和多对一(或一对多)。
实验中是有两条数据的,他们的metadata metric分别为SH,CD
一对一匹配:node_systemd_unit_state{name="docker.service"} == 1 and on (instance, job)metadata{datacenter="SH"}
多对一和一对多匹配是指“one”一侧的每个向量元素可以与“many”一侧的多个元素匹配。使用group_left或group_right修饰符显式地指定这些匹配,其中left或right决定了哪个向量具有更高的基数。
分类:
监控
标签:
prometheus
, 监控
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!