添加监视器 API - 自定义监视器


本节说明如何使用添加监视器 API添加类别类型自定义监视器监视器。支持以下监视器:

Windows性能计数器

语法

http://[Host]:[Port]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[TYPE]&displayname=[DISPLAYNAME]&host=[HOST]&username=[USERNAME]&password=[PASSWORD]&pollinterval=[POLLINTERVAL]

请求参数

API请求中涉及的参数如下所述。另外,请参阅 常见的请求参数列表

字段 描述        
type 您要添加的监视器的类型。值应为 Windows性能计数器
host 运行Windows性能计数器的主机的名称。
username 运行Windows性能计数器的主机的用户名。
password 运行Windows性能计数器的主机的密码。
pollinterval 希望轮询发生的时间间隔。

示例请求

http://app-xp4:9090/AppManager/xml/AddMonitor?apikey=ee8d8e237bd5e1a0d8aed16a381c3b73&type=Windows Performance Counters&host=app-xpmll&displayname=hhhh&username=asasaa&password=admin123

数据库查询监视器

语法

http://[Host]:[Port]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[TYPE]&displayname=[DISPLAYNAME]&host=[HOST]&port=[PORT]&username=[USERNAME]&password=[PASSWORD]&databasetype=[DATABASETYPE]&databasename=[DATABASENAME]&SSLEnabled=[SSL ENABLED]&showqueryoutput=[SHOWQUERYOUTPUT]&queries=[QUERIES]

请求参数

API请求中涉及的参数如下所述。另外,请参阅 常见的请求参数列表

字段 描述
type 要添加的监视器的类型。值应为QueryMonitor
host 运行数据库服务器的主机的名称。
port 数据库正在运行的端口号
username 数据库服务器的用户名。
password 数据库服务器的密码。
databasetype 执行查询的数据库类型。
databasename 数据库服务器的名称。
SSLEnabled 启用S​​SL的选项。可能的值为truefalse
showqueryoutput 用于指定您是否更喜欢查询输出的选项。值yesno
queries 表示数据库查询。最多可以有五个查询。

示例请求

http://prod-server8:9090/AppManager/xml/AddMonitor?apikey=bbab7f01458e96595b06d5c27efcc3af&type=QueryMonitor&displayname=qury&host=app-xp2&port=1433&username=sa&password=Advent1&databasetype=MsSQL&databasename=AMDB&SSLEnabled=true&showqueryoutput=yes&queries=select * from user

文件/目录监视器

语法

http://[Host]:[Port]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[TYPE]&displayname=[DISPLAYNAME]&filepath=[FILEPATH]&serversite=[SERVERSITE]&pollinterval=[POLLINTERVAL]&timeout=[TIMEOUT]&fileDirAge=[FILEDIRAGE]&clearAlerts=[CLEARALERTS]&contentChk=[CONTENTCHK]

请求参数

API请求中涉及的参数如下所述。另外,请参阅常见的请求参数列表

