OpManager从SNMP结果中提取内容的脚本

OpManager从SNMP结果中提取内容的脚本

这个脚本用来从一个SNMP OID的get结果中提取部分内容。例如从“5665 ms”提取出数字部分“5665”
  1. java SNMPAttributeMonitor <host name or ip> <community> <v1 or v2c> <monitor name> <oid> <regular expression>
参数说明:
    - <host name or ip> 目标主机的名称或者IP地址。可以使用OpManager的内置变量${IPAddress}
    - <community> 目标机器的SNMP读团体字符串。可以使用OpManager的内置变量${SNMPRead}
    - <v1 or v2c> 目标机器的SNMP版本。可以是v1或者v2c
    - <monitor name> 脚本监视器的实例名称。
    - <oid> 要获取值的SNMP OID
    - <regular expression> 提取需要内容的正则表达式。要提取的内容要放到名称为val的分组中。
分组名称必须为val

使用示例:
1. 把附件解压缩到OpManager的安装目录。路径应该为<...>\OpManager\SNMPAttributeMonitor\SNMPAttributeMonitor.class
2. 添加监视器,如下图:
   其中命令行完整内容为:cmd /c ${FileName}.bat ${IPAddress}   ${SNMPRead} v2c MonitorName .1.3.6.1.2.1.1.3.0 "^(?<val>\d+)\D"
   脚本体参考附件中的bat文件。
   
   这个例子用来获取.1.3.6.1.2.1.1.3.0的值,并提取结果中的开始几个数字。可以根据自己的需求来编写正则表达式。注意: 分组名称必须为val
    例如.1.3.6.1.2.1.1.3.0的原始返回结果为:
   
  成功运行该脚本的结果为:
  
3. 关联到设备。

关于OpManager脚本监视器的详细使用说明请参考: