设备端口CRC ************* 获取交换机端口错误包的数目。 采集侧 ================== 采集原理 ~~~~~~~~~ 采集器通过周期性的查询交换机的端口当前的错误报文的统计总数。 .. attention:: *交换机会对错误报文数做统计,最大值是2^64,当超过这个值之后,将会从0开始计算。* 采集任务参数配置要求 ~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: auto :stub-columns: 1 :align: left * - **采集方式** - SNMP * - **SNMP OID** - 1.3.6.1.2.1.2.2.1.14 * - **返回值** - 累计流量的错误报文总数 * - **采集超时时间** - 默认2000ms * - **采集周期** - 次/5min,每次完成一个设备的所有接口的数据采集(批量采集) * - **配置筛选条件** - #. 业务线 #. 区域(地域) #. 机房 #. POD #. 业务属性(服务角色) #. 设备角色 #. 设备IP、IP地址段 * - **特殊要求** - #. 使用同一机房的采集去采集该机房的设备存活状态,如果该机房没有采集器,使用一组指定的默认采集器去采集 #. 支持手动指定某一些IP地址(ip地址段)使用特定的采集器 任务筛选条件的互斥关系 ~~~~~~~~~~~~~~~~~~~~~~~~ a. 机房--POD--设备IP,存在父子关系,当父节点未被选中或者是多选状态下,子节点不能继续选择;当且仅当机房、POD、同时处于单选状态下方可继续选择设备IP; #. 区域--机房,存在父子关系,当父节点未被选中或者是多选状态下,子节点不能继续选择; #. 设备IP地址仅仅可以在没有任何其他项勾选的情况下,才可以支持手工输入多个IP地址,或者多个地址段; 任务处理流程 ~~~~~~~~~~~~~~ a. 从筛选条件中筛选出符合要求的设备;设备优先使用带内IP地址作为目标地址去采集,如果没有带内地址,则使用带外去采集。 #. 将筛选出的设备,设置采集周期; #. 对上述设备执行下发任务至指定的采集节点(包括人工指定,和按同一个机房使用本机房的采集器两种方式,后一种为默认行为); #. 对于不能通过自动下发任务至同机房采集器的任务,下发任务至默认的采集器去采集; #. 采集器执行采集任务,当请求报文发出去之后。如果超时时间内(默认 2000ms)没有收到返回,采集失败,此时刻没有数据。如果有返回,将返回值做预处理。 端口CRC采集示例 ~~~~~~~~~~~~~~~~~ 如下是一个批量采集设备端口的CRC的示例。注意到返回值包括两部分,一个是“=”左边的oid,一部分是采集值。返回的OID是两部分合成的,snmp请求的OID加上端口index。 所以,根据返回值,我们可以知道端口的index和对应的bit值。通过index可以逆向查找到该index对应的端口名等信息。 .. code-block:: shell [linux ~]$ snmpbulkwalk -c 360buy -v 2c -O Qn 172.28.0.21 1.3.6.1.2.1.2.2.1.14 .1.3.6.1.2.1.2.2.1.14.470 = 0 .1.3.6.1.2.1.2.2.1.14.471 = 49368 .1.3.6.1.2.1.2.2.1.14.726 = 0 .1.3.6.1.2.1.2.2.1.14.727 = 0 .1.3.6.1.2.1.2.2.1.14.728 = 0 .1.3.6.1.2.1.2.2.1.14.729 = 0 .1.3.6.1.2.1.2.2.1.14.730 = 56271 采集值预处理 ~~~~~~~~~~~~~~~~ 采集会有二类情形,一是采集超时,没有取回结果;二是采集正常。 a. 采集超时,没有取回结果时,则本次采集为空,即这个时刻没有采集数据,不做任何数据的补充,不能标记为0值等; #. 解析返回值,取出返回值中的index和对应的端口CRC累计。 #. 将本次采集值减去上一次采集值的绝对值,作为 ``CRC增量值`` 。(这里考虑到复杂处理,我们不额外处理计数器溢出导致的情况) :math:`C_{increase} = C_{current} - C_{last}` #. 将 ``CRC增量值`` 换算为平均每分钟增量。 :math:`C_{inc/min} = C_{increase}/SampleInterval` #. 通过index逆向从CMDB中解析出端口名字 数据染色 ~~~~~~~~~~~~~~~~ 对每条采集数据,染色如下。 a. 时间戳(采集时间) #. 业务线 #. 区域(地域) #. 机房 #. POD #. 房间 #. 机柜 #. 业务属性(服务角色) #. 设备角色 #. 带内管理IP #. 带外管理IP #. 设备名 #. 厂商 #. 设备品牌 #. 设备型号 #. 设备流程状态 #. 端口index #. 端口名 #. 端口CRC当前值 #. 端口CRC增量 #. 端口CRC每分钟增量 数据分析和报警 ================== 策略配置 ~~~~~~~~~~~~~~~~~ .. warning:: 下述配置的一个前提条件是针对染色数据 ``设备流程状态`` 为 ``在线`` 的执行阈值匹配。如不是,则直接略过。 .. list-table:: :widths: auto :stub-columns: 1 :align: left * - **策略名** - #. 报警策略名字 * - **策略筛选条件** - #. 业务线 #. 区域(地域) #. 机房 #. POD #. 业务属性(服务角色) #. 设备角色 #. 设备IP、IP地址段 #. 端口名 * - **策略生效时间** - 支持到小时级别(0-23) * - **触发阈值** - M分钟内使用率>=N%达到S次(M,N,S为整数)。 * - **恢复阈值** - X分钟内使用率