设备CPU使用率 *************** 获取交换机CPU使用率。 采集原理 ~~~~~~~~~ 采集器通过周期性的查询交换机的部分板卡的CPU当前(或者一段时间)使用率。 .. attention:: *不同厂商的设备,同一厂商的设备获取到的信息是不大相同的。需要针对各个厂商设备分别对待。* 采集任务参数配置要求 ~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: auto :stub-columns: 1 :align: left * - **采集方式** - SNMP * - **SNMP OID** - #. H3C: 1.3.6.1.4.1.25506.8.35.18.4.3.1.4 #. Huawei: 1.3.6.1.4.1.2011.6.3.4.1.2 #. Cisco_Nexus: 1.3.6.1.4.1.9.9.305.1.1.1.0 #. Cisco_Catalyst: 1.3.6.1.4.1.9.9.109.1.1.1.1.3 #. RuiJie: 1.3.6.1.4.1.4881.1.1.10.2.36.1.1.1.0 #. Juniper: 1.3.6.1.4.1.2636.3.1.13.1.8.9.1.0.0 * - **返回值** - 设备统计某一个部件的一段时间内的CPU使用率,华为和华三、Juniper为当前的使用率,思科为5s内的使用率,锐捷为1min内的使用率。 * - **采集超时时间** - 默认10000ms * - **采集周期** - 次/5min * - **配置筛选条件** - #. 业务线 #. 区域(地域) #. 机房 #. POD #. 业务属性(服务角色) #. 设备角色 #. 设备IP、IP地址段 * - **特殊要求** - #. 使用同一机房的采集去采集,如果该机房没有采集器,使用一组指定的默认采集器去采集 #. 支持手动指定某一些IP地址(ip地址段)使用特定的采集器 任务处理流程 ~~~~~~~~~~~~~~ a. 从筛选条件中筛选出符合要求的设备;设备优先使用带内IP地址作为目标地址去采集,如果没有带内地址,则使用带外去采集。 #. 将筛选出的设备,设置采集周期; #. 对上述设备执行下发任务至指定的采集节点(包括人工指定,和按同一个机房使用本机房的采集器两种方式,后一种为默认行为); #. 对于不能通过自动下发任务至同机房采集器的任务,下发任务至默认的采集器去采集; #. 采集器执行采集任务,当请求报文发出去之后。如果超时时间内(默认 10000ms)没有收到返回,认为设备没有返回。 设备CPU使用率snmp返回值解析 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SNMP请求返回值为oid和使用率的对应关系。需要从oid中截取部分为index。这里,index区分为两部分,和设备是对应起来的。一部分为chassis号,一部分为slot号码。 部分厂商设备不做此区分。 对于超时没返回的,标记为本次数据缺失,不能设置成0值等。 .. list-table:: :widths: auto :stub-columns: 1 :align: left * - **H3C** - 截取最后两位为chassis和slot。如:.1.3.6.1.4.1.25506.8.35.18.4.3.1.4. ``1``. ``1`` = 17; 代表chassis 1,slot 1。 * - **Huawei** - 截取倒数第三位、第二位为chassis和slot。如:.1.3.6.1.4.1.2011.6.3.4.1.2. ``2``. ``1``.0 = 41; 代表chassis 2,slot 1。 * - **Cisco_Nexus** - 不截取,设置chassis=0,slot=0。如:.1.3.6.1.4.1.9.9.305.1.1.1.0 = 3;代表chassis 0,slot 0。 * - **Cisco_Catalyst** - 不截取,设置chassis=0,slot=0。如:.1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 = 17;代表chassis 0,slot 0。 * - **RuiJie** - 不截取,设置chassis=0,slot=0。如:.1.3.6.1.4.1.4881.1.1.10.2.36.1.1.1.0 = 18;代表chassis 0,slot 0。 * - **Juniper** - 不截取,设置chassis=0,slot=0。如:.1.3.6.1.4.1.2636.3.1.13.1.8.9.1.0.0 = 8;代表chassis 0,slot 0。 设备CPU使用率采集示例 ~~~~~~~~~~~~~~~~~~~~~~~ 如下是一台H3C的一块主控板的CPU使用率采集示例。“=”右边的20即为当前的使用率。 .. code-block:: shell [linux ~]$ snmpbulkwalk -c 360buy -v 2c -O Qn 172.28.0.21 1.3.6.1.4.1.25506.8.35.18.4.3.1.4 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.0 = 0 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.1 = 0 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.3 = 22 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.5 = 23 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.7 = 23 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.9 = 22 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.11 = 19 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.13 = 19 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.15 = 19 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.18 = 3 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.19 = 3 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.20 = 3 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.21 = 3 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.22 = 7 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.1.23 = 3 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.0 = 0 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.1 = 2 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.3 = 22 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.5 = 22 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.7 = 22 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.9 = 22 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.11 = 19 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.13 = 19 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.15 = 19 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.18 = 3 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.19 = 3 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.20 = 3 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.21 = 3 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.22 = 3 .1.3.6.1.4.1.25506.8.35.18.4.3.1.4.2.23 = 3 数据染色 ~~~~~~~~~~~~~~~~ 对每条采集数据,染色如下。 a. 时间戳(采集时间) #. 业务线 #. 区域(地域) #. 机房 #. POD #. 房间 #. 机柜 #. 业务属性(服务角色) #. 设备角色 #. 带内管理IP #. 带外管理IP #. 设备名 #. 厂商 #. 设备品牌 #. 设备型号 #. 设备流程状态 #. chassis号 #. slot号 #. 设备CPU使用率 数据分析和报警 ================== 策略配置 ~~~~~~~~~~~~~~~~~ .. list-table:: :widths: auto :stub-columns: 1 :align: left * - **策略名** - #. 报警策略名字 * - **策略筛选条件** - #. 业务线 #. 区域(地域) #. 机房 #. POD #. 业务属性(服务角色) #. 设备角色 #. 设备IP、IP地址段 * - **策略生效时间** - 支持到小时级别(0-23) * - **触发阈值** - M分钟内使用率>=N%达到S次(M,N,S为整数)。 * - **恢复阈值** - X分钟内使用率