• 沒有找到結果。

4.1 监控

4.1.6 添加或修改服务发现规则

功能介绍

该接口用于添加或修改一条或多条服务发现规则。同一projectid下可添加的规则上限 为100条。

调试

您可以在API Explorer中调试该接口。

URI

PUT /v1/{project_id}/inv/servicediscoveryrules

4-53 路径参数

参数 是否必选 参数类型 描述

project_id 是 String 租户从IAM申请到的projectid,一 般为32位字符串。

请求参数

4-54 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 从IAM服务获取的用户Token。

Content-Type 是 String 指定类型为application/json。

4-55 请求 Body 参数

参数 是否必选 参数类型 描述

appRules 否 Array of AppRules objects

服务参数。

4-56 AppRules

参数 是否必选 参数类型 描述

createTime 否 String 规则创建时间(创建时不传,修改 时传查询返回的createTime)。

缺省值:1599098476654

参数 是否必选 参数类型 描述

enable 是 Boolean true、false 规则是否启用。

eventName 是 String aom_inventory_rules_event 规 则事件名称,对于服务发现固定 为"aom_inventory_rules_event"

。 hostid 否 Array of

strings 主机ID(暂不使用,传空即可)。

id 是 String 创建时填空,修改时填规则ID。

name 是 String 规则名称。 字符长度小于64位,

以小写字母(a-z)开头,只能包含 0-9/a-z/-,不能以-结尾。

projectid 是 String 租户从IAM申请到的projectid,一 般为32位字符串。

spec 是 AppRulesSpe

c object 规则详情。

4-57 AppRulesSpec

参数 是否必选 参数类型 描述

appType 是 String 服务类型,用于标记服务的分类,

仅用于规则分类和界面展示。可 以填写任意字段,如按技术栈分 类可填写Java,Python。按作用 分类可填写collector(采 集),database(数据库)等。

attrList 否 Array of

strings 属性列表(暂不使用,可不传)。

cmdLine、env

detectLog 是 String 是否开启日志采集。 true、

false

参数 是否必选 参数类型 描述 discoveryRule 是 Array of

DiscoveryRul e objects

规则发现部分,数组中有多个对

isDefaultRule 是 String 是否为默认规则。 true、false

isDetect 是 String 是否为规则预探测场景(预探测

场景不会保存规则,仅用于规则 下发之前验证该规则能否有效发 现节点上的进程)。 true、false logFileFix 是 Array of

strings 日志文件的后缀。 log、trace、

out logPathRule 否 Array of

LogPathRule

nameRule 是 NameRule

object 发现上来的服务、应用的命名规 则。

priority 是 String 规则优先级。 1~9999的整数字 符串,默认取值为9999

4-58 DiscoveryRule

参数 是否必选 参数类型 描述

checkContent 是 Array of

strings 匹配值。

checkMode 是 String 匹配条件。 contain、equals checkType 是 String 匹配类型。 cmdLine、env、

scope

4-59 LogPathRule

参数 是否必选 参数类型 描述

args 是 Array of

strings 命令行。

nameType 是 String 取值类型。 cmdLineHash

value 是 Array of

strings 日志路径。

4-60 NameRule

参数 是否必选 参数类型 描述

appNameRule 是 Array of AppNameRul e objects

服务命名部分,数组中有多个对 象时表示将每个对象抽取到的字 符串拼接作为服务的名称。

nameType取值cmdLine时args 格式为["start","end"],表示抽取 命令行中start、end之间的字 符。 nameType取值cmdLine时 args格式为["aa"],表示抽取环境 变量名为aa对应的环境变量 值。 nameType取值str时,args 格式为["fix"],表示服务名称最后 拼接固定文字fix。 nameType取 值cmdLineHash时,args格式为 ["0001"],value格式为["ser"],表 示当启动命令是0001时,服务名 称为ser。

参数 是否必选 参数类型 描述 applicationNa

meRule 是 Array of ApplicationN ameRule objects

应用命名部分。 nameType取值 cmdLine时args格式为

["start","end"],表示抽取命令行 中start、end之间的字符。

nameType取值cmdLine时args 格式为 ["aa"],表示抽取环境变 量名为aa对应的环境变量值。

nameType取值str时,args格式为 ["fix"],表示服务名称最后拼接固 定文字fix。 nameType取值 cmdLineHash时,args格式为 ["0001"],value格式为["ser"],表 示当启动命令是0001时,应用名 称为ser。

4-61 AppNameRule

参数 是否必选 参数类型 描述

nameType 是 String 取值类型。 从cmdLineHash、

cmdLine、env、str里面选取。

args 是 Array of

strings 输入值。

value 否 Array of

strings 服务名(仅nameType为 cmdLineHash时填写)。

4-62 ApplicationNameRule

参数 是否必选 参数类型 描述

nameType 是 String 取值类型。 从cmdLineHash、

cmdLine、env、str里面选取。

args 是 Array of

strings 输入值。

value 否 Array of

strings 服务名(仅nameType为 cmdLineHash时填写)。

响应参数

状态码: 200

4-63 响应 Body 参数

参数 参数类型 描述

errorCode String 响应码。

errorMessage String 响应信息描述。

请求示例

响应示例

状态码: 200 OK 请求响应成功。

{ "errorCode" : "SVCSTG.INV.2000000", "errorMessage" : ""

}

状态码

状态码 描述

200 OK 请求响应成功。

400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。

401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出 客户端所提供的认证信息不正确或非法。

403 Forbidden 请求被拒绝访问。返回该状态码,表明请求能够到达服务端, 且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置 为拒绝访问,建议直接修改该请求,不要重试该请求。

500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的 请求。

503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重 试该请求。

错误码

请参见错误码。