Prometheus

发布时间 2023-09-11 15:43:50作者: 要快乐不要emo

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次方