ManageEngine技术支持

OpManager脚本监视器的使用

以一个shell脚本为例说明脚本监视器的使用。
脚本监视器可以使用任意语言编写可执行的脚本。
脚本输出要求:

Message:这个消息用于告警信息。
Data:
实例1        值1
实例2        值2
...              ...
实例N        值N
实例名和值之间要用Tab(\t)隔开。状态检查脚本可能不包含数据部分。如输出结果中没有Message,默认的消息将用于告警信息。
例如执行脚本输出:

Message:不能连接到设备。
Data:
ap1        4
ap2       5

在OpManager中操作步骤:

1. 添加脚本模板。

管理 -- 监视 -- 脚本模板
添加模板:

进程名称 - 提供监视器的名称和描述。

间隔和单位 - 配置监视间隔和监视参数的单位。

命令行 - 指定要执行的命令。文件名称必须使用 ${FileName} 替换

例如: cscript ${FileName}.vbs

注意: ${FileName} 后面应该指定扩展名。还可用传递参数。

参数列表中可用有
  • ${DeviceName} - 被管设备的机器名;
  • ${UserName} - WMI/CLI用户名;
  • ${Password} - WMI/CLI密码;
  • ${SNMPRead} - SNMP读团体字符串;
  • ${IPAddress} - IP地址。

例如: cscript ${FileName}.vbs ${DeviceName} ${UserName} ${Password}

脚本体 - 输入脚本文件的完整内容。

退出码用于设置脚本监视器的状态。退出码“0”表示运行完成,其他的代码表示停止。所有的数字值可以作为统计数据。实例名和值之间要用Tab(\t)隔开。状态检查脚本可能不包含数据部分。如输出结果中没有Message,默认的消息将用于告警信息。

超时 - 配置脚本执行的超时时间。

执行地点 - 选择要执行脚本的机器。Linux脚本可以在OpManager运行的机器或被监视的机器上执行。

执行目录 - 输入执行脚本目录的完整路径。可以使用 ${TempDir}${UserHomeDir} 变量,分别代表OpManager临时目录和用户的系统主目录。

如下图所示:


脚本体内容:

main ()
{
# To check the argument
[ $1 ] || { echo "Message: Not enough arguments passed"; exit 1; }
PORT=$1
COUNT=`netstat -an|grep -e ":${PORT}\s" | wc -l`

if [ $? -eq 0 ];then
echo "Message: Success"
echo "Data:"
echo -e "Count\t$COUNT"
exit 0
else
echo "Message: Can not execute the command."
exit 1
fi
}
main $*

这个脚本用于获取指定端口的连接数。

点击测试脚本可以选择一个适合该脚本的设备(这里是Linux服务器)。测试结果类似下图:

2. 把脚本关联到设备

测试成功后,可以在脚本模板页面点击“关联”按钮把脚本关联到设备。

或者,
打开一个相应的设备页面,点击监视器图标选择脚本,点击右上角的添加按钮。


关联上面添加的脚本模板。
如果需要,在这里可以修改脚本执行的参数。



3. 监视数据

脚本监视器正确添加并获取数据后,点击该监视器,打开其报表页面: