基于Zabbix评估服务器负载情况的方法及系统与流程

文档序号:28701463发布日期:2022-01-29 13:12阅读:197来源:国知局
基于Zabbix评估服务器负载情况的方法及系统与流程
基于zabbix评估服务器负载情况的方法及系统
技术领域
1.本发明涉及一种评估服务器负载情况的方法,本发明还涉及一种评估服务器负载情况的系统。


背景技术:

2.作为介绍,先阐述zabbix的技术背景。zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix于2012年7月31日首次发布正式版,2012年11月28日发布企业级监控系统,2013年4月22日发布企业级分布式监控系统。zabbix能够监视各种网络网络参数,从而为保证服务器系统的安全运营提供数据支持,并且zabbix提供灵活的通知机制,从而让系统管理员能够快速定位/解决网络存在的各种问题。
3.zabbix由2部分构成,zabbix server与可选组件zabbix agent,其中前者可以通过snmp、zabbix agent、ping、端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在linux,solaris,hp-ux,aix,free bsd,open bsd,os x等平台上。
4.目前,对于服务器负载情况的监测多依赖于zabbix等系统,而zabbix应用相对较广,是当前服务器负载的主流监控系统,但目前关于服务器负载的评估多是对来自zabbix系统的第一手数据的直接展示和评估,尽管该种方式能够展示服务器负载某个工作参数,但需注意的是,同样是告警数据,不同类型的告警数据所反映的服务器负载情况并不相同,很难借此综合的考察服务器的负载情况。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种利于相对准确反映服务器负载情况的基于zabbix评估服务器负载情况的方法,本发明还提供了一种评估服务器负载情况的系统。
6.在本发明的实施例中,提供了一种基于zabbix评估服务器负载情况的方法,所述方法包括以下步骤:读取,借由zabbix读取服务器的n个负载指标的初始数据;计算,n个负载指标间的初始数据两两相比得到n

n个二级数据,根据某个指标所对应n个二级数据之和与所有二级数据之和的比确定该指标的指标权重;评估,关联初始数据与指标权重,以数值表征负载情况;输出,输出所述负载情况;其中,所述指标权重为动态权重,为响应当前请求的动态的初始数据而计算得到的指标权重和/或周期性输出的根据当前的初始数据计算得到的指标权重。
7.可选地,所述初始数据被持久化到给定的数据库。
8.可选地,所述初始数据以数组的形式存放,从而在计算时,以所述的n

n个二级数据为元素a
ij
构建n阶矩阵,其中i∈[1,n],j∈[1,n];计算所述n阶矩阵的特征向量;
以特征向量为分子,以所有特征向量之和为分母计算出所述指标权重wi。
[0009]
可选地,计算所述n阶矩阵的最大特征根,使用该最大特征根验证该n阶矩阵的一致性指标;若一致性指标不达标,则调整n阶矩阵中的最大项对应的元素a
ij
;相应地,调整影响初始数据的对应指标的服务器工作负载,以均衡服务器负载,使所述一致性指标达标。
[0010]
可选地,输出所述负载情况为数值型输出;该数值型输出为负载得分:其中,xi为第i个负载指标的标准差,f为评估出的相应指标数据,并且i∈[1,n],k=n。
[0011]
可选地,关联初始数据与指标权重的方式是以初始数据定义初始权重,初始权重与指标权重的乘积为综合权重,综合权重即为用于表征当前负载情况的数值。
[0012]
可选地,所述负载指标包括磁盘占用率、磁盘剩余空间、内存占用率、内存剩余空间、当前cpu使用率、近给定时间内cpu平均使用率。
[0013]
可选地,所述初始数据为预定时间段内相应负载指标出现的告警次数。
[0014]
可选地,所述预定时间段为截止到当前最近25~35天。
[0015]
基于zabbix评估服务器负载情况的系统,其特征在于,所述系统包括:读取单元,借由zabbix读取服务器的n个负载指标的初始数据;计算单元,用于n个负载指标间的初始数据两两相比得到n

n个二级数据,根据某个指标所对应n个二级数据之和与所有二级数据之和的比确定该指标的指标权重;评估单元,用于关联初始数据与指标权重,以数值表征负载情况;输出单元,用于输出所述负载情况;其中,所述指标权重为动态权重,为响应当前请求的动态的初始数据而计算得到的指标权重和/或周期性输出的根据当前的初始数据计算得到的指标权重。
[0016]
发明人认为不同的负载指标于服务器而言的重要程度并不相同,因此,在本发明的实施例中,通过负载指标的相对重要程度,赋予相关负载指标以指标权重,并进一步评估服务器的负载情况,从而更加客观的反映服务器的负载情况,使得监控用户对于服务器的负载情况有更直观,更准确的认识,对于服务器后续的优化升级有重要的参考作用。
附图说明
[0017]
图1为一实施例中基于zabbix评估服务器负载情况的方法的流程图。
具体实施方式
[0018]
应知,zabbix当前只提供服务器的负载指标的初始数据,例如当前cpu的利用率,然而,服务器的负载情况不仅仅与若干离散的负载指标有关,而且与这些指标整体上反映的负载情况有关。因此,在本发明的实施例中,旨在通过将离散的负载指标的初始数据关联
起来,从而能够从整体上反映服务器的负载情况。具体而言,在zabbix框架中,缺少对于服务器负载情况综合的评估方法。
[0019]
在一些实施例中,首先确定用于例如服务器负载情况评估的多个性能指标,即负载指标,用以构建性能指标体系,确定各性能指标的主观权重值,这里的主观权重值只是用来表示初始值,或者说是通过zabbix获取的负载指标的初始数据,也是客观的监控数据,而不是表示人为确定的权重。确定用于设备负载情况评估的多个性能指标,构建性能指标体系,确定各性能指标的主观权重值。进而,通过主观权重计算各性能指标的客观权重值。各性能指标根据对应的主观权重值、客观权重值计算得到动态综合权重值。在一些实施例中,根据建立的评估矩阵以及各性能指标的动态综合权重值,计算待评估设备的负载,根据负载情况计算结果进行评估。
[0020]
关于服务器负载情况的评估,在优选的实施例中采用以下步骤:1)ahp确定指标权重按照ahp(analytic hierarchy process,层次分析法,又称多方案决策方法)对监控设备的负载情况进行决策分析,确定磁盘占用率、磁盘剩余空间、内存占用率、内存剩余空间、当前cpu使用率、近5分钟cpu平均使用率六个负载指标的权重。按照ahp确定的指标权重拥有更广泛的适用对象。
[0021]
需知,前述的六个负载指标(下文简称指标),用户可以根据服务器的应用可以进行替换和/或增减,在于不同类型的服务器,对某些负载指标的要求并不相同,如按照应用分类的服务器,包括数据服务器、应用服务器、文件服务器、web服务器、接入服务器等,各类服务器均有其特定的应用,而对性能指标有不同的要求。因此,在本发明的实施例中仅以前述的六个负载指标为例对服务器负载进行评价,而非仅限于该六个在实施例中选定的负载指标,本领域的技术人员可以根据服务器类型选用认为可用的负载指标基于此是可以预见的。另外,关于负载指标,还可以作为实验性数据,即验证那些负载指标更具有代表性,从而能够相对准确的反映服务器的综合负载,从而通过若干次的验证,来确定采用哪些负载指标来描述服务器的综合负载。
[0022]
进而,关于负载指标的描述,采用近一个月相关负载指标的相关告警数,通过图1例示的流程可知,相关告警数必然与例如cpu当前的使用率以及相应的告警阈值相关,基于此可知,在通过zabbix读取相关数据时,可将例如cpu当前的使用率,以及相应的告警阈值一同读出。
[0023]
此外,作为调整,例如前述的告警阈值,在对硬件无法进行调整的情况下,可以调整告警阈值的方式来调整告警的次数,用于验证服务器的负载情况,从而为后续硬件或者软件的升级提供参考。例如6g的内存使用率为75%时发生告警,告警次数多大100次,但告警发生时,内存的使用率多在90%以下,当调整告警阈值时,对应的告警次数会大幅下降,从而使最终求得的服务器负载情况在可被接受的范围内。通过指定负载指标的数据调整,可以对应的得出需要对硬件或者软件升级的方向。同时,也可以作为后续负载均衡策略的基础。
[0024]
一般而言,告警次数往往能够反映服务器的负载情况,当某项指标对应的服务器性能出现告警时,则该项指标对应的服务器性能出现了超负荷。相对而言,单一的性能指标很难进行服务器的负荷管理,而仅仅通过告警次数的简单排序,也不能真实反映服务器的负载情况。
[0025]
在本发明的实施例中,通过负载指标初始数据间的两两比较,来确定负载指标间的相对关系,最终确定出相应的指标权重,再借助于指标权重评价服务器的负载情况,从而更加客观描述服务器的负载情况,为后续的例如负载均衡提供基础。
[0026]
作为优选的一种比较,或者说用于确定当前指标权重重要性次序的方式,在优选的实施例中,基于例如六个性能指标,从而构建一个六阶对比矩阵。
[0027]
其中具体数据获取方式依据系统根据实际告警情况,对例如影响系统活跃度的六个指标进行两两评判,得到一个六阶矩阵。
[0028]
注:如果第i个指标出现告警10次,第j个指标出现告警2次,则a
ij
=5,a
ji
=1/5。用表格表示如表1:表1进而计算矩阵的特征向量和指标权重,首先对矩阵的各列求和,得表2:表2
对每一列进行归一化处理,公式如下:其中的值为各列的和,如表2的sum行。用各列元素分别除以各列的和得到一个新矩阵,如表3:表3
进一步对上表3每一行进行求和,即得出特征向量,见表4:表4进一步依据表4计算指标的权重,记为客观权重值,计算公式为:bj:表4中的总和。
[0029]
该计算公式,其含义同对矩阵归一化处理。
[0030]
根据数据采集获取到的监控项数据,进行分析。这个时候即可以得出六个指标的权重,见表5:表5
进一步根据表5计算矩阵的最大特征根:aw:表示矩阵a与w相乘,在excel中使用mmult()公式,这个公式的意思是,两个矩阵相乘的结果是一个列向量,然后用列向量中的每个元素除以阶数和响应的权重的乘积。示例计算结果见表6:表6
经计算得出特征根为6.325314。
[0031]
进一步计算矩阵的一致性指标,相对应的一致性指标公式:n:表示矩阵的阶数示例中的c.i = (6.325314-6)/5 = 0.065062783。
[0032]
进而检验矩阵的一致性指标,检验一个矩阵的一致性指标为矩阵的随机一致性比率,计算公式为:r.i表示平均随机一致性指标,这个是一个常量,根据阶数可以在量表中查询。量表表7:表7
从量表中可以看出6阶矩阵的r.i值为1.26,所以我们计算指标的c.r=0.065062783/1.26=0.051637129《0.1,即保持显著水平,对比矩阵是保持一致性的,如果c.r》0.1,就表示未保持显著水平,需要对对比矩阵进行调整,以对比矩阵中绝对值最大项对应的矩阵元素进行调整,直至通过一致性检验。相关调整在前文中已经述及,在此不再赘述。
[0033]
进一步进行指标权重的计算:评估权重应既注重客观性,又不失主观性,这样权重分配,会使得权重不会因个别数据导致大幅变化,也不会因为某些异常的主观权重影响最终结果。主观权重值,取平均值,并进行归一化。客观权重值,取平均值,并进行归一化。将处理后的主观权重与客观权重求几何均数,并进行归一化,获得综合权重值,见表8。
[0034]
表8
每次需要计算负载情况时,会根据监控数据对上述权重进行重新计算,以对当前的负载均衡提供最接近的数据。
[0035]
进一步计算各指标的标准差,标准差(standard deviation) ,是离均差平方的算术平均数(即:方差)的算术平方根,用σ表示。标准差也被称为标准偏差,或者实验标准差,在概率统计中最常使用作为统计分布程度上的测量依据。
[0036]
标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。
[0037]
计算公式为:注:x
i 为近一个月的监控数据,为平均数,n为总数。
[0038]
系统依据近一个月指标的相关监控数进行计算得出具体标准差。
[0039]
进一步计算各指标的得分,计算公式为:注:x为指标当前监控数值,δ为指标的标准差,μ为指标的告警阈值。
[0040]
标准偏差(std dev,standard deviation)
ꢀ‑
统计学名词。一种量度数据分布的分散程度之标准,用以衡量数据值偏离算术平均值的程度。标准偏差越小,这些值偏离平均值就越少,反之亦然。标准偏差的大小可通过标准偏差与平均值的倍率关系来衡量。
[0041]
通常结果平均值为50,最低为25. 从概率上讲也是能捕捉到最大化的相对的比例,而测量不确定度的分项越多越丰富,也能使误差越准确,结果越接近真值,使正态分布越往真值靠拢,离散值越少,使得计算各个指标的得分更加客观,更加接近真实值,使用此公式计算时,可减少个别异常或突出的数据,对于最后得分产生的影响,使得得分计算回归到一个总体的趋势中,更能反映得分的变化趋势。在这个公式里,监控指标每高于平均数一个标准差,体现在偏差值上是10分。
[0042]
最后计算负载得分,公式为:注:x为指标所占权重,f为指标得分,n为权重总和(值为1)。
[0043]
通过计算得出各设备具体分数,量化的统计不同设备的负载情况,辅助进行决策分析。
[0044]
不同的设备,不同的系统计算的出的动态权重也会有较大变化,计算的服务器负载情况误差也会比较大.总的来说,在10%的偏差下,综合计算偏差在可接受范围内.表明对于设备和系统的要求并不大,从而表明该优化具有一定适用性。优化对于服务器的服务器负载状况评估的准确性,扩大对于服务器负载状况评估的适用性。
[0045]
利用动态权重算法,结合数值优化算法自动评估和优化动态权重评估,这样可以扩大方法的适用范围,还可以自适应不同工作状态 下相关参数变化,让本方法具有更好的适应性。服务器负载情况对于生产环境,服务器监控状况有很大的参考价值。本方法可以更迅速,科学的反映服务器的负载情况,使得监控用户对于服务器的负载情况有更直观,更准确的认识,对于服务器后续的优化升级有重要的参考作用,可以防范因服务器过载,导致的损失。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1