prometheus 语法
如果 prometheus 正常启动,在防火墙开放了 9090 端口时,可以通过浏览器访问 http://机器 ip:9090 直接访问
在页面中“insert metric at cursor” 中选择查看的监控对象,如 node_cpu_seconds_total 然后点击 Execute 按钮
再切换到 graph
此时,我们已经看到了服务器 CPU 资源监控图
如果没有出现图,可能是因为时间跨度区间太长,可以点击 graph 标签下面的 "- +"来调整图表时间区间,缩小区间,就能看到时间了。
设置标签匹配器
- 这个功能类似,SQL 语法中 where 条件语句,不过在使用时,要用 {} 大括号,括号中间写条件,多个条件之间用逗号。
eg:
# 条件匹配 node_cpu_seconds_total{cpu="0", mode="system"} # 点击 execute
点击 execute 按钮之后,graph 中就只有 1 个图形线了。
逻辑符号除了上面用的 ‘=’ 还可以用
- = 等于
- != 不等于
- =~ 等于正则式匹配值
- !~ 不等于正则式匹配值
eg:
# 模糊匹配 node_cpu_seconds_total{cpu="0", mode=~"user|system|irq"} # 点击 execute
点击 execute 按钮之后,graph 中就会看到 3 条图形线。
- 可以使用__name__ 直接匹配指标名称
eg:
# 精确匹配标签 {name="node_cpu_seconds_total"} # 模糊匹配标签 {name=~"node_cpu.*"}
但是,指标名称不能是关键词: bool、on、ignoring、group_left、group_right
# 标签名,不能是关键字 on{name=~"node_cpu.*"} # 这个会报错
设置范围取值器
- 这个功能类似,SQL 语法中的 between 语句,实现区间取值,不过它使用 [] 中括号,括号中写范围
eg:
# 15分钟 irate(node_cpu_seconds_total{mode="user"}[15m])
- 持续时间单位可以是:
-
ms 毫秒,eg:150ms
-
s 秒,eg:60s300ms
-
m 分钟, eg:5m15s
-
h 小时, eg:3h5m
-
d 天, eg: 1d
-
w 周, eg: 1w
-
y 年, eg: 1y
时间偏移
这个功能类型 SQL 语法中的 offset,语法实现也是用 offset
# 偏移20分钟 node_cpu_seconds_total offset 20 msum(node_cpu_seconds_total{mode="user"} offset 5m)
重点函数
- abs() 返回绝对值
- delta() 求差值
- floor() 四舍五入
- hour() UTC 时间小时
- idelta() 时间计算
- increase() 按时间增加
- irate() 增长率
- rate() 平均增长率
- ln() 自然对数
- log2() 二进制对数
- log10() 十进制对数
- minute() UTC 时间分钟
- month() UTC 时间月
- round() 取整
- sort() 升序
- sort_desc() 降序
- sqrt() 求平方根
- time() UTC 秒
- timestamp() 时间戳
- year() UTC 年
本文由柠檬班Allen老师原创,转载需注明出处!
想了解更多咨询的同学扫描下方二维码,可以加Q群领取学习资料:753665853 备注:CSDN