OpManager监视无线AP客户端数的脚本

OpManager监视无线AP客户端数的脚本

说明:

这个脚本使用SNMP来从无线控制器上获取AP及其状态信息。如果AP不在线,状态值为-1。
支持的厂商:
- 华为(HUAWEI-WLAN-AP.mib)
- H3C(hh3c-dot11-apmt.mib)
-思科(CISCO-LWAPP-AP-MIB)
-锐捷 (RUIJIE-AC-MGMT.mib, ruijieMgmt.ruijieAcMgmtMIB.ruijieAcMgmtApMIBObjects.ruijieAcMgmtApg.ruijieApgCfgTable)

AP列表在脚本首次执行后的apactiveclientcount<主机IP>.properties文件中。
输出AP的数量;和不在线的AP,状态值为-1


在OpManager中的操作步骤:

1. 把附件中的脚本解压缩到OpManager安装目录。例如OpManager\activeAP
2. 打开OpManager Web客户端,管理 -- 监视 -- 脚本模板。添加新模板。如下图所示
   命令是:cmd /c ${FileName}.bat ${IPAddress} ${SNMPRead}
    脚本体内容:



  
@echo off
cd ..\..\activeAP
..\jre\bin\java -cp .;lib/* APActiveClientCount %1 %2 v2c <厂商名> <是否打印全部AP列表> <是否自动清除离线AP>

<厂商名> : 可以是cisco,huawei,h3c, ruijie中的任意值。默认是cisco。可选。
<是否打印全部AP列表>: 可选。默认值是否。可以设置为true。
<是否自动清除下线AP>:可选。默认值是否。可以设置为true。(设置为true后,当轮询2次都不存在的AP会被从AP列表中删除)
例如:
..\jre\bin\java -cp .;lib/* APActiveClientCount %1 %2 v2c               表示监视思科AP列表
..\jre\bin\java -cp .;lib/* APActiveClientCount %1 %2 v2c huawei 表示监视华为AP列表
..\jre\bin\java -cp .;lib/* APActiveClientCount %1 %2 v2c h3c       表示监视H3C AP列表
..\jre\bin\java -cp .;lib/* APActiveClientCount %1 %2 v2c "" true   表示监视思科AP列表并打印所有AP列表。



注意:如果脚本执行时间很长,建议设置超时值为60到120秒



3. 测试脚本,成功运行如下图所示:



4. 设置阈值。 这个脚本获取每个AP的状态。如果上次轮询存在的AP,这次没有出现,则表示其掉线,其数量为-1. 其他状态的值:
 - 对于思科,AP名称后面的值表示AP的活动客户端数。
 - 对于华为,值的意思为:

 idle ( 1 ) , autofind ( 2 ) , typeNotMatch ( 3 ) , fault ( 4 ) , config ( 5 ) , configFailed ( 6 ) , download ( 7 ) , normal ( 8 ) , committing ( 9 ) , commitFailed ( 10 ) , standby ( 11 ) , verMismatch ( 12 ) , nameConflicted ( 13 ) , invalid ( 14 ) , countryCodeMismatch ( 15 )
 - 对于H3C,值的意思为:


The following values are supported:
 join(1) - AP is joining to AC.
 joinConfirm(2) - AC confirm whether permit AP to join.
 download(3) - AP is downloading software from AC.
 config(4) - AP and AC exchange configuration before AP provide WLAN service.
 run(5) - The WLAN service is ready.


设置阈值,如果是-1的时候生成告警。


5. 最后,把这个脚本模板关联到相应设备上。



说明:因为如果把所有AP打印出来,会导致页面加载很慢。所有只打印出现问题的AP名称,值为-1;打印当次轮询恢复正常的AP,值为其轮询状态。
虽然我们强烈不建议您这么干,但是还还提供打印全部AP的选项。方法是在脚本体中添加下面红色部分
..\jre\bin\java -cp .;lib/* APActiveClientCount %1 %2 v2c huawei true


脚本修改历史:
1. 如果之前是-1的ap,当次也有值,则打印出新值。这可以让已经生成的告警恢复正常。
2. 2019/8/28: v19.82801; 在日志中添加版本号。
3. 2019/8/30: v19.83001; 添加新的脚本参数,<是否自动清除下线AP>:可选。默认值是否。可以设置为true。(设置为true后,当轮询2次都不存在的AP会被从AP列表中删除)
    - 如果不设置这个参数,对于确实下线的AP,需要手动从AP保存文件中删除。
   - 如果设置这个参数为true,如果第二次发现一个AP不存在,则认为这个AP下线。生成的告警需要手动清除。

OPM脚本监视器的更多信息请参考:

APM监视无线AP的脚本: