请选择 进入手机版 | 继续访问电脑版

ITIL,DevOps,ITSS,ITSM,IT运维管理-ITIL先锋论坛

 找回密码
 微信、QQ、手机号一键注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

查看: 269|回复: 1

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

[复制链接]
匿名  发表于 2020-12-6 23:36:51 |阅读模式
本帖最后由 FYIRH 于 2020-12-6 23:39 编辑

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


粘贴上传202012062335225985..png


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







上一篇:分布式系统的监控指标的收集
下一篇:作为一个搞运维的,你必须了解 SRE !

本版积分规则

本站关键字: ITIL| ITSM| ISO20000| ITIL培训| ITIL认证| ITIL考试| ITSS| ITSS培训| ITSS认证| IT运维管理| DevOps| DevOps培训| DevOps认证| itop| itil4| sre| 开源ITSM软件

QQ|小黑屋|手机版|Archiver|艾拓先锋网 ( 粤ICP备11099876号-1 )|网站地图

Baidu

GMT+8, 2021-1-25 09:36 , Processed in 0.163672 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表