×

微信扫一扫,快捷登录!

按照时间戳和值的序列存放的标签与向量  

标签: 暂无标签
本帖最后由 FYIRH 于 2020-12-6 23:39 编辑

正如图10-2的示范数据所示,time-series 是按照时间戳和值的序列存放的,我们称之为向量(vector)。就像线性代数中的向量一样,这些向量是一个存放在time-series存放区中的多维矩阵中的某一列,或者是某一个对角线数值串。理论上来说,我们可以在描述这个数据结构时,忽略时间戳。因为序列中的每个值都是按照固定间隔插入的,不管是1s,还是10s,相邻的值的时间差是固定的。




time-series的名字称为标签集合(labelset),因为它的实现方式就是一个标签(key=value)的集合。其中一个标签是变量名称,也就是 varz 页面中显示的键名。


在实现中,有一些标签被标记为重要的(important)标签(这里更多的是指代码中的一个分类,重要的标签会建有特殊索引,可加快查找速度)。在time-series数据库中,标识一个time-series 的标签必须同时有以下几个标签∶

var
代表变量名称。

job
被监控的软件服务器类型名。

service
一个松散定义的软件服务器类型组名,可以按对外名称分类,也可以按对内名称分类。

zone
Google定义的一个惯例名称,代表收集该条信息的Borgmon所在的位置(一般以数据中心名称赋值)。



这 4条综合起来形成了一个完整的变量表达式(variableexpression)∶
{var=http_requests,job=webserver,instance=host0;80,service-web,zone-us-west}


当对time-series进行查询时,不一定要指定所有的标签。如果查询中指定了一个标签集合,那么所有符合这个标签集合的time-series都会被查询出来,形成一个向量返回。举例说明,如果在一个集群中,有超过一个任务实例,那么下面的查询会返回多个结果∶


{var=http_requests,job=webserver,service=web,zone=us-west}


查询结果将会是一个向量,其中包含了每个符合条件的 time-series 的最后一个数值∶
{var-http_requests,job=webserver,instance=host0;80,service=web,zone=us-west}10{var=http_requests,job=webserver,instance=host1:80,service=web,zone=us-west}9{var=http_requests,job=webserver,instance=host2:80,service=web,zone=us-west}11{var=http_requests,job=webserver,instance=host3:80,service=web,zone=us-west}0{var=http_requests,job=webserver,,instance=host4:80,service=web,zone=us-west}10


标签的来源有∶
● 监控目标的名称,如job 和 instance 来源于任务名和实例地址。
● 监控目标自行提供,如提供的Map 类型变量。
● Borgmon 配置文件,其中可以添加和替换标签。
● Borgmon 规则。


同时,通过在变量表达式后面增加一个时间参数,可以查询一段时间内的全部 time-series 值;


{var=http_requests,job=webserver,service=web,zone=us-west}[10m]


该条查询返回过去10分钟内,所有满足条件的time-series。如果每分钟收集一次监控指标,那么应该每条记录获得 10 个数值点∶


{var=http_requests,job=webserver,instance=host0:80,..}01 2 3 4 5 6 7 8 9 10        
{var=http_requests,job=webserver,instance=host1:80,..}01 2 3 4 4 5 6 7 8 9
{var=http_requests,job=webserver,instance=host2:80,..}01 2 3 5 6 7 8 9 9 11
{var=http_requests,job=webserver,instance=host3:80,..}00 0 0 0 0 0 0 0 0 0
{var=http_requests,job=webserver,instance=host4:80,..}01 2 3 4 5 6 7 8 9 10


Borg 规则计算
Borgmon从本质上来说,是一个可编程计算器,并且加入了一些语法糖,从而可以让它产生报警信息。数据收集部分和存储部分都是为这个可编程计算器而服务的。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x




上一篇:分布式系统的监控指标的收集
下一篇:ITIL事件的质量控制与质量保证措施分析(IT运维管理社区原创)

写了  篇文章,拥有财富 ,被  人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies
東東 发表于 2020-12-7 10:49:16
:)
Powered by IT 运维管理
返回顶部