这个脚本用来从一个SNMP OID的get结果中提取部分内容。例如从“5665 ms”提取出数字部分“5665”
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的分组中。
使用示例:
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脚本监视器的详细使用说明请参考: