Prometheus
4、配置
# 全局配置
定义了数据采集的间隔时间和规则扫描的间隔时间
# 告警配置
# 告警规则配置
定义了满足哪些规则进行告警,定义在yaml文件里
# 数据采集目标配置
定义了采集的端口,名称
5、promql
简介:promql是用来对prometheus的采集数据进行查询的一种查询语言
功能:实时查找,聚合时序数据,可以作为图表显示,也可以以表格形式显示,或者作为数据源,以http api形式提供给外部系统
5.1 数据类型
# 瞬时向量
其是一组时间序列,每个时间序列都包含单个样本数据,比如查询当前剩余内存,其返回值只会包含该时间序列中最新的一个样本,这种查询表达式也叫做 瞬时向量表达式
# 范围向量
在一个时间范围内抓取所有的指标,比如获取最近一天的某数据表现为趋势图
# 标量
浮点数类型的数据,用scalar()函数对瞬时向量进行转换
5.2 匹配器
# 通常我们需要查询的数据都是各种键值对类型,键==标签
= # 表示与提供的字符串完全相同的标签
!= # 表示与提供的字符串完全不相同的标签
=~ # 将标签以正则表达式形式与提供的字符串进行匹配
!~ # 将标签正则表达式化并选择与提供的字符不匹配的
# 格式
# 如果查询的键后面有许多数据,可以继续以lable形式指定来获取指定的数据,通过上面的匹配器来获取
<查询数据的键>{<lable1>=<value1>,<lable2>=<value2>}
node_load1{instance='172.31.3.10:9100'}
5.3 时间范围
promrtheus数据是时间数据,可以根据时间范围来选择数据
# 格式
s,m,h,d,w,m,y
<查询数据的键>{<lable1>=<value1>,<lable2>=<value2>}[5m] # 以当前时间为基准查询过去5分钟之内的数据
5.4 运算符
可以对查询得到的数据进行运算支持下列算法
支持多个查询语句的运算
<查询数据的键>{<lable1>=<value1>,<lable2>=<value2>} + <查询数据的键>{<lable1>=<value1>,<lable2>=<value2>}
+ # 加
- # 减
/ # 乘
* # 除
% # 取余数
^ # n次方