00:00
那么现在呢,我们终于可以讲这个tele内部数据结构了,呃,那么之前呢,我们已经见到过这个telegraph里面输出的数据了,只不过呢啊,我们一直没有把它单独拿出来讲,那么现在呢,集中的把这个数据结果给他讲明白,呃,Telegraphph呢,它本身就是给这个in Fla DB设计的一个呃,数据的一个采集器啊,那么这个东西呢,它肯定是要支持in Fla DB的这个数据协议啊,所以说呢,它telegraph内部的数据结构呢,叫做in flab行协议,那么英斯DB行协议行协议呢,其实就是一种数据格式啊,它是一种纯文本的协议,只要你的数据它符合这种格式,它就能够成功的写到inlu DB里面。另外呢,就是要强调一下啊,这个它虽然说内部是这种这个in Fla DB的数据格式,但是在这个输出插件的时候呢,可以对它进行转格式,就是你可以把它转成啊符合你需要的格式,或者是符合什么啊,普罗米修斯啊,或者说是一些TTNG啊这些啊别的数据格式啊,让他们去写到这个不同的这个下游去啊,所以说你不要担心这个,因为in Fla DB内部的数据结构是呃,In Fla DB行协议,就导致呃担心他跟别的这个框架的一个呃结合性。
01:17
呃,那么接下来呢,就是我们去跑一下之前的事例一的这个呃数据,然后拿这个一个真实的数据呢,啊,跟我给大家做的这个图啊,对比的进行讲解。啊,那么在这里呢。还是去跑一下我们的这个EXCEL01,我们通过这个con指令。啊,卡菲和参数,然后来传这个EXAMPLE01的这个文件,这里呢,这次我们加个参数叫test。啊,这样的话呢,就大家不用等待了,因为这个test呢,这个指令实际上就是说,呃,你看现在我用test这边呢,说outputs are not used的in testing model,就是说呃,在我这个测试的模式下,这个output这个输出组件啊,是不会被使用的,那么现在呢,只有一个输入组件,而且呢,这个指标呢,只会采集一次啊,所以说我就只有那么多数据,而且秒出再也不用等那个刷新时间是十秒那东西了啊,现在呢,我们去截张图。
02:19
把这个数据给他盯住。啊,就这样吧,这边有点这个挡住了啊。好,那么接下来呢,我们就对着文档呢,给大家说一下这个数据结构是怎么回事。呃,首先呢,我们可以看到啊,就我们这个数据里面,你可以看到它其实呢,啊,一个空格,然后呢,两个空格是吧,跟这个是一样的啊,首先要告诉大家的就是。第一个逗号前面的这个CPU,它其实叫做测量名称,它是一行数据的打头,就打头第一个就是测量名称,而且呢啊,这个还是不能少的,就是必须要有这个测量名称。
03:01
那么接下来呢,就是后面的这个CPU等于CPU0和host等于哈102,这个呢,实际上叫标签集,那么标签级的作用呢,在这个in Fla,呃,这个呃,在这个in Fla DB里,其实是为了帮助键索引的,呃,严格来说呢,在in Fla DB里面,测量名称和标签集共同组成索引,呃,也就是说我们刚才说的这个CPU大家还记得,就是我们除了这个测量名称CPUCPU有好几条数据是吧?完了之后呢,呃,CPU012是不是他们共同组成索引,这样的话呢,你就可以通过查询的时候呢,啊,你说我CPU等于零,那么你就在整个啊这个时序数据里面,只找出CPU等于零的这个时序数据啊,所以说呢,它其实是帮助你做索引,帮你过滤数据的这个作用。呃,不过呢,就是虽然说你这个in Fla DB里面有标签集,但是别的时序数据库不一定有是吧,但是实际上差不多,呃,就是目前的这个时序数据库的这个技术呢,不管是普罗米修斯还是这个,呃,T t engine或者说一些国产的这个实际数据库啊,它实际上都要支持这种,呃,就基本上这个索引的设计思路是啊大差不差的,而且呢,这个都有label或者tag这种概念,呃,所以说呢,嗯,这个地方其实通讯还蛮强,嗯,标签级呢,并不是一个必须的选项,在这里就是tag这个东西它是可以省略的,所以说你一条数据我只有CPU,然后空格,呃,不要这个CPU等于CPU0耗等于哈,102可以可不可以呢?啊,其实是完全可以的啊,所以说标签集可以忽略,因为只用测量名称也可以组成索引。
04:43
那么后面呢啊,这个位置是必须要跟上一个空格的啊,它是一个空格分格,也就是我们这个usage前面和哈102之间,这里有一个空格,这个空格是必须要有的,因为这个字段集呢,这个它是必须要有的,而且呢,它必须要有一个,呃,严格来说呢,就是字段集它其实是一个。
05:05
啊,数据就是我们真正的这个这个观测到的数据点,比如说可以看到我们这个嗯,标签级它有个特点,就是说它是一种啊只有限啊,比如说CPU0123就这么四个CPU,所以说它的这个取值范围呢,是有限的,它呢其实就是帮我们把这个数据分类的一个过程,但是这个呃字段呢,它其实存储的这些数据,比如说这个CPU的这个呃使用情况啊,Usage user就是用户用的这个CPU的情况啊,包括这个呃,这个CPU的空闲这些情况,那么这些东西呢,都是一些数字性的,数值型的数据,它是一个连续性的那种变化性的,这个字段也同时呢,这个东西还。表示我们要观测的那个指标本身,呃,所以说呢,这个东西是必须有,只不过呢,这里字段节也是一堆这个也是一堆这个。V建池队,那么QV建设队之间呢,可以用这个逗号进行分格,关于这个里面的值类型呢,我们下面后面会接着讲到,呃,再接着呢,后面是一个空格,空格之后呢,这个东西是一个时间戳,你可以看到你可能没有见过这么长的时间戳,实际上呢,这个telegraph内部它是默认使用纳秒级时间戳啊,所以说这个你知道就行了,这是纳秒级时间戳,而且呢,这个时间戳也是可选的,呃,这个时间戳如果没有呢,它其实你这个数据传到后面之后会可以也是首首先是你输出的时候,如果没有这个时间戳啊呃,你会这个in Fla DB会以这个时数据来补全这个时间戳,一般的这个呃时序数据库呢,它都有这个补全时间戳的一个能力,也就是说你这个东西数据里面不带时间戳的话,我给你补一个,以我这个入库的时间为准,呃,那么这个东西可选,那如果呢,你的这个input就是你输入进来的数据呢?呃,在我这个流程里面。
06:58
因为你没这个进来的时候没有时间戳,Telegraph也有给你补全时间戳的能力,它到时候呢,会以一个telegraph采集到数据的这个时间为准,呃,那么它会给你自动补全一个纳秒级时间,出这个东西呢,我们到后面会有演示啊,所以说都不用担心。
07:15
嗯,关于这些东西呢,其实还有更明确的一些约束,比如说它的命名规范啊什么的,我们后面呢,会给大家啊慢慢的去补,所以说呢,这张图呢,我们就去先保留一下。啊,我们这样吧,把它清空,然后呢,我们把这个再盯一下。把这个再盯一下放到上面来,然后我们往下继续看这个文档啊,可以看到这个测量名称呢,它必须另外呢,就是测量名称呢,它不能以下划线开头,呃,这个约束呢,是基本上通用的,就是你不能用下划线来开头,为什么不能用下划线来开头呢?呃,实际上是因为它要给这个呃in Fla DB,把这个数据要给in flab用,但是在in Fla DB里面呢,凡是下划线开头的字段,它都是呃in Fla DB这个系统本身啊关注的一些字段,比如说下划线time,那么这个东西你是不能直接包含在数据里面的,你这样的话就是说啊,有可能会破坏这个。
08:12
呃,整个这个Fla DB,它的这个查询语言的执行啊,所以说呢,它这里要求你这个测量名称啊什么的,不能以下划线开头。啊,另外呢,大小写敏感,你这个测量名称呢,大写和小写啊,都虽然都是CPU,比如C大写的,C小写的,它其实是两个事。呃,后面再往下看这里标签集。Sorry。啊,后面标升级。啊,这里面就给大家详细说了一下,就是建的数据类型呢,它必须得字符串值的数据类型呢,也得是字符串啊,不过在这里面你可以看到哈兹102呢,他也没有这个双引号的这个呃,就没有加双引号吧,其实在这里面就只默认你是一个字符串了,那因为它只能是字符串。呃,另外呢,就是字段集必须而且呢,你至少必须要有一个字段,这个字段集呢,必须要有一个字段,呃,那么一个数据点上的所有这个建筑,对呢啊键呢就是字段名,然后值呢,就是数据的点,那另外呢,就是它的在类型上呢,它有一些约束,我们可以看到它这个值的类型呢,支持这些啊浮点数啊,整数无符号整数字符串布尔值。
09:20
那么这个东西呢,就是我们现在看到的这是个零零啊100这个我们怎么看它是什么类型呢?啊,实际上呢,你现在看到的数据类型呢,是浮点型,我们可以跨过跨过去这一部分,然后往后看这个数据类型。呃,严格来说就是你现在它默认默认这个行系列里面就是浮点的数据类型啊,带小数点的,那么你现在虽然说写了一,你像这里是零,它其实也是0.0,它是一个浮点的这个浮点数。呃,那么在这个数据协议里面呢,它还支持这种科学计数法,那么怎么样去表示一个整数呢?就是在后面加上一个小I啊,如果说你这个行系列里面包括这个小I,那么它就认为你这是一个整数类型的啊,来供这个下游系统呢,来识别它的数据类型,而且in Fla DB呢,也是支持这样的。呃,另外一个就是这个无符号整数,那么它跟这个整数之间的区别呢?啊,就是它俩的取值范围不一样,那这个当然了,就是你可以看到这无符号整数,把它那个符号的编码都移到正数来这边来了嘛,是吧?那么最关键的就是它最后的这个后缀要用U来表示,所以说你这个数据里面如果是以U结尾,那么它就是一个无符号的整数,还有就是字符串,嗯,我们刚才说在tag里面,就是在这个标签集里面,你这个值不加这个双引号,但是你在这个字段集里面,你的值如果是个字符串,那你是必须要加这个双引号的,呃,另外就是我们说的布尔值,布尔值呢,它有好几种表示方式,你比如说这个错误你可以表示为。
10:49
小T大T,然后这个大写的,全大写的这个出,然后还有这个全大写的,这个首字母大写的,然后首字母小写的都可以这样,呃,都都都可以这样写。呃,所以呢,呃,他其实这个。
11:01
呃,这个协议呢,还是比较宽松的。那最后呢,就是我们的这个时间戳,那么这个呢就可以直接跳过了,因为天下的这个时间戳呢,基本都长一样。嗯,所以说呢,在这里面就最后再给大家这个指定了一下,就是呃,做了一张更完善的图,给大家标记了一下,就哪些东西啊是可选的,哪些是干什么用的,在这里给大家标记一下,大家到时候可以拿这个图来作为一个参考,那么这呢,就是telegraph内部的一个数据格式,另外最后说一下就是它其实在这个数据里面是支持注释的啊,就是以井号开头的,会被当做一个注释,就这样啊,这个东西知道就行了,其实这个是你导出文件的时候还干什么,它其实是比较有用的,平时呢,这个注释是用不到的。
我来说两句