00:00
好,那么接下来呢,我们进入一个综合性的事例,这一次呢,这个事例我们会把啊之前的这个说的这个四例插件的全部用上,我们会写一个有两个输入插件,两个处理插件,两个聚合插件,还有一个输出插件啊,并且最终以test模式运行来来运行这个telegraph程序。那么一切呢,还是从编辑我们的配置文件开始,我们去还是在这个目录底下啊,去创建一个example04.co。然后呢,把我们这个配置文件里的内容给粘过来,然后再给大家一一解释这两个干了什么。来往这一站。好,那么这样呢,我们的配置文件就粘过来了。那么这一次呢,我们还是呃,先去把数据跑起来,然后跑完数据之后呢,我们拿着这个呃,输出的这个效果的数据呢,给大家讲一下啊,这个里面我们都干了什么。
01:06
呃,然后呢,还是先保存退出。然后呢,还是用我们的这个conf参数。这次是1304。呃,那么这次呢,注意我们这一次要用test模式来运行我们的程序。输入test好。那么现在呢,这个数据呢,啊,输出到控制台,然后输出完一次呢,就直接退出了,现在呢,我们拿着这个数据。来给大家讲这个,呃,我们的这个配置文件都声明了什么,他们是怎么工作的,这里呢,我们需要把这个数据呢,先给截下图,然后盯在屏幕上,呃,不知道大家用不用这个截图软件啊,其实这个截图软件是非常用的,我看每一次录完视频课底下这个评论区,还有弹幕里面都有人问这个截图软件是什么啊,先说一下啊。
02:01
这个截图软件呢,叫做STEM past这么写。啊s past啊,那么有兴趣的同学呢,可以去下载这个软件啊,完全是免费的这个软件。好,那么我们说一下,就是我刚才呢,截了个这个图,截了这个数据这张图,然后我们shift f3是可以来回隐藏数据的啊,是可以来回隐藏数据的。接下来开始讲解我们的配置,呃,首先呢是agent,还有global text这些呢,这次我们就不讲解了,还有这个input CPU也是老生常谈,我们这一次呢先说一下,就是我们有一个新的输入组件叫me,其实也就memory啊,是内存的意思,那么这里面我加了一个这个no con,什么意思呢?就是这个插件呢,其实本身就不需要写任何配置啊,拿上来就能用。我们可以看到就是啊,我们现在呢,这个地方有一个这个新的输入输出,也就是这个me打头的,然后house等于HELLO102。
03:03
然后你可以看到这里面有个月份等于八啊,Who等于S,硅谷是我们这个global t里面加的,也就是说这一次呢,会有一批。会有一个这样的新数据。好,后面呢,我们可以看到还有一个是processor,呃,是一个处理组件叫convert,它呢还是我们之前用过的一个组件,它是干什么呢?它会把这个啊,有CPU的一个标签啊,一个名为CPU的标签,把它的值呢给替换成我们的measurement,也就是我们的测量名称啊,也就是我们现在看到的。这五个这五个指标啊,CPU0123 CPU它原来的名称呢,应该是CPU,然后底下呢,会有一个tag叫CPU等于CPU0 CPU等于CPU1啊等于什么什么total啊这个啊,所以说现在呢,其实我们是把那个标签的值,呃给它换成了我们的。测量名称啊,那这那么这是这个转换插件起到的效果好,那么接下来呢,我们继续来看配置文件。
04:06
呃,首先呢,还是来看我们的这个processor,呃,这个处理的配置,呃,处理的这个插件,呃,首先呢,刚才这个convert已经给大家介绍完了,我们可以看到呢,这里还有一个处理插件叫date。那么date插件呢,其实我们可以看到每一个数据上都有一个,现在都有一个month等于八,也就是现在是八月份,可以看到我们现在是2022年的8月14号,那么八月份呢,其实这个月份就是我们date插件来起到了一个作用,它呢会依据这条数据所对应的时间戳,然后在这个时间戳呢,呃,提取这个月份的数据再给它加上来,但这里呢,你可以看到我data mark写了一个等于一,呃,这个数据格式呢,你可能没有见过,这个怎么可能是一个日期的格式呢,它其实是勾浪里面的一个叫叫做示例格式。或者叫参考样式,那么这一部分呢,我们可以给大家提前介绍一下,就是勾浪的一个参考样式啊,把这个标记清掉,然后把这个图先藏起来。
05:05
那么这个参考样式呢,其实就是这样啊,你比如说我要指定指定这个月份的时候呢。有这个month,我可以我可以写一个一,那么这样的话,我们的这个数据出来的这个月份的格式呢,可能比如说一月份就是这样,二月份呢,就是一个阿拉伯数字,然后12月份呢,就是12,那么如果呢,你写的是零一啊,那么这个月份呢,出来的之后效果就是01020304,然后12是这样的,呃,也就是说通过。这个参考样式呢,其实啊,它这个里面可以知道你希望以一个哪一类的这个样式来输出你的,呃,格式化后的日期,包括这个周week,你可以这个也就是我们说的星期几啊,你可以直接写一个mon,那么这就是Monday嘛,是吧,然后完了之后如果是第二,如果是星期二,那就是T啊,是这样的啊。
06:03
那么基本上呢,就是这么一个格式,这个格式呢,可能跟大家平时见的格式化字符串啊,YYYY啊,MM呃那些不大一样,那么这个呢,你了解就行了,还有一个需要提醒的点就是啊,我如果说我想按照最短的阿拉伯数字去输出我的月份,我能不能给一个三,或者给这个参数设个六呢?啊不可以,你现在呢,就是月份里面能使用的这个格式啊,而且呢,就你只能选这几个,选这四个因比如说我想输出最短月份,你必须得给这个参数写成一,你不能写出写成这个3527啊,你这样写都不对,这样写的话会导致这个程序的运行报错。好,现在呢,回过头来继续看我们的配置文件啊,还有我们的数据。呃,那么date呢,这个。处理插件呢,我们就算是看完了,接下来呢,我们看我们的两个聚合插件,呃,两个聚合插件的对应的这个数据输出呢,分别是在,呃,是交叉的分别是这个,然后还有我们CPU输出是这个。
07:07
啊,你可以看到啊,我们这里面的意思是统计最近30秒的内存啊,指标名为内存的最大值和最小值,我这里面呢,不像上面这个插,呃,这个插件我指定的file,也就是说这个插件呢,它默认会对所有的字段统计最近30秒的最大值和最小值,所以说我们可以看这条数据,我用这个方块给它标起来。这条数据。我们发现这里面有一个。Max还有tell me,比如说这个可用的最大值和最小值,然后你会发现呢,它。这个之前的这个memory的数据,它只有这个字段,是不是完了之后,到了这个聚合之后,它就会给这个字段呢,加上一个后缀,表示max和me啊,表示这个可能是表示的是正在使用或者什么呀啊那么这个地方呢,就是它的最大值和最小值。
08:08
然后呢,我们再看这个CPU的情况那。CPU呢,可以看到这里还有两个CPU的数据,我再用这个方框给大家标起来。那么这个呢,首先是我们对这个字段做了一个筛选,就只对这个usage idle这个字段来进行一个聚合操作,然后另外呢,就是这个聚合插件的类型呢,叫value counter,它是对值来进行计数的啊,我们可以看到现在聚合后的数据。首先。是只有CPU0和CPU1啊,名称为CPU0,有内pass,名称为CPU0和CPU1的数据能够进入我的聚合算子,而且呢,被我进行聚合计算,然后在这里面我们可以看到CPU0和CPU1,它有两个非常关键的值,叫usage idle1对吧杠100,也就是说在这个时间段内,在这最近30秒内只出现了一个值为100的数据,啊,这CPU0 cpu0这个数据,它只出现了CPU0这个测名称,它只出现了一个值为100的一条数据,那么如果说呢,啊,现在是有usage idle等于90的,然后等于80的,那么这个地方呢,会对这个值呢进行计数,相当于你写S时候group by,然后再进行count,那是这样的一个操作,那么现在呢,因为我们跑的是test模式,只有一条对你可能会好奇,就是啊,你统计的是最近30秒呢,为什么你刚才我看你程序好像运行了不到30。
09:41
十秒你的这些聚合数据也出来了呢,啊,其实就是因为我们刚才使用的test test模式来运行的我们的telegraph程序,如果说呢,你这里不用test模式,你要真的等上30秒,我们可以看一下。我们这里不用test的模式啊,等他第一次输出。
10:01
我们可以看看到这里这个flash inter是五秒啊,你可以看到这里面呢,其实没有产生任何的聚合性的数据啊,包括现在也没有,那么这个时候呢,就是你要等等到这个啊,30秒之后了,30秒之后呢才会啊,整个数据条目里面才会出现真正的这个是聚合插件输出的数据,好那么最后呢,我们再用一张图,把我们刚才这个呃,配置文件对应的工作流呢,把它的这个图给图示化一下。呃,最后呢,就是我们的刚才这个,呃最后的这个示例,他其实组成了一个这样效果的呃工作流。这里呢,我们这个图上画的时候呢,省去了telegraph内部的管道,它也就是说我们只画出它的这个数据,在这个啊插件里面是怎么跑的,我们可以看到呢啊,刚开始是有两个输入插件,然后共同呢把数据扔向同一个这个processor,然后processor呢来对这个数据进行处理。
11:03
之后呃,再对这个呃,Processor的这个convert呃插件对这个数据进行处理,然后呢,再把这个数据呢刷给后面的date插件来补上一个month来补上一个月份之后呢,呃有一个最大值最小值的插件,它只让名称为me,也就是memory的这个数据进入我的这个聚合插件,而且最后呢,呃,像我们的这个输出插件输出一个呃memory的在最近30秒的最大值和最小值,而我们的这个value counter呢,它只允许CPU0CU1啊这两条数据啊来进入我们的这个啊聚合插件,最后呢,也只输出CPU0和CPU1的两条数据的直计数,嗯,那么这就是我们刚才设立四这个配置文件啊所内部实际上的一个工作流。
我来说两句