00:01
那么接下来啊,咱们来看一下普罗米修斯的架构,那么这里有一张这个普罗米修斯架构图,那么这张图呢,其实是从普罗米修斯的官网来获取到的,是吧?那么从官网拿到这个图之后呢,我们现在呢,我在我们这个文档里边啊,我对咱们这张图呢,做的一个结构的划分,那么把这张图呢,其实分了三部分对吧?其实通过咱这么两条线来分三部分,那么这部分呢,主要是采集数据的,那么这部分呢,主要是做存储计算的,那么这部分呢,主要做我们这个输出展现报警的,对吧?那么接下来咱们呢,就来看一看,在整个我们这个架构图里边,它所涉及到一些组件,对吧?那么它的作用是什么?那么咱们在这呢,来对吧,把这个图给盯一下。然后往下来看,同学们对吧,我直接看这加油理解,那么咱们普罗米修斯啊,它设计为是一个维度存储模型,那可以把它理解成一个olp这个系统,那么这个咱们怎么去理解说它怎么就成了一个维度存储模型了呢?对吧?同学们,那你想我们现在采集到指标之后,我们是以什么样的形式来存储的,是不是以时间对吧,这样的维度来存储一个时间序列呀,对吧,来存储到我TSDB里面去,对吧?那么我们现在呢,在做输出的时候,那也是对吧,从我当前这个时间序列数据库里边去查询我们相关的指标,对吧,来做一些我们的展现或者报警,所以说呢,我们说它是一个维度存储模型,对吧?那么我们也要从这里边查询数据,做分析,做计算,所以说可以把它理解成一个o lap这样的系统,对吧,那么既然是op系统,那么在整个的系统里边对吧,那么我们说把它分成了我们的三层,采集的,存储计算的,以及呢,咱们这个应。
01:54
层层,那每一层它所包含组件对吧,都有哪些对吧?分别完成什么功能?那么咱们一层层看,那么先来看谁呢?先来看我们这个存储计算层,那么在咱存储计算层里边,它的核心呢,是普罗米修斯server对吧?那么在咱们普罗米斯server里边呢,它包含了存储引擎以及呢计算引擎,比如在咱们这里边它对吧包含了我们的存储和计算引擎对吧?那么怎么样去采集数据呢?那么其中有一个叫retri对吧,这样的组件,它主要呢去对吧做取数对吧?那么这个取数从哪来取呢?从咱们这个采集对吧,这层里边来取对吧?那么采集层里边呢,大家可以看到,那么其实呢,它这里啊,采集的时候主要有两种渠道,一个是通过push get v,那么另外一个呢,是通过exportter对吧来进行获取,那么这两种方式那有什么区别,是怎么回事呢?咱先简单看一下,说我们在采集层呢,分两类,一个是我们的生命周期较短的作业。
02:54
还有一类呢,是生命周期较长的作业对吧?那么如果是短作业的话,它可以直接通过API在退出的时候,然后呢,将指标推送给get way对吧?那么什么时候用呢这种方式呢?大家想一想啊,那么我们在使用Spark或者使用我们的link叫做实时计算的时候,对吧?那么Spark呢,它本身有我们的exor。
03:17
对吧,那么咱们flink呢,本身有咱们这个什么task manager对吧?那么咱们再去提交一个job的时候,对吧,那我这里可能有很多不同的我们的变异度对吧?那么具体我当前呢,把这个处理的时候,我是交给哪一个excu或者哪一个task manager执行这个东西,咱们是不确定的,对那如果不确定的话,我就不可能通过我们当前呢这个普罗米修斯去监控具体的某一台机器,对吧,你接这台机器有可能我监控着202对吧,但是呢,我现在在执行的时候,他203执行的,对吧,那你现在呢,这个202白监控了嘛,对吧,所以说呢,咱们现在获取这种啊我们这个指标的方式,那应该怎么办呢?对吧,让他们把我们这个变化的指标呢,诶,推送到统一的网关上去,然后咱普罗米修斯呢,从我们这统一的网关里边来获取,对吧?诶那么这是一种方式,那么另外一种方式呢,就是我确定我就监控某台服务器,对吧,你的作业呢,就一直在这台服务器上执行啊,不会跑到别的服务器上去,那么这种呢。
04:17
它可以通过我们exporter的方式对吧,来进行获取,所以说呢,主要两种方式,一个短作业,一个呢是长作业对吧,一个是直接对吧,咱们通过我们这个啊exporter方式对吧?然后呢来进行拉取,那么另外一个呢,是先把我们这个数据呢啊推送到我们这个网关上取,然后呢,他再从网关来去拉取我们数据对吧,那这个呢,是关于我们这个采集以及呢,对于我们这个存储层,它的一个数据拉取对吧?那么除了我拉取之外呢,那还有一个叫service discover,那么它作用在什么呢?它可以动态的发现要监控目标啊,就我现在在这里,那么作为一个监控的组件来讲,对吧?那我可以通过我们当前service discover对吧,那么当前这个模块去动态的发现,我现在呢,要监控谁啊,那有可能我现在多了一些我的监控目标,有可能呢,我的监控目标变少了,对吧,那么这些呢,诶,你可以通过它来动态的发现,对吧?然后这里还有一个叫TS。
05:17
D吧,这个呢,这个概念应该不陌生,就是我们用来存储我们这个啊时间序列吧这个数据的是吧?还有一个呢是attv server,这个呢是对外提供了atv服务,好了,这个是关于采集层以及呢存储计算层,那么再往下走的话,还有一个应用层,那么应用层这里边呢,也主要分两种,一个呢是alert manager,那么另外一个呢,是做一个我们这个web UI的这个展示啊,也是一个做告警,一个做呢展示,那么如果说我现在呢,要这个做我们这个告警的话,那么我们的普罗米修斯它其实本身呢,也有一个告警组件啊,一个告组件啊,也有一个叫俄me告警组件,那么它对接的是我们这个配置R这样一个东西,它是一套付费的监控系统,对吧,可以实现短信,然后呢,啊这个打电话对吧,等等对吧,然后呢,咱们另外一个呢,就是我们现在在这个对指标做处理的时候,除了告警之外呢,还可以做咱们的可视化,这可视化呢,那么也有这么几种方式。
06:17
一个是普罗米修斯本身他提供的web UI可以实现咱们这个可视化,那么另外我们在这里对接的是我们这个呃,Grana对吧,那其实还可以呢,来通过其他的一些我可视化组件,或者呢,诶可以通过我们一些我们这个应用程序对吧,客户端去拿到咱们这个指标来做一些内部的统计,对吧,这也可以对吧?那么咱们这块呢,其实是对接的grana,然后呢,到时候再通过grana再对接我瑞向云,其实这样的一个我们这样的一个结构啊,那这块呢,是关于我们这个普米修斯架构,它理解那每一个架构的组件,对吧?那么这里这几个核心的对吧,大家知道一个是米修斯server做我们这个啊核心的啊,这个存储计算的。
07:01
然后呢,一个是我们这push get way,以及呢portter对吧,那么它的数据采集的对吧,还有一个呢,是我们这个啊叫a manager,他呢是做告警的,以及呢,我们这个啊内部的一个UI啊和一格做我们的可视化的啊,那么这样的话,他就把采集,然后存储计算,以及呢,咱最终它的一个到展现处理的都给它的挂穿起来了,这个是普罗米斯的一个整体结构啊。
我来说两句