字段 描述        
type 要添加的监视器的类型。值应为文件/目录监视器
serversite 指定要监控的文件/目录位于本地还是远程服务器上。(本地或 远程
filepath 要监控的文件的绝对路径。
fileDirAge 用于执行文件/目录时间检查的选项。(on或 off
selectMonStatus 如果文件/目录在一定时间内已修改或未修改,则要设置监视器的可用性。(运行正常或停机)
selectChangeType 应为其配置配置的监视器可用性的文件/目录更改类型。可能的值为:
  • 0-未修改文件/目录时
  • 1-修改文件/目录时
timeVal 应该检查文件/目录使用期限的时间。
timeUnit 应检查文件/使用期限的时间单位。
checkAvailability 文件不在指定位置(on或 off)时发出告警。默认值为 on
choosehost 如果要监控的文件/目录位于远程服务器中,则可以通过提供主机ID(如果已添加主机)来选择主机,或者使用值 -1添加新主机。
host 运行文件监视器的主机的名称。
monitoringmode 指定监控方式( Windows为WMI  ,Linux为 Telnet / SSH
username 与主机连接的用户名。
password 新主机用户名的密码。
prompt 命令提示符以 Telnet / SSH 模式连接。指定命令提示符值,该值是命令提示符中的最后一个字符
port 运行文件/目录监视器的端口号。默认值为 23
contentChk 指定是否需要配置内容检查。(on或 off
fileCheckType  文件分析选项 来进行内容检查。可能的值为:
  • 0- 仅对附加的内容执行内容检查。
  • 1- 对整个文件执行内容检查。
ccontent 您要检查内容匹配的字符串。内容应以JSON数组格式指定为:

[{"severityCriteria":contentMatchSeverity, "contents": actualContent, "isRegex":regexCheck, "ruleType":ruleNum, "caseSensitive":caseSensitiveCheck, ,"matchWholeWord":matchWholeWord}]


参数 描述
contentMatchSeverity 发生内容匹配时要设置的严重级别。可能的值为:
  • 0-可用性下降
  • 1-可用性增加
  • 2-健康状况处于危急
  • 3-健康状况处于警告
  • 4-健康状况处于正常
actualContent 需要匹配的实际内容
regexCheck 指定是否应执行正则表达式匹配。(truefalse
ruleNum 要匹配的内容数。
caseSensitiveCheck 指定是否应该执行精确的内容匹配。(truefalse
matchWholeWord 指定是否应该对整个单词执行内容匹配。(truefalse
clearAlerts 指定当不修改文件时是否应正常监视器状态。(onoff
selectRuleType 如果任何/所有内容/正则表达式匹配,则可以将监视器状态设置为UP / DOWN。可能的值为:
  • 任何-当任何内容/正则表达式匹配设置监控状态。
  • 所有-当所有的内容/正则表达式匹配设置监控状态。

示例请求

对于本地文件

http://prod-server8:9090/AppManager/xml/AddMonitor?apikey=cb4078d8e8ef6859139d3727e6e6991e&type=File%20Monitor&displayname=test12345&filepath=D:\test.txt&serversite=local&pollinterval=5&timeout=60&fileCheckType=1&selectRuleType=all

对于远程文件

http://prod-server8:9090/AppManager/xml/AddMonitor?apikey=1bbab7f01458e96595bb3eff62f0&type=File Monitor&displayname=test7&filepath=F:\LATEST\AppManager\logs\stdout.txt&serversite=remote&pollinterval=5&timeout=60&
choosehost=-1&monitoringmode=WMI&host=app-support-w7&username=administrator&password=Apmsupport1

对于启用了内容检查的本地文件

http://prod-server8:9090/AppManager/AppManager/xml/AddMonitor?apikey=45d321201d8393b02a643a69f31197cf&type=File%20Monitor&displayname=test12345&filepath=D:\test.txt&serversite=local&pollinterval=5&timeout=60&contentChk=on&fileCheckType=1&ccontent=[{"severityCriteria":"1", "contents": ["error", "exception"], "isRegex":"false", "ruleType":"1", "caseSensitive":true,"matchWholeWord":true}]&fileCheckType=whole&selectStatusType=down&selectRuleType=all

对于启用了内容检查的远程文件

http://prod-server8:9090/AppManager/xml/AddMonitor?apikey=6a3803a905cbbab7f01458e96595b856&type=File Monitor&displayname=test12&filepath=C:\Test\Grep.txt&serversite=remote&pollinterval=5&timeout=60&contentChk=on&
ccontent=Exception&fileCheckType=whole&selectStatusType=down&selectRuleType=all&choosehost=-1&monitoringmode=WMI&host=app-xp2&username=asasaa&password=001

同时启用文件/目录存活时间检查和内容检查

http://prod-server8:9090/AppManager//AppManager/xml/AddMonitor?apikey=1561056503f5164180f042db3eff62f0&type=File Monitor&displayname=test6&filepath=F:\LATEST\AppManager\logs\stdout.txt&serversite=local&pollinterval=5&timeout=60&
fileDirAge=yes&selectMonStatus=down&selectChangeType=notmodified&timeval=50&timeUnit=Minutes&contentChk=on&
ccontent=test&fileCheckType=whole&selectStatusType=down&selectRuleType=any&countval=3

脚本监视器

语法

http://[Host]:[Port]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[Script Monitor]&displayname=[DISPLAYNAME]&serverpath=[SERVERPATH]&workingdirectory=[FILEPATH]&serversite=[LOCAL/REMOTE]&pollinterval=[POLLINTERVAL]&timeout=[TIMEOUT]

请求参数

API请求中涉及的必需参数如下所述。另外,请参阅常见的请求参数列表.

强制参数 描述        
type Script Monitor 您要添加的监视器的类型。值应为 脚本监视器
displayname   监视器的显示名称
serverpath   服务器中脚本文件的路径,将被监控 
workingdirectory   将在其中执行脚本的目录
serversite local/remote 指定要监控的脚本是在本地服务器还是远程服务器上。
pollinterval   设置 轮询间隔。默认是5分钟
timeout   以秒为单位指定 超时值。该值可以是脚本执行所需的最长时间。
isCommand   要将脚本位置选择为命令,请在API调用中使用关键字isCommand = true。

如果选择了远程服务器选项,则参数为:

字段 描述        
host   运行脚本监视器的主机的名称或IP地址。
monitoringmode TELNET/SSH/POWERSHELL 指定监控方式。( 适用于Linux的Telnet / SSH和适用于Windows的Powershell
choosehost -1/hostid 对于新主机,请使用-1,否则请使用查询' select * from AM_SCRIPTHOSTDETAILS'中的id值
port 23/22 端口号。
username   添加新主机的用户名。
password   添加新主机的密码。
sshkey on/off 用于SSH身份验证的SSH密钥。公钥身份验证(仅支持SSH2)。默认值:off
passphrase   SSH的基于密钥的身份验证的密码。
prompt   命令提示符以 Telnet / SSH 模式连接。指定命令提示符值,该值是命令提示符中的最后一个字符。默认值为$
mode sh 进入模式。默认值为' sh'
描述   私钥

如果启用了输出设置,则参数为:

字段 描述        
opfile true/false 指定是否要从文件获取输出。
outputfile   指定输出文件的路径
string_att   输入字符串属性
numeric_att   输入数值属性
delimiter   输入 在输出文件中使用的定界符的值 。默认情况下,它是=。如果您未指定分隔符,则将'space'视为分隔符。

如果启用了输出文件中的表,则参数为:

字段 描述        
tablepresent on/off 输出设置。默认值:off
table_row   表中的行数 
table<index>   表名
numericatt<index>   数值属性
stringatt<index>   字符串属性
pcatt<index>   唯一栏
cdl<index>   列定界符
message   参数
pollinterval   轮询间隔
timeout   超时
manageTableRow retain/delete/unmanage 管理表格行的选项。(保留删除取消管理
healthTableRow critical/warning/clear 用于管理表数据的选项。(严重警告正常

示例请求

对于本地服务器:

http://prod-server8:9090/AppManager/xml/AddMonitor?apikey=1561056503f5164180f2db3eff62f0&type=Script Monitor&displayname=test1&serverpath=F:\AppManager\bin\CkServerConnection.bat&workingdirectory=
F:\Managed\AppManager\bin\&serversite=local&pollinterval=5&timeout=30

对于远程服务器:

http://prod-server8:9090/AppManager/xml/AddMonitor?apikey=151056503f5164180f2db3b3eff62f0&type=Script Monitor&displayname=test2&serverpath=/home/likewise-open/ZOHOCORP/prodserver-9091/test.sh&workingdirectory=/home/ZOHOCORP/prodserver-9091&serversite=remote&pollinterval=5&timeout=60&choosehost=-1&monitoringmode=SSH&host=prodserver-9091&username=prodserver-9091&password=Zoho123&prompt=$&port=22

对于命令类型脚本:

http://prod-server8:9090/AppManager/xml/AddMonitor?apikey=a0c6b6d593637f737f34dab03132faca&type=Script Monitor&displayname=testAPI222&serverpath= echo helo&workingdirectory=/home/test&serversite=remote&pollinterval=5&timeout=60&choosehost=5&isCommand=true

启用输出设置(给新行添加%0A):

http://prod-server8:9090/AppManager/xml/AddMonitor?apikey=1561003f5164180f280f042db3eff62f0&type=Script Monitor&displayname=test3&serverpath=F:\AppManager\bin\ChkServerConnection.bat&workingdirectory=
F:\AppManager\bin\&serversite=local&pollinterval=5&timeout=60&opfile=true&outputfile=F:\AppManager\bin\result.txt&
string_att=Name1,Name2&numeric_att=Age1,Age2&delimiter==

启用输出文件中的表:

http://prod-server8:9090/AppManager/xml/AddMonitor?apikey=1561056503f5164180f042db3eff62f0&type=Script Monitor&displayname=test3&serverpath=F:\AppManager\bin\ChkServerConnection.bat&workingdirectory=F:\AppManager\bin\
&serversite=local&pollinterval=5&timeout=60&opfile=true&outputfile=F:\AppManager\bin\result.txt&
string_att=Name1,Name2&numeric_att=Age1,Age2&delimiter==&tablespresent=on&table_row=1&
table1=Test1&numericatt1=Num1&stringatt1=Str1&pcatt1=Num1&cdl1=|&manageTableRow=delete&healthTableRow=critical