00:00
接下来呢,给大家讲一下这个telegraph命令行的一些用法,那么telegraph安装好之后呢,你就可以使用telegraph命令,那么一般来说呢,呃,其实这里面呢,不是不是说全部都能用得到啊,不过我们可以呃挑几个重要的比较,呃重要的来说,首先这个con这个就比较重要,刚才我们已经试了啊,它其实就是打印我们目前所有的实例配置,对吧?然后完了之后还有一个war,我们可以看当前的版本,包括它在这个get仓库上啊,是哪一个这个commit的这个编译的结果啊,他都会给你显示出来。那么接下来呢,我们可以看底下这些选项,就是呃,这些选项呢,还有这些命令堂参数,实际上呢,并不是说每一个都很重要,呃,我们就挑一下这个比较重要的几个说一下。首先呢,这个test是非常重要的,就是我们刚才呢,可以知道,就是这个test呢,其实可以帮你调试一下这个,呃,你这个配置文件的一个输出成输出结果,比如说我刚才这样CONIG301。
01:09
然后呢,后面呢,加一个test。这样的话呢,我们就只输出一次数据,也就是说我们这个inputs的这个CPU采集器,它只会采集一次数据,然后呢,就直接输出到控制台啊,它不是直接到他不是直接输出到控制台,它其实要经过这个,呃呃,Gators就这个聚合器,然后还有这个处理器啊,处理插件和聚合插件处理完之后啊,最后是输出什么样子,然后直接打到我们的控制台,这样的话,我们就可以对我们的整个啊配置文件的一个工作流的输出情况有一个了解,就是我们会向外输出什么样的数据,这是test的用法。再有一些比较重要的,比如说呃,我们可以看到这个input list,就是说还有这个upp list,它其实是呢,打印我们当前这个呃,Telegraph这个版本,Telegraph它所能使用的所有input的插件,还有auto插件啊,可以跑一下试一下,比如说这个telegraph,然后呢input。
02:13
List这样的话呢,我们就可以知道啊,这些呢,就全都是我这个telegraph里面目前可以用的输入插件,你可以看到其实有很多的,呃,同样的这个地方output list,你也可以看所有的输出插件。对吧,这个呢是什么干什么用的,这个其实是到我们后面去做这个插件开发的时候,我们可以通过这种方式来验证一下,就是我们自己的这个用go浪开发的这个呃,插件,它有没有成功的注册进来啊,所以说呢,这个类似命令要记一下。呃,那么接下来呢,还有一些比较重要的是这个onces,这个onces呢,实际上是收集一次指标,但是它呢跟test不一样,它呢会把这个数据写出到输出端,Test模式呢,只不过是把输入端,然后处理,然后在聚合,最后最终的这个输出之前的结果啊,给我们打印到控制台上,我们看一下什么效果,那么这个onces呢,它是真正的会把这个数据写出去,也就是后面你如果跟了一个数据库,那么这个数据呢,就真的就进入数据库了,呃,我们现在呢,可以先看一下啊,我们使用telegraph,然后con。
03:25
一样是EXAMPLE01,我们用test模式先跑一遍。那么可以看到呢,这个test模式呢,它说at POS对吧,它这个地方啊,输出插件在在测试模式下不会被加载,那么现在呢,就是CPU的数据,然后直接就打印到了我们的控制台上,但是你可以用一下这个万S模式。一样还是一个301。然后呢,在这里面加一个参数。我们可以看到,其实现在的这个。这两个模式的区别就是。
04:01
Output的这个插件被激活了,而且可以真正的使用,然后这里面可以说这里面有一个就是hang on,然后flash any cash,实际上就是它就是启动,然后接着就把这个抓到的这个数据呢。就写出去,而且呢,整个进程呢,就立刻停止,所以说呢,呃,这个其实是你可以做一个端到端测试的一个方式。那么vans呢?你平时这个写完配置文件之后,可以用ones去测一下数据能不能成功写入。还有一个需要注意的地方,就是这个提示的这句话。嗯,实际上这个就是说在这个杀档之前,就在这个程序结束之前,他会把缓冲的这个指标呢,诶给刷写出去,什么意思呢?啊,比如说我现在有一个输入插件啊,它的这个呃,抓取间隔呢是三秒,也就是每三秒呢去弄一批数据,然后呢,我这边呢,还有一个输出插件,这个输出插件呢,是每十秒啊向外写一次。
05:00
那么现在呢,就是这边三秒呢,它会采集这边十秒呢,他写,那么等到我写的时候呢,实际上呢,这里面应该有三批的数据。那么假如说呢,到到了下一个十秒,到了到了下一个十秒,比如说现在是时间到了啊,推到了我们的15秒。那么这个缓冲区里面呢,啊,这个缓存里面它肯它肯定还有剩下两批数据,如果这个时候呢,进来一个中断信号,要求你这个进程停掉,那么这个时候inputs就out puts这个输出插件,它会在程序停止之前把这些。缓冲区里面的数据直接输出出去啊,交给别人,所以说呢啊,在程序退出之前,这个里面的数据是一定会尝试性的向外写出的。这个地方呢,也要注意一下。还有一个比较重要的就是这个filter,我们可以看到这个input filter,然后filter,呃,其实呢,Telegraph里面一共有四类组件,一个是输入,还有一个就是处理,然后还有输出组件,最后一个呢,还有一个聚合组件,我们可以看到呢,这里面其实每一类组件呢,它都对应的一个filter参数。
06:15
那么这个参数呢,它其实有一个比较重要的作用吧,它其实可以帮你快速生成一个呃参考的模板,呃不知道大家还记不记得,就是我们之前呢,去生成这个呃配置文件的时候呢,是这样,然后使用T呃可con命令呢打印所有的呃插件的。参考配置,然后呢,输出到一个文件里面去,然后在这个文件里面呢,去看我们的呃,所有插件的配置,但是这样呢,就是说因为这个这个文件呢,其实非常长,这个文件大概有一万多行,那么看起来呢,实际上是非常不变的。那么假如说我想快速的就是组合几个插件,然后生成一个呃,我们说的一个参考的配置文件,那么应该怎么办呢?其实我们可以先用这个filter把所有的这个呃输入插件呢给过滤一把,然后过滤完之后把过滤完的这些参考配置再输出到一个啊配置在输到一个任何一个文件里面,那么这个其实就是我们这个filter的一个作用,可以给大家举个例子,比如说。
07:20
我在这里面使用input filter。使用什么插件呢?我打算使用CPU的一个输入插件,还有一个就是内存的输入插件,如果说你要打算用到这个多个输入插件,你应该用冒号呢,因为号来把这个插件名来分割开,然后我还想用什么呢?我还想用这个,呃,Processor。我想用一些处理的这个插件,那么这个地方。我希望用刚才我们示例里面写的convert。再一个呢,就是我不想要这个聚合插件。
08:03
这里呢,你如果说是想给他一个空值,那么你需要传一个单个英英文分号,但是呢,你不要给任何的这个有意义的这个啊插件名称,然后呢,我们说还是想把这个输出弄到文件里面去,所以这里呢,我们打一个file,然后最后呢,一定要跟上一个后缀叫config,先这样回车一下,看看什么效果。其实你可以看到就是我们现在呢,生成了一个我们想要的啊,你可以看到这里生成的这个格式化字符串,生成了一个只有我们刚才过滤出来插件的配置文件啊,最底下呢,它是倒序来的哈,最底下是我们的输入插件啊,而且这个默,而且这个默认的配置呢,都给我们直接放上了,还有一个就是我们刚才的这个。处理器的这个配置。还有就是我们刚才选的这个file,它输出的一个配置,你可以看到它其实呃,除了刚才我们用的这个files这个配置呢,它还有很多可以用的其他的这个呃配置,比如说啊,多长时间去滚动一次文件啊,这些东西它都是可以设置的,呃还有就是上面呢,有我们的agent的全局配置的一个参考模板和这个呃,Global t这个地方你也可以啊去进行一个设置,那么这样的话就是一个我们标准的模板了啊,不用你再去,呃根据这个网上的这个事例啊,或者说是呃,去get HUB上看,然后把人家的东西粘过来,这样手动粘贴复制啊是一个非常麻烦的事情,你通过这种方式呢,就可以快速的去生成一个模板。
09:36
再一个就是他官方呢,嗯,官方给了几个案例,就是说你可以通过这个filter呢,直接去运行一个,呃,使用默认设置的呃,Telegraph程序,你可以这么玩,比如说我们这里呢,直接input啊啊,我选CPU。CPU这个输入插件,然后desk,我想看一下磁盘的情况,还有memory内存的这个情况,然后呢,我这里跑一个test模式给大家看一眼。
10:07
对,就是你可以通过这个input filter呢,直接就选出几个插件,然后快速运行。不过这样的话呢,你其实使用的是CPU desk和memory的一个呃,默认设置,你在这样的方式是没有办法去更改他们里面,他们里面的默认设置的啊,这是一个需要注意的点。还有一个非常容易让人产生误解的这个配置,是啊,这里的这个com directory,嗯,就是配置文件的路径啊,目录,嗯,你可能会认为这个你给一个目录呢,它会把里面所有的配置文件呢,每一个配置文件当成一个独立的工作流来运行啊,但实际上呢,不是这个效果,我们可以去创建一个临时的这个目录做一个实验。那么我现在呢,有一个名为test的空目录,我们出来,然后把这个刚才外面的这个ex examplel01和ex examplel02复制到这个test里面。
11:08
那么接下来呢,我就直接用telegraph telegraph的这个k director。直接来运行这个目录,我们看看它什么效果。啊,这里敲错了,不好意思啊,呃,而且这个这个参数呢,不应该叫C,这个叫con,待会去看下文档。啊,那么我们现在呢,就先把这个程序直接暂停一下,然后我们要来看一下这个。呃,它的一个输出情况,实际上呢,这个情况呢,比我们刚才想的要复杂很多。呃,首先呢,我们要看到的是他的,我们就看这头部啊,数据我们不看,我们只看头部。
12:00
我们可以看到什么呢?就是他在这里面加载了三个CPU的插件,为什么?然后还有一些就是其他我们没有指定过的,因为我们刚才复制的是示例一和示例二的配置文件,那么这两个。配置文件里面呢,都只有一个CPU的输入组件。我们可以看到就是后面还有一批我们没有在这个配置文件里面声明过的啊输入组件,为什么呢?呃,其实呢,在这个telegraph里面,你如果不指定杠杠config那个参数,它会默认使用自己的一套,呃,这个。默认的这个工作流,那么默认的工作流呢,它会监控本机的啊这些指标,再加一个CPU指标,然后把它呢,写到in flux DB里面,你可以看到这个art po里面,对吧,这个输出组件里面,我们刚才没有声明in flax DB,它它现在也带一个inx DB,对,它会默认使用这这这一套这个工作流。然后呢,呃,你可以看到这个CPU呢,我们可以说默认的这个工作流呢,它也有一个CPU组件,然后我们刚才在这个test路径下呢,有一个EXCEL01和一个EXCEL02,那么这两个配置文件呢,各自又声明了一个CPU组件,然后而且呢,这两个呃配置文件里面呢,还用的都是file输出组件。
13:22
最关键的就是,呃,EXAMPLE02里面呢,它还有一个自己啊声明的convert,一个转换的处理插件。那么其实会达到一个什么效果呢?就是telegraph,它首先是把一个默认的配置文件和我们的EXAMPLE01那个配置文件,还有EXAMPLE02的配置文件。全部给揉在一块儿,形成了一个工作流,呃,也就是说我默认的啊,输出组件啊,输入组件,然后经过你一二提供的convert沃特的输入组件,然后到我们三个啊,共同声明的这个一共是三个,就有两个file输入组件和一个默认的in classb输入组件啊,所以说呢,它其实是把这三个配置文件融合了,而不是说各自的这个配置文件对应一个独立的工作流啊,所以说呢,呃,其实这个conflict directory这个。
14:19
这个配置其实是比较鸡肋的啊,所以说这就是telegraph它的一个,呃,默认情况下呢,我们还是使用config那个参数,直接把一个工作流写到一个配置文件里面。那么好,同学们,我们说到这个,刚才这一套工作流了,然后你还要再看第一行。第一行。他说他用的是什么呢?他说他用的这个配置文件是什么呢?是ETC底下的一个啊telegraph叫。com这个文件怎么来的呢?这个文件实际上是我们刚才通过RPM的安装方式啊,带来的一个默认的呃,Telegraph工作流的配置文件,呃,不知道大家还记不记得,就是我们通过RPM安装完这个telegraph之后呢,我们还去用这个。
15:09
System ctl去看了一下这个。呃,Telegraph服务的一个状态,也就是说呢,其实你现在这个主机上啊,就有一个名为telegraph的服务,它会随着你的开机自启,然后运行刚才这个默认的工作流,而这个默认的工作流呢,会把这个数据,会把本机的指标来直接写到in DB,那么这个呢,是有八九十失败的,因为你现在还没有装in DB。啊,那么出于此的这个考虑呢,我们可以去看一下这个使这个ctv,呃。System control,然后cat telegraph,你这样呢,就可以看到telegraph这个服务的它的一个服务脚本,呃,我们可以看到这个service这一块啊,这一块实际上就是它的整个服务逻辑。
16:04
这就是开启时他要执行的一个指令。我们可以看到它其实就是telegraph,然后使用我们刚才那个默认的配置文件,然后呢,他还指定了一个呃,Conflict directory,但实际上呢,这是一个目录。这是一个空目录,所以说呢,对吧,它里面没有东西,所以说呢,它实际上跑的就是这个配置文件,呃,所以说依据这个情况呢,你可以自己去更改一下啊,这个服务文件,或者直接把这个服务给它卸载掉啊,你看有没有必要就是说在。整个机器自己启动的时候,就开始进行一个指标的抓取,并且输出到某个地方。好。那么我们还剩。几个参数给大家说一下。剩下这几个参数呢,其实就没有几个很重要的了,比如说这个仪器用的插件呢,我想你也不会去看是吧?呃,还有什么呢?Debug debug其实就是我们可以在那个配置文件里面去配置一下我们这次运行telegraph的一个日志文件的目录,然后配置完那个目录之后呢,你可以选择开启debug模式,这个时候呢,日志级别呢,就会以debug的级别去运行。
17:20
啊去去去记去记录,然后呢,还有一个就是PID file,这个呢,一般来说是做守护进程的时候用的啊,你配完这个参数之后,在telegraph telegraph启动之后呢,呃会把这个自己的进程号写到这个文件,当telegraph结束的时候呢,正常来说还会去这个呃目录,还会去这个路径底下啊去这个文件底下,把这个PID呢再给删掉,把整个文件都给删掉,那么这样的话就相当于在你这个呃linuxx啊留了一个这个进程是否正在运行的啊标记,呃我们呢,现在是用RPM方式去安装的,但是如果你用的是呃那个LINUX64位的那个二进制包,呃,它其实里面带一个int.sh,就是它是管理这个呃,一个守护进程的脚本,你可以去用那个。
18:13
不过这个呢,一般我们用不到,呃,再一个就是。P address这个这个实际上是go浪他自己带的一个性能分析工具,不过在这个telegraph呢,我们还可以还是可以通过这个。呃,PADR去。使用这个工具来分析自己目前的性能,我们可以跑一个实例,比如还是刚才这个EXCEL01点康复啊,这一次呢,我们去加一个配置。就是p a drr啊这个地方呢,我给一个零点零点零点这个意思就是啊,允许我外面的机器来访问,因为我现在呢,是一个虚拟机环境,然后8080。
19:00
让他跑到8080端口上啊,可以看到现在就是说他说在啊p http server跑在这个端口上了,然后这个路径下。那么把它复制过来,呃,到我们的浏览器上去访问一下试试。啊,不好意思,把这个域名要换一下啊。现在我们可以看到就是啊,这个呢,其实就可以说是这个telegraph的一个啊性能问题了,比如说包括它的堆的堆是什么情况,你看啊,通过这些指标呢,就可以去分析我们的这个呃,Telegraph的一个性能情况。那么这个是它这个参数的作用,再往下我看还有没有要介绍的。这个simple con呢,实际上和上面这个,呃,Conf命令呢,是完全一模一样的作用啊,所以说这个。呃,严格来说是重了。
20:01
那么这个呢,你可以统计一下这个进行一次input到output的这个描述。啊,这个usage呢,其实是比较激烈的,这个usage它其实只能到目前为止啊,它其实只能打印这个。Input和OUTPUT2种插件的用法,而且打印的内容呢,啊跟我们的。那个config输出是一模一样的,所以说这个基本上就可以忽略了,好那么这个他这寡妇命令行的这个用法呢,我们就介绍到这。
我来说两句