怎么对集群测量进行隐含排序?

gmond的目的是对统一局域网(LAN)内的年夜量机械进行测量数据的采集。gmond是用UDP发送新闻的,因而是弗成靠的。为最小化因丧失新闻造成的影响,以及供给隐含的优先排序,gmond监控的每项测量数据都对采集距离、时光/值的阈值有唯的设定。

采集距离

界说了采集的频率,gmond依照这个频率对某项数据进行采集和处置。对某些常量数据,如机械CPU的核数,只采集一次。

值阈值

界说采集值和前次申报的值之间的绝对值差(absolutedifference),只有值的明显变更才会激发一条新闻。

时光阈值

该阈值界说了两次申报测量值之间的最年夜时光距离,而不管测量数据的值具体是若干。这个阈值是解决UDP的弗成靠性的一种变通计划,供给了一种盘算值的年纪的手腕,假如自从我们前次收到申报以来,已经由去了一次或几回该國值的时光,则以为我们的当前测量值是过时的。

从高层来看,gmond对其监测的测量数据服从下列步调:

1.采集当前的测量数据值。

2.假如当前值和前次申报的值的绝对值差年夜于指定的值阈值,转步调5。3.假如当前时光跨越了发送测量数据的硬限制(hardlimit),转步调5。

4.转步调7。

5.发送测量数据的值,并保留用于下次比拟(在步调2中)。

6.把时光阈值加到当前时光上,作为下次发送测量数据的硬限制。

7.进人睡眠,时长为采集距离。

8.转步调1。

这种方法使得gmond只在测量数据产生明显变更时才发送新闻,并且,前述的盘算也加上了一个随机值,以削减收集争用。最后,对于数千台机械,测量数据的采集与发送要调和进行。

对下降测量数据采集的成本同样主要的是,将成本固定下来。最坏情形下,每次采集距离的每次采集都发送一条新闻,最好情形下,新闻仅在指定的时光阈值曩昔之后发送。这个规模使你可以或许对测量数据采集树立一个固定的成本预算,当然,除非阈值有问题。

对于收集测量数据,要当心选择值國值。我在第一次把收集测量数据采集加到Ganglia上时,把默认的采集距离设置得太短,值阈值也设置得太小,在我的笔记本电脑上没有留意到这种设置装备摆设毛病,在将Ganglia安排到年夜量的集群上的时刻,这种毛病就异常显著了。每个节点都开端发送收集测量数据更新,以响应其他节点的发送,Ganglia导致了一场伟大的收集风暴。愿望你不会产生这种为难的工作。

Ganglial应有而没有的一个功效是测量数据的批量处置。你如果本身写测量数据采集体系,记住要支撑这个功效。将测测量数据收集起来批量发送,既削减了发送的收集包数,也削减了带宽占用。例如,你发送的每个IPv4UDP包都包括一个14字节的以太网头部、一个20字节的P头部、一个8字节的UDP头部和一个4字节的以太网尾部。现实上这些数字还没斟酌如填充、VLAN、IP选项、IPv6的差别等身分,但我们可以用这些数字做一个年夜概的盘算。假设你发送的数据是32字节,发送10次更新,则须要10个78字节的包,总计780字节。批量发送的话,则只须要1个366字节的包,个中320字节用于测量数据。这个例子中,批量发送削减了90%的包,带宽削减了一半以上。批量发送的缺陷是,一旦包丧失汇集与组织测量数据将会丧失多个数据,而不是一个。

假如一项测量数据对于一台机械是有价值的,则可能对所有机械都有价值,这一点对体系测量数据而言是对的,但对于运用而言则纷歧定对。如,采集MYSQL的测量数据,只对运行数据库的机械才有意义。然则,每分钟的负荷,则对于岂论运行什么运用的机械而言,都是有意义的。

Ganglia元数据过程(gmetad)采集、汇集、存储一组机械的测量数据,这种汇总数据将经由过程数据采集的条理构造,传递给上游的gmetad。这种条理构造的署理模式可以或许创立很年夜的非中间化的测量数据采集重叠,这些重叠可以跨越一座校园或全部地球。

作为一个极端的例子,假想将美国的每台机械都连到一个年夜的测量数据采集重叠上,我们将有一个国度级的gmetad,这个gmetad从运行在每个州的50个授权gmetad中获取数据,每个州的gmetad从每个县级的gmetad中收集数据,而每个县级的gmetad从每个市级的gmetad中收集数据,等等。

这个例子中的根节点不会被美国的每台机械中的所有测量数据压垮,它只从每个州州获取汇总数据,然后生成全美国的汇总数据。所以,对于将50个数加在一路如许的运算,是不须要很壮大的盘算才能的。

Ganglia的Web前端平日安装在运行gretai的机械上上,Web前端将gmetad的数据进行可视化,你可以直不雅地测览,并在测量数据采集重叠中进行导航。例如,你可以经由过程根节点的gmetad查看全美国的汇总信息,以及每个州的数据源,然后在图上点击伊利诺伊州,进入感兴致的数据。这种树状的测量数据值属于空间组件,除此之外,还有时光组件。伊利诺伊州的Web前端,查看具体信息。Ganglia:还让你可对图片进行放年夜和缩小,以找到Gmetad:将测量数据存储于RD数据库中,RRD数据库用于存储数值数据并生成汗青报表。RD一个异常有效的特色是体积并不跟着时光的增加而增加。RRD的每个内部档案库(archive)都有固定命量的“桶”,新数据到来后,更新所有相干的档案库,并丢弃陈腐的数据。对于一个简化的例子,你可以用24个桶对应于一天的24小时,别的的7个桶对应于一周的7天。要在分歧时代中发明数据的趋向,RRD是一个幻想的对象。将日时序数据和前述的条理署理模式联合起来,可以用于答复如许的问题:“对于全美国来说,曩昔一年CPU的应用率是一个什么样的趋向?”

尽管我愿望如斯,Ganglia却从来没有如许年夜规模地安排过。一个更为现实的例子是像Grid3群组如许的,2003年应用Ganglia,从数千台机械中采集测量数据,这些机械散布在美国和韩国的几十个站点,用于高级物理研讨。这些为Grid3采集的测量数据嵌人其他体系,如Globus,让人们分享盘算资本进行物理试验。

从年夜量机械中汇集分歧时代的数据,对于容量计划也很有效。懂得单台机械的CPU应用率为80%是有效的,但知道全部网站扶植集群上个月的应用率为80%却更有价值。可以或许看到这各种“宏不雅图景”,对于筹划硬件采购、发明处置流水线中的瓶颈、洞察Web运维的动态,都长短常有赞助的。

相關文章: