NGENIUS PM 浅析 5月01

Tags

Related Posts

NGENIUS PM 浅析

Netscout网络性能管理解决方案帮助我们实现了对IT网络中流量的全面可视性,通过探针实时地监控网络流量行为、生成统计数据并在PM上进行统一的展现,为网络运维与故障诊断提供了便利。Performance Manager能够将历史统计信息保存在数据库中,方便运维人员随时对历史流量情况进行回顾。如果对这些丰富的历史数据进行分析,可以从中抽象出流量行为的规律,生成流量行为统计模型,为日常运维中衡量网络健康状况提供量化的标准。PM里为我们提供了这项功能,那就是Baseline。

启用基线生成的功能很简单,只要在参数设置里面勾选[.]Enable baseline generation,PM就会根据历史数据计算生成基线。勾选[.]Baseline表示在打开的视图里面默认显示基线,基线的类型分为三种,后面会介绍。在Show in real-time views data up to一栏选择在哪些解析度的视图里面才显示基线。

理解基线:

生成网络性能基线是一个用于量化你的网络性能状况是否正常的方法,一旦收集到了足够描述网络正常情况的数据,就可以生成统计模型将当前流量行为与其比较,以此判断当前流量行为是否发生异常。PM工作空间里可以选择性的为两个不同的视图产生基线。Link Usage Over Time & Application Usage OverTime。

在PM里影响基线生成的参数保存在<nGenius install>rtmbindataanalysis.properties配置文件中,可以调整的参数如下:

Ether_Stats.mode=daybyday

Ether_Stats.percentile=90

Ether_Stats.duration=30

Duration默认值30表示使用过去30天的历史数据来进行基线计算。

Percentile默认值为90,这是一个百分比数表示90%,详见基线类型解释里的类型Percentile。

Mode默认值daybyday,PM有两种根据历史数据生成基线的方式:daybyday & daybyweek。举个例子来说明这两种方式的不同。假如今天是3月29日(星期四),基线是使用过去30天,也就是2月28日到3月28日的历史数据来生成的。那么查看今天00:00到20:00的链路利用率情况,这个时间段链路利用率基线值,如果是通过daybyday模式来计算,那么是使用2月28日到3月28日每一天的00:00到20:00的数据来计算生成的。

如果是通过daybyweek的方式,则是使用2月28日到3月28日的每一个星期四的00:00到20:00的数据进行计算生成。

另外,可以在物理接口上启用自动基线告警功能,对链路利用率的增长或下降进行预警。

自动基线告警提供以下特性:

  1. PM学习真实的网络流量,为每个物理接口创建流量统计模型,自动计算基线;
  2. PM持续的调整基线以适应当前的流量行为(每隔3天使用前30天的数据生成一次基线);
  3. 当链路利用率在特定的采样周期内超过或者低于了该周期的统计基线(偏离超出了容忍范围),告警会自动产生;
  4. 无需手动的在接口模板下设置阀值。

使用自动基线告警功能,需要编辑<nGenius install>/rtm/bin/analytics.properties文件中的参数analytics.automatedbaseline.enable=true来启用。对于一个全新的数据库(新部署的PM),需要至少5天的数据来生成基线并基于基线进行告警。可以设置在仅在指定的接口上执行自动基线告警,analytics.interface.inclusion.list=x.x.x.x:3,x.x.x.x:4表示在IP地址为x.x.x.x的探针接口if3,if4上启用自动基线告警,analytics.interface.inclusion.list=y.y.y.y:3,y.y.y.y:4表示在IP地址为y.y.y.y的探针接口if3,if4

禁用自动基线告警。产生的告警会显示在nGenius Alarm Viewer、SDM告警查看器上,也可以转发告警到指定的外部设备,发送SNMP Trap、Email告警需要修改配置参数analytics.alert.email.enable=true、analytics.alert.forward.enable=true

当启用了基线产生功能,基线表示了通过分析指定周期内收集到的原始数据后得出的流量行为标准,默认情况下这个时间周期最大30天。如果数据库中不够30天的统计数据,那么PM根据现有n天的统计数据来生成基线。有3个类型的基线可供选择:

Average: 30天采样期内每天那个时间段内的利用率的平均值

Peak: 所有30天采样期内每天那个时间段内的利用率值中最大的那个值

Percentile: 默认90%,称之为90%度量值。为了求每个时间点的90%度量值,取30天采样期内所有该时间段的统计数据,共30个。从高到低进行排序,条件是90%的统计数据是低于或者等于这个值,计算出这个值。90%度量值基线其实是更准确的峰值基线,它排除了由于突发或者异常情况而产生的峰值,计算出了正常情况下的流量上限。

最后需要知道的是,基线数据并不是静态存放在数据库里的,而是随需计算的。也就是说每次我们打开需要显示基线的视图的时候,PM自动轮询30天前至今的数据,生成基线。

出于性能考虑,可以通过调整dataanalysis.properties文件中的参数baseline.cache.generate=true,使得PM缓存该基线值。启用这个功能后PM会把基线值缓存在/opt/NetScout/rtm/database/baselinecache目录下,那么下次再需要显示基线的时候则直接从缓存文件中读取。但是这样做有一个问题,如果缓存了基线后,不再随需计算,那么只要PM不重启,生成的基线数据会一直保存在缓存里,永远不更新,无法适应流量行为的变化。所以启用基线缓存功能的后,PM会自动每3天重新计算一次基线,保存在缓存中,基线缓存功能默认启用。