On this page
/api/tree/rule
树中的每个规则都是存储中的单个对象,因此/api/tree/rule
端点允许轻松修改集合中的单个规则。规则由其tree
ID,level
和order
寻址,并且所有请求都需要这三个参数。
Note
如果手动树同步在某个地方运行,或者正在创建或编辑大量 TSMeta 对象,则可能会缓存树规则,并且对树规则集的修改可能需要花费一些时间才能传播。如果您对规则集进行了任何修改,而不是对诸如description
和notes
之类的元信息进行了修改,则可能需要刷新树数据并执行手动同步,以使分支和叶子都能反映出新规则。
Verbs
GET-检索一个或多个规则
POST-创建或修改规则
PUT-创建或替换规则
删除-删除规则
Requests
以下字段可用于所有规则端点请求:
Name | Data Type | Required | Description | Default | QS | RW | Example |
---|---|---|---|---|---|---|---|
treeId | Integer | Required | 请求的规则所属的树 | treeid | RO | 1 | |
level | Integer | Required | 规则所在层次结构中的级别。必须为 0 或更大。 | 0 | level | RW | 2 |
order | Integer | Required | 规则所在级别中的 Sequences。必须为 0 或更大。 | 0 | order | RW | 1 |
description | String | Optional | 规则目的的简要说明 | description | RW | 用点分隔 Metrics | |
notes | String | Optional | 有关规则的详细说明 | notes | RW | ||
type | String | Required* | 表示的规则类型。参见Trees。 *在创建新规则时是必需的。 | type | RW | METRIC | |
field | String | Optional | 规则所依据的栏位名称 | field | RW | host | |
customField | String | Optional | 用于操作规则的TSMeta 自定义字段的名称。请注意,还必须配置field 值,否则将引发异常。 |
custom_field | RW | owner | |
regex | String | Optional | 正则表达式模式,用于处理关联的字段或自定义字段的值。 | regex | RW | ^.*\.([a-zA-Z]{3,4})[0-9]{0,1}\..*\..*$ | |
separator | String | Optional | 如果应将字段值分为多个分支,请提供分隔符。 | separator | RW | \. | |
regexGroupIdx | Integer | Optional | 组索引,用于从给定的正则表达式模式中提取模式的一部分。必须为 0 或更大。 | 0 | regex_group_idx | RW | 1 |
displayFormat | String | Optional | 显示格式字符串,用于更改所得分支或叶子的display_name 值。见Trees |
display_format | RW | Port: {ovalue} |
Note
提供separator
或regex
值时,必须提供有效的正则表达式。对于分隔符,最常见的用途是将点状度量拆分为分支。例如。您可能希望将“ sys.cpu.0.user”拆分为“ sys”,“ cpu”,“ 0”和“ user”分支。您不能仅提供“。”分隔符值,因为该值将不正确匹配。而是通过“。”转义句点。请注意,如果要通过 POST 请求提供 JSON,则还必须转义反斜杠并提供“ \。”。 GET 请求响应将转义所有反斜杠。
Response
对GET
,POST
或PUT
请求的成功响应将返回完整规则对象以及可选的请求更改。成功的DELETE
呼叫将返回204
状态代码且没有正文。修改数据时,如果不存在任何更改,即调用未提供要存储的任何数据,则响应将为304
而没有任何正文内容。如果请求的树或规则在系统中不存在,将返回404
并显示错误消息。如果提供了无效数据,将返回400
错误。
GET
GET
请求需要特定的树 ID,规则级别和 Sequences。否则将返回400
。要获取树的所有规则,请使用/api/tree
端点和`` treeId'值。
GET 查询示例
http://localhost:4242/api/tree/rule?treeId=1&level=0&order=0
Example Response
{
"type": "METRIC",
"field": "",
"regex": "",
"separator": "\\.",
"description": "Split the metric on periods",
"notes": "",
"level": 1,
"order": 0,
"treeId": 1,
"customField": "",
"regexGroupIdx": 0,
"displayFormat": ""
}
POST/PUT
使用POST
或PUT
方法,您可以创建新规则或编辑现有规则。新规则要求type
值。现有树需要有效的treeId
ID 以及任何需要修改的字段。成功的请求将返回修改后的规则对象。请注意,如果规则以给定的级别和 Sequences 存在,则所有更改都将与现有规则合并或覆盖。
查询字符串请求示例
http://localhost:4242/api/tree/rule?treeId=1&level=0&order=0&type=METRIC&separator=\.&method_override=post
内容请求示例
{
"type": "METRIC",
"separator": "\\.",
"description": "Split the metric on periods",
"level": 1,
"order": 0,
"treeId": 1
}
Example Response
{
"type": "METRIC",
"field": "",
"regex": "",
"separator": "\\.",
"description": "Split the metric on periods",
"notes": "",
"level": 1,
"order": 0,
"treeId": 1,
"customField": "",
"regexGroupIdx": 0,
"displayFormat": ""
}
DELETE
使用DELETE
方法将从树中删除规则。成功删除将返回204
状态代码且没有内容正文。如果规则不存在,将返回404
错误。
Warning
此方法无法撤消。
删除请求示例
http://localhost:4242/api/tree/rule?treeId=1&level=0&order=0&method_override=delete