5.2 监控(即将下线)
5.2.1 添加或修改应用发现规则(即将下线)
功能介绍
该接口用于添加或修改一条或多条应用发现规则。同一projectid下可添加的规则上限 为100条。
URI
PUT /v1/{project_id}/inv/servicediscoveryrules
请求消息
请求参数
请求参数如表5-47所示。
表5-47 请求参数
参数 是否必选 参数类型 取值范围 描述
appRules 否 Array - 详见表5-48。
表5-48 appRules 参数
参数 是否必选 参数类型 取值范围 描述
projectid 是 String - 租户从IAM申
请到的projectid,一 般为32位字符 串。
id 是 String - 创建时填空,
修改时填规则 ID。
name 是 String 字符长度小于
64位,以小写 字母(a-z)开 头,只能包含 0-9/a-z/-,不 能以-结尾。
规则名称。
参数 是否必选 参数类型 取值范围 描述
createTime 否 String - 创建时间(创
建时不传,修 改时传查询返 回的createTime)
enable 是 Boolean true、false 规则是否启 用。
hostid 否 Array - 主机ID(暂不
使用,传空即 可)。
eventName 是 String aom_inventor
y_rules_event 规则事件名 称,对于应用 发现固定为
"aom_invento ry_rules_event
"
spec 是 Object - 规则详情。详
见表5-49。
表5-49 spec 参数
参数 是否必选 参数类型 取值范围 描述
detectLog 是 String true、false 是否开启日志 采集。
logFileFix 是 Array log、trace、
out 日志文件的后
缀。
参数 是否必选 参数类型 取值范围 描述 discoveryRule 是 Array ● checkType
为cmdLine 时checkMode 填contain,
checkCont
● checkType 为env时 checkMode 填contain,
checkCont
● checkType 为scope时
attrList 否 Array cmdLine、env 属性列表(暂 不使用,可不 传)。
参数 是否必选 参数类型 取值范围 描述
isDetect 是 String true、false 是否为规则预 探测场景(预 探测场景不会 保存规则,仅 用于规则下发 之前对规则正 确性的检 测)。
isDefaultRule 是 String true、false 是否为默认规 则。
priority 是 Integer 1~9999的整 数,默认取值 为9999
规则优先级。
nameRule 是 Object - 应用发现规则
命名部分。详 见表5-51。
appType 是 String - 应用类型,用
于标记应用的 分类,仅用于 规则分类和界 面展示。可以 填写任意字 段,如按技术 栈分类可填写 Java,
Python。按作 用分类可填写 collector(采 集),database(数 据库)等。
参数 是否必选 参数类型 取值范围 描述 logPathRule 否 Array ● 当
cmdLineHa sh为固定字 符串时,指 定日志路径 或者日志文 件。否则只 采集进程当 前打开的以.log 和.trace结 尾的文件。
● nameType 取值cmdLineHa sh时,args 格式为["00001"]
,value格 式为["/xxx/
xx.log"],
表示当启动 命令是00001时,
日志路径为/xxx/
xx.log。
日志路径配置 规则。详见表 5-54。
表5-50 discoveryRule 参数
参数 是否必选 参数类型 取值范围 描述
checkType 是 String cmdLine、
env、scope 匹配类型。
checkMode 是 String contain、
equals 匹配条件。
checkContent 是 Array - 匹配值。
表5-51 nameRule 参数
参数 是否必选 参数类型 取值范围 描述
appNameRule 是 Array ● nameType 取值cmdLine时 args格式为
● nameType 取值cmdLine时 args格式为
● nameType 取值str时,
● nameType 取值cmdLineHa sh时,args 格式为["0001"],
value格式
参数 是否必选 参数类型 取值范围 描述 applicationNa
meRule 是 Array ● nameType
取值cmdLine时 args格式为
● nameType 取值cmdLine时 args格式为
● nameType 取值str时,
● nameType 取值cmdLineHa sh时,args 格式为["0001"],
value格式
表5-52 appNameRule 参数
参数 是否必选 参数类型 取值范围 描述
nameType 是 String cmdLineHash
、cmdLine、
env、str
取值类型。
参数 是否必选 参数类型 取值范围 描述
args 是 Array - 输入值。
value 否 Array - 应用名(仅
nameType为 cmdLineHash 时填写)。
表5-53 applicationNameRule 参数
参数 是否必选 参数类型 取值范围 描述
nameType 是 String cmdLineHash
、cmdLine、
env、str
取值类型。
args 是 Array - 输入值。
value 否 Array - 应用名(仅
nameType为 cmdLineHash 时填写)。
表5-54 logPathRule 参数
参数 是否必选 参数类型 取值范围 描述
nameType 是 String cmdLineHash 取值类型。
args 是 Array - 命令行。
value 是 Array - 日志路径。
Header说明
请求消息头(Header)如表5-55所示。
表5-55 Header 说明
名称 是否必选 说明
X-Auth-Token 是 从IAM服务获取的用户
Token。
Content-Type 是 指定类型为application/
json。
请求示例
{ "appRules": [ {
"id": "",
"name": "bytest", "createTime": "",
"projectid": "5a6036f48e954fcd84d198cb28db311a", "enable": true,
"hostid": [],
"eventName": "aom_inventory_rules_event", "spec": {
"agrs":["00000000001"],
"value":["/xx/xxx/xx.log","/xx/xxx/xx"]
} ] } } ] }
响应消息
响应参数
响应参数如表5-56所示。
表5-56 响应参数
参数名称 类型 描述
errorCode String 响应码。
errorMessage String 响应信息描述。
响应示例
{ "errorCode":"SVCSTG.INV.2000000", "errorMessage":""
}
状态码
● 正常
状态码如表5-57所示。
表5-57 状态码
状态码 编码 描述
200 OK 请求响应成功。
● 异常
状态码如表5-58所示。更多状态码请见状态码。
表5-58 状态码
状态码 编码 描述
400 BadRequ
est 非法请求。
建议直接修改该请求,不要重试该请求。
401 Unautho
rized 在客户端提供认证信息后,返回该状态码,表明服务端 指出客户端所提供的认证信息不正确或非法。
状态码 编码 描述 403 Forbidde
n 请求被拒绝访问。
返回该状态码,表明请求能够到达服务端,且服务端能 够理解用户请求,但是拒绝做更多的事情,因为该请求 被设置为拒绝访问,建议直接修改该请求,不要重试该 请求。
500 InternalS erverErro r
表明服务端能被请求访问到,但是不能理解用户的请 求。
503 ServiceU navailabl e
被请求的服务无效。
建议直接修改该请求,不要重试该请求。
错误码
表5-59 错误码
错误码 错误信息 处理措施
SVCSTG.INV.4030000 Forbidden 请更换有权限的帐号。
SVCSTG.INV.4000115 Invalid request
parameter. 请检查参数。
SVCSTG.INV.5000002 The Elasticsearch
execution is abnormal. 请联系管理员解决。
SVCSTG.INV.5000003 The call ICMGR is
abnormal. 请联系管理员解决。
SVCSTG.INV.5000001 The Elasticsearch session
is null. 请联系管理员解决。
SVCSTG.INV.5000006 The apprule name
already exists. 请修改规则名称。
SVCSTG.INV.5000007 The maximum number of rules has been reached.
请删除不需要的规则后重 新添加规则。