工作记录
今天是2021年8月11日,星期三,线上办公第七天
明天公司园区准备复工,但作为学生的我还得受到学校的约束,因为学校不解封。不能回到公司,感觉好难受☹️
任务清单
今天的任务很简单,完成规则文件中 substrate_block_height
参数的监控
任务记录
既然要求 substrate_block_height{status="..."}
参数在某个时间段内的变化大与2,首先要计算出它在时间段内的变化值。
查阅官方文档,找到了计算函数:
delta():
用与计算范围向量v中每个时间系列元素的第一个和最后一个值之间的差值,返回具有给定增量和等效标签的即时向量。
delta被外推以覆盖范围向量选择器中指定的全时间范围,因此即使样本值都是整数,也可以获得非整数结果
所以计算式可以写为如下:
delta(substrate_block_height{status="BEST/FINALIZED"}[TIME])
光有公式不行,咱得正确书写rule才行。就这个rules.yml的配置与书写,我搞了好多天,又是官方文档又是对照已有例子编写的,整到今天晚上,才写出个像样的rule(至少能正确运行呀😭):
- alert: Blockchain
expr: delta(substrate_block_height{status="BEST/FINALIZED"}[TIME]) > 2
for: 0m
labels:
level: severe
annotations :
summary: BlockHeightBest (instace {{$labels.instance}})
descriptseverityion: "Block height(BEST/FINALIZED) change nothing in TIME"
正常运行后在Prometheus中大概是这个亚子:
并且能实现在飞书中的报警🚨:
现在报警还不是很完善,而且显示信息也不全,剩下的留到明天改啦😁
给大家安利一个开箱即用的抓取信息rule的配置:Awesome Prometheus alerts
总结
今天的工作内容还算可以啦,现在逐渐就要完成公司分配给我的第二个项目啦,我能感觉的离目标越来越近啦😁
明天继续加油,哄哄哄😄