应用监控
应用信息管理接口
应用创建接口
请求结构体
Method:POST
Url:/csm/api/v1/userId/{userId}/application
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户ID | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| name | String | 应用名 | 是 | 
| alias | String | 应用别名 | 否 | 
| type | String | 类型 | 是 | 
| description | String | 描述 | 否 | 
请求示例
POST /csm/api/v1/userId/user1/application
Host: bcm.bj.baidubce.com:80
1{
2    "type": "BCC",
3    "name": "test12",
4    "alias": "testAlias",
5    "description": "fafda",
6    "userId":"123456"
7}
            请求响应
1{
2    "id": 1,
3    "name": "test",
4    "alias": "testAlias",
5    "type": "BCC",
6    "userId": "user1",
7    "description": "test"
8}
            应用列表接口
请求结构体
Method:GET
URI: /csm/api/v1/userId/{userId}/application
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户Id | 是 | 
Query参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| searchName | String | 应用名或者别名,用于搜索 | 否 | 
| pageNo | Int | 页码,默认1 | 是 | 
| pageSize | Int | 每页大小,默认10 | 是 | 
请求示例
GET /csm/api/v1/userId/user1/application?searchName=te&pageNo=0&pageSize=10
Host: bcm.bj.baidubce.com:80
响应示例
1{
2    "content":[
3        {
4            "id":1,
5            "name":"test",
6            "alias":"testAlias",
7            "type":"BCC",
8            "userId":"user1",
9            "description":"test"
10        }
11    ],
12    "totalElements":1,
13    "totalPages":1,
14    "size":10
15}
            应用编辑接口
请求结构体
Method:PUT
URI: /csm/api/v1/userId/{userId}/application
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| id | Int | 应用id | 是 | 
| name | String | 应用名 | 是 | 
| alias | String | 应用别名 | 否 | 
| type | String | 应用类型 | 是 | 
| userId | String | 用户id | 是 | 
| description | String | 应用说明 | 否 | 
接口描述
只允许修改alias和description,其他字段不允许修改
请求示例
1PUT /csm/api/v1/userId/user1/application
2Host: bcm.bj.baidubce.com:80
3{
4        "id": 1,
5        "name": "test",
6        "alias": "testAlias3",
7        "type": "BCC",
8        "userId": "user1",
9        "description": "test"
10}
            返回示例
1{
2    "id": 1,
3    "name": "test",
4    "alias": "testAlias3",
5    "type": "BCC",
6    "userId": "user1",
7    "description": "test"
8}
            应用删除接口
请求结构体
Method:DELETE
URI: /csm/api/v1/userId/{userId}/application
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| name | String | 应用名 | 是 | 
请求示例
1DELETE /csm/api/v1/userId/user1/application
2Host: bcm.bj.baidubce.com:80
3{
4    "name": "test"
5}
            返回示例
1HTTP 200
            应用实例管理接口
创建实例时实例列表接口
请求结构体
Method:POST
URI: /csm/api/v1/userId/{userId}/application/instance/all
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| region | String | 地域 | 是 | 
| appName | String | 应用名 | 是 | 
| searchName | String | 搜索key,目前支持主机名,主机ID,内网IP搜索,取值分别为:"name","instanceId","internalIp" | 是 | 
| searchValue | String | 搜索内容 | 否 | 
| pageSize | Int | 每页大小 | 是 | 
| pageNo | Int | 页码 | 是 | 
请求示例
1POST /csm/api/v1/userId/user1/instances/all
2Host: bcm.bj.baidubce.com:80
3{
4    "pageSize": 50,
5    "pageNo": 1,
6    "searchName": "name",
7    "searchValue": "instance-0eseehvy",
8    "region": "bj",
9    "appName": "test"
10}
            返回示例
1{
2    "content":[
3        {
4            "id":"387838",
5            "instanceId":"i-DvbyV9Lw",
6            "instanceUuid":"63deee8a-5ddb-4944-80fa-faa144825a65",
7            "name":"instance-0eseehvy",
8            "internalIp":"192.168.16.227",
9            "floatingIp":"100.88.66.222",
10            "publicIp":null,
11            "hasBinded":false
12        },
13        {
14            "id":"1258",
15            "instanceId":"i-aztzAEUk",
16            "instanceUuid":"50fb04a1-7adf-4769-b957-bf40b40d6b02",
17            "name":"instance-3k4ol2fr",
18            "internalIp":"192.168.16.39",
19            "floatingIp":"100.88.66.130",
20            "publicIp":null,
21            "hasBinded":false
22        },
23        {
24            "id":"385510",
25            "instanceId":"i-s6r0Y8xM",
26            "instanceUuid":"125b9e28-ecc4-4ec7-b584-6d65c743c153",
27            "name":"instance-u3ahll4c-1",
28            "internalIp":"192.168.16.225",
29            "floatingIp":"100.88.67.8",
30            "publicIp":null,
31            "hasBinded":false
32        },
33        {
34            "id":"385511",
35            "instanceId":"i-iTPduQhx",
36            "instanceUuid":"e1f0d8bb-845d-44ab-bc7c-08a8efccb8a0",
37            "name":"instance-u3ahll4c-2",
38            "internalIp":"192.168.16.226",
39            "floatingIp":"100.88.67.80",
40            "publicIp":null,
41            "hasBinded":false
42        }
43    ],
44    "query":null,
45    "fields":[
46 
47    ],
48    "orderBy":[
49 
50    ],
51    "pageNumber":1,
52    "pageSize":50,
53    "pageElements":4,
54    "last":true,
55    "first":true,
56    "totalPages":1,
57    "totalElements":4
58}
            创建实例接口
请求结构体
Method:POST
URI: /csm/api/v1/userId/{userId}/application/instance/bind
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| appName | String | 应用名 | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| hostList | List | 
实例集合,其中InstanceInfo | 是 | 
InstanceInfo
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| instanceId | String | 实例长id | 是 | 
| region | String | 地域 | 是 | 
请求示例
1POST /csm/api/v1/userId/123456/application/test14/instance/bind
2Host: bcm.bj.baidubce.com:80
3{
4    "appName": "test",
5    "userId": "453bf9588c9e488f9ba2c9841290****",
6    "hostList": [
7        {
8            "instanceId": "2096290b-5984-4c67-8ccc-864ca5f5****",
9            "region": "bj"
10        },
11        {
12            "instanceId": "7d4e09af-d01b-4492-88e9-c27d9096****",
13            "region": "bj"
14        }
15    ]
16}
            请求示例
1true
            已创建的实例列表接口
请求结构体
Method:GET
URI: /csm/api/v1/userId/{userId}/application/{appName}/instance/list
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| appName | String | 应用名 | 是 | 
Query参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| region | String | 按region搜索,过滤出该region的实例 | 否 | 
请求示例
1GET /csm/api/v1/userId/user1/application/test/instance/list?region=bj
2Host: bcm.bj.baidubce.com:80
            返回示例
1[
2    {
3        "id": 1,
4        "name": "0.test",
5        "offset": 0,
6        "instanceId": "instance1",
7        "region": "bj",
8        "userId": "user1",
9        "appName": "test"
10    },
11    {
12        "id": 2,
13        "name": "1.test",
14        "offset": 1,
15        "instanceId": "instance2",
16        "region": "bj",
17        "userId": "user1",
18        "appName": "test"
19    }
20]
            实例删除接口
请求结构体
Method:DELETE
URI: /csm/api/v1/userId/{userId}/application/instance
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| appName | String | 应用名 | 是 | 
| id | String | 实例在数据库中的id | 是 | 
请求示例
1DELETE /csm/api/v1/userId/user1/application/instance
2Host: bcm.bj.baidubce.com:80
3 
4 
5{
6    "id": 1,
7    "appName": "test"
8}
            返回示例
1HTTP 200
            监控任务管理接口
创建监控任务接口
请求结构体
Method:POST
URI: /csm/api/v1/userId/{userId}/application/task/create
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| aliasName | String | 任务别名 | 是 | 
| appName | String | 应用名 | 是 | 
| type | int | 任务类型: 0,进程;1,端口;2,日志;3,脚本 | 是 | 
| cycle | int | 采集周期,默认1分钟 | 否 | 
| target | String | 采集目标,进程路径或端口或日志路径或脚本路径 | 是 | 
| description | String | 应用说明 | 否 | 
对于日志任务,即type=2,RequestBody需追加以下日志相关字段
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| logExample | String | 日志样例 | 是 | 
| matchRule | String | 日志提取规则 | 是 | 
| rate | int | 采集速率,单位为分钟 | 是 | 
| extractResult | List<LogExtractResult>,其中LogExtractResult参数含义见下表格 | 提取结果 | 是 | 
| metrics | List<Metric>,其中Metric 参数含义见下表格 | 配置指标 | 是 | 
LogExtractResult 参数
| 名称 | 类型 | 说明 | 
|---|---|---|
| extractFieldName | String | 提取的字段名 | 
| extractFieldValue | String | 提取的字段的值 | 
| dimensionMapTable | String | 维度映射表名 | 
Metric 参数
| 名称 | 类型 | 说明 | 
|---|---|---|
| metricName | String | 监控项名称 | 
| metricAlias | String | 监控项别名 | 
| metricUnit | String | 监控项单位 | 
| valueFieldType | int | 取值字段类型:取值字段:0,日志行数;1. 单字段;2.多字段 | 
| valueFieldName | String | 取值字段 | 
| aggrTags | List<AggrTag>其中AggTag 参数含义见下表格 | 数据维度 | 
| saveInstanceData | int | 是否存储实例数据:0,否;1,是 | 
AggTag 参数
| 字段名 | 类型 | 含义 | 
|---|---|---|
| range | String | 汇聚实例范围,目前只支持App | 
| tags | String | 汇聚维度key,多个用逗号隔开 | 
请求示例1
1POST /csm/api/v1/userId/123456/application/test14/task/create
2Host: bcm.bj.baidubce.com:80
3 
4{
5    "aliasName": "agent_test_task",
6    "type": 0,
7    "cycle":60,
8    "target":"/bcm-agent",
9    "description":"agent task"
10}
            请求响应1
1{
2    "id": 1,
3    "name": "0ebea6b1efb74867b7bbaa17caa95e7a", // 监控任务唯一标识
4    "aliasName": "test_task",
5    "appName": "test14",
6    "userId": "123456",
7    "cycle": 60,
8    "target": "/bcm-agent",
9    "type": 0,
10    "description": "test task"
11}
            请求示例2
1POST /csm/api/v1/userId/123456/application/test14/task/create
2Host: bcm.bj.baidubce.com:80
3 
4{
5    "aliasName": "log_test_task20",
6    "type": 2,
7    "cycle": 60,
8    "target": "/tmp/test.log",
9    "description": "log task",
10    "logExample": "10.157.16.207 - - [09/Apr/2020:20:45:33 +0800] \"POST /v1/dashboard/metric/gaugechart HTTP/1.1\" 200 117 47ms",
11    "matchRule": "800] \"(?P<method>(GET|POST|PUT|DELETE)) .*\/v1\/dashboard\/metric\/(?P<widget>(cycle|trend|report|billboard|gaugechart)) HTTP\/1.1\".*(?P<resTime>[0-9]+)ms",
12    "rate": 5,
13    "extractResult": [
14        {
15            "extractFieldName": "widget",
16            "extractFieldValue": "gaugechart",
17            "dimensionMapTable": "path"
18        }
19    ],
20    "metrics": [
21        {
22            "metricName": "con_tsdb_time",
23            "metricAlias": "响应时间",
24            "valueFieldName": "resTime",
25            "aggrTags": [
26                {
27                    "range": "All",
28                    "tags": "method,widget"
29                },
30                {
31                    "range": "All",
32                    "tags": "method"
33                }
34            ]
35        }
36    ]
37}
            请求响应2
1{
2    "id": 1,
3    "name": "79c35af26c4346ab844bcbcdde2875c3",
4    "aliasName": "log_test_task20",
5    "type": 2,
6    "cycle": 60,
7    "target": "/tmp/test.log",
8    "description": "log task",
9    "logExample": "10.157.16.207 - - [09/Apr/2020:20:45:33 +0800] \"POST /v1/dashboard/metric/gaugechart HTTP/1.1\" 200 117 47ms",
10    "matchRule": "800] \"(?P<method>(GET|POST|PUT|DELETE)) .*\/v1\/dashboard\/metric\/(?P<widget>(cycle|trend|report|billboard|gaugechart)) HTTP\/1.1\".*(?P<resTime>[0-9]+)ms",
11    "rate": 5,
12    "extractResult": [
13        {
14            "extractFieldName": "widget20",
15            "extractFieldValue": "gaugechart20",
16            "dimensionMapTable": "path"
17        }
18    ],
19    "metrics": [
20        {
21            "metricName": "con_tsdb_time20",
22            "metricAlias": "响应时间",
23            "valueFieldName": "resTime",
24            "aggrTags": [
25                {
26                    "range": "All",
27                    "tags": "method,widget"
28                },
29                {
30                    "range": "All",
31                    "tags": "method"
32                }
33            ]
34        }
35    ]
36}
            监控任务详情接口
请求结构体
Method:GET
URI: /csm/api/v1/userId/{userId}/application/{appName}/task/{taskName}
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| appName | String | 应用名 | 是 | 
| taskName | String | 任务名 | 是 | 
请求示例1
1GET /csm/api/v1/userId/123456/application/test14/task/2096eb64edaf484cb84eff5ccb33bfd5
2Host: bcm.bj.baidubce.com:80
            请求响应1
1{
2    "id": 2,
3    "name": "2096eb64edaf484cb84eff5ccb33bfd5",
4    "aliasName": "2489qhwif384189",
5    "appName": "test14",
6    "userId": "123456",
7    "cycle": 60,
8    "target": "/python",
9    "type": 0,
10    "description": "python task"
11}
            请求示例2
1GET /csm/api/v1/userId/123456/application/test14/task/79c35af26c4346ab844bcbcdde2875c3
2Host: bcm.bj.baidubce.com:80
            请求响应2
1{
2    "id": 11,
3    "name": "79c35af26c4346ab844bcbcdde2875c3",
4    "aliasName": "log_test_task2",
5    "appName": "test14",
6    "userId": "123456",
7    "cycle": 60,
8    "target": "/home/work/bcm/csm.log",
9    "type": 2,
10    "description": "log task2",
11    "logExample": "2020-11-12T16:27:08.149+08:00 DEBUG 86884 [csm-saver-1357862653] --- c.b.b.b.s.m.i.TsdbDataPushServiceImpl    : [d2b9f42d-4647-4e81-8d7f-e39e3c154552][] dynamic push data result, TsdbRemoteReturnData:",
12    "matchRule": "(time)(ms)",
13    "rate": 5,
14    "extractResult": [
15        {
16            "id": 7,
17            "taskId": 11,
18            "extractFieldName": "time",
19            "extractFieldValue": "50",
20            "dimensionMapTable": null
21        }
22    ],
23    "metrics": [
24        {
25            "id": 2,
26            "taskId": 11,
27            "metricName": "responseTime",
28            "metricAlias": "响应时间",
29            "metricUnit": "ms",
30            "valueFieldType": 1,
31            "valueFieldName": "responseTime",
32            "valueMatchRule": null,
33            "aggrInstanceRange": "ALL",
34            "aggrTags": "",
35            "saveInstanceData": 0
36        }
37    ]
38}
            监控任务列表接口
请求结构体
Method:GET
URI: /csm/api/v1/userId/{userId}/application/{appName}/task/list
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| appName | String | 应用名 | 是 | 
Query参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| type | int | 任务类型:0,进程;1,端口;2,日志;3,脚本 用于过滤; | 否 | 
请求示例
1GET /csm/api/v1/userId/123456/application/test14/task/list?type=1
2Host: bcm.bj.baidubce.com:80
            请求响应
1[
2    {
3        "id": 4,
4        "name": "171f6e3052fb414098581f7886d66233",
5        "aliasName": "port_test_task",
6        "appName": "test14",
7        "userId": "123456",
8        "cycle": 60,
9        "target": "8855",
10        "type": 1,
11        "description": "port task"
12    }
13]
            监控任务编辑接口
请求结构
Method:PUT
URI: /csm/api/v1/userId/{userId}/application/task/update
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| 名称 | 类型 | 说明 | 是否必须 | 
| aliasName | String | 任务别名 | 是 | 
| type | int | 任务类型: 0,进程;1,端口;2,日志 | 是 | 
| cycle | int | 采集周期,默认1分钟 | 否 | 
| target | String | 采集目标,进程路径或端口或日志路径 | 是 | 
| description | String | 应用说明 | 否 | 
如果type=2,body需追加以下字段
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| logExample | String | 日志样例 | 是 | 
| matchRule | String | 日志提取规则 | 是 | 
| rate | int | 采集速率,单位为分钟 | 是 | 
| extractResult | List | 
提取结果 | 是 | 
| metrics | List | 
配置指标 | 是 | 
LogExtractResult 参数
| 名称 | 类型 | 说明 | 
|---|---|---|
| extractFieldName | String | 提取的字段名 | 
| extractFieldValue | String | 提取的字段的值 | 
| dimensionMapTable | String | 维度映射表名 | 
Metric 参数
| 名称 | 类型 | 说明 | 
|---|---|---|
| metricName | String | 监控项名称 | 
| metricAlias | String | 监控项别名 | 
| metricUnit | String | 监控项单位 | 
| valueFieldType | int | 取值字段类型:取值字段:0,日志行数;1. 单字段;2.多字段 | 
| valueFieldName | String | 取值字段 | 
| aggrTags | List | 
数据维度 | 
| saveInstanceData | int | 是否存储实例数据:0,否;1,是 | 
请求示例
1PUT /csm/api/v1/userId/123456/application/test14/task/79c35af26c4346ab844bcbcdde2875c3
2Host: bcm.bj.baidubce.com:80
3{
4    "id": 11,
5    "name": "79c35af26c4346ab844bcbcdde2875c3",
6    "aliasName": "log_test_task2",
7    "appName": "test14",
8    "userId": "123456",
9    "cycle": 60,
10    "target": "/home/work/bcm/csm.log",
11    "type": 2,
12    "description": "log task update2",
13    "logExample": "11-12T16:27:08.149+08:00 DEBUG 86884 [csm-saver-1357862653] --- c.b.b.b.s.m.i.TsdbDataPushServiceImpl",
14    "matchRule": "*",
15    "rate": 5,
16    "extractResult": [
17        {
18            "extractFieldName": "responseTime2",
19            "extractFieldValue": "responseTime2",
20            "dimensionMapTable": "123"
21        }
22    ],
23    "metrics": [
24        {
25            "metricName": "responseTime2",
26            "metricAlias": "响应时间-update2",
27            "metricUnit": "ms",
28            "valueFieldType": 1,
29            "valueFieldName": "responseTime2",
30            "valueMatchRule": null,
31            "aggrInstanceRange": "ALL",
32            "aggrTags": "",
33            "saveInstanceData": 0
34        }
35    ]
36}
            请求响应
1{
2    "id": 11,
3    "name": "79c35af26c4346ab844bcbcdde2875c3",
4    "aliasName": "log_test_task2",
5    "appName": "test14",
6    "userId": "123456",
7    "cycle": 60,
8    "target": "/home/work/bcm/csm.log",
9    "type": 2,
10    "description": "log task update2",
11    "logExample": "11-12T16:27:08.149+08:00 DEBUG 86884 [csm-saver-1357862653] --- c.b.b.b.s.m.i.TsdbDataPushServiceImpl",
12    "matchRule": "*",
13    "rate": 5,
14    "extractResult": [
15        {
16            "extractFieldName": "responseTime2",
17            "extractFieldValue": "responseTime2",
18            "dimensionMapTable": "123"
19        }
20    ],
21    "metrics": [
22        {
23            "metricName": "responseTime2",
24            "metricAlias": "响应时间-update2",
25            "metricUnit": "ms",
26            "valueFieldType": 1,
27            "valueFieldName": "responseTime2",
28            "valueMatchRule": null,
29            "aggrInstanceRange": "ALL",
30            "aggrTags": "",
31            "saveInstanceData": 0
32        }
33    ]
34}
            监控任务删除接口
请求结构
Method:DELETE
URI: /csm/api/v1/userId/{userId}/application/task/delete
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| name | String | 任务名,uuid,不是aliasName | 是 | 
| appName | String | 应用名 | 是 | 
请求示例
1DELETE /csm/api/v1/userId/123456/application/task/delete
2Host: bcm.bj.baidubce.com:80
3 
4 
5{
6    "name":"79c35af26c4346ab844bcbcdde2875c3",
7    "appName":"test14"
8}
            请求响应
1HTTP 200
            维度映射表管理接口
维度映射表创建
Method:POST
URI: /csm/api/v1/userId/{userId}/application/dimensionMap/create
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| appName | String | 应用名 | 是 | 
| tableName | String | 维度映射表名 | 是 | 
| mapContentJson | String | 维度映射内容 | 是 | 
请求示例
1POST /csm/api/v1/userId/123456/application/dimensionMap/create
2Host: bcm.bj.baidubce.com:80
3 
4 
5 
6{
7    "userId": "123456",
8    "appName": "test14",
9    "mapContentJson": "chinanet=>cn\nchinacom=>cc",
10    "tableName": "isp"
11}
            请求响应
1{
2    "userId": "123456",
3    "appName": "test14",
4    "mapContentJson": "chinanet=>cn\nchinacom=>cc",
5    "tableName": "isp"
6}
            维度映射表查询
请求结构
Method:GET
URI: /csm/api/v1/userId/{userId}/application/{appName}/dimensionMap/list
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| appName | String | 应用名 | 是 | 
Query参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| searchName | String | 映射表名搜索 | 否 | 
请求示例
1GET /csm/api/v1/userId/123456/application/test14/dimensionMap/list?searchName=is
2Host: bcm.bj.baidubce.com:80
            请求响应
1[
2    {
3        "userId": "123456",
4        "appName": "test14",
5        "mapContentJson": "chinanet=>cn\nchinacom=>cc",
6        "tableName": "isp"
7    }
8]
            维度映射表删除
请求结构
Method:DELETE
URI: /csm/api/v1/userId/{userId}/application/dimensionMap/delete
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| appName | String | 应用名 | 是 | 
| tableName | String | 维度映射表名 | 是 | 
请求示例
1DELETE /csm/api/v1/userId/123456/application/test14/dimensionMap/isp
            请求响应
1HTTP 200
            维度映射表更新
请求结构
Method:PUT
URI: /csm/api/v1/userId/{userId}/application/dimensionMap/update
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| appName | String | 应用名 | 是 | 
| tableName | String | 维度映射表名 | 是 | 
| mapContentJson | String | 维度映射内容 | 是 | 
请求示例
1PUT /csm/api/v1/userId/123456/application/dimensionMap/update
2Host: bcm.bj.baidubce.com:80
3 
4 
5{
6        "userId": "123456",
7        "appName": "test14",
8        "mapContentJson": "chinanet=>cn\nchinacom=>cc",
9        "tableName": "isp"
10}
            请求响应
1HTTP 200
            监控数据查询接口
维度值查询接口
请求结构
Method:GET
URI: /csm/api/v1/userId/{userId}/application/{appName}/task/{taskName}/metricMeta
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| appName | String | 应用名 | 是 | 
| taskName | String | 任务名 | 是 | 
Query参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| instances | String | 多个实例名,逗号隔开 | 否 | 
| metricName | String | 指标名 | 是 | 
| dimensionKeys | String | 维度key,可传多个,逗号隔开 | 是 | 
请求示例
1GET  /csm/api/v1/userId/a0d04d7c202140cb80155ff7b6******/application/test14/task/79c35af26c4346ab844bcbcdde******/metricMeta?instances=0.test14,1.test14&metricName=log.responseTime&dimensionKeys=method
2Host: bcm.bj.baidubce.com:80
            请求响应
1{
2    "method":[
3        "GET",
4        "POST",
5        "PUT"
6    ]
7}
            多监控对象-单指标查询接口
请求结构
Method:GET
URI: /csm/api/v1/userId/{userId}/application/{appName}/task/{taskName}/metricData
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| appName | String | 应用名 | 是 | 
| taskName | String | 任务名 | 是 | 
Query参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| instances | String | 多个实例名,逗号隔开.aggrData为true时,可不传;aggrData为false时必传 | 否 | 
| metricName | String | 指标名 | 是 | 
| cycle | int | 周期,默认60s | 否 | 
| startTime | String | utc时间,起始时间 | 是 | 
| endTime | String | utc时间,结束时间 | 是 | 
| dimensions | String | 维度,多个维度之间用逗号,连接,同一个维度key的多个取值value之间用三个下划线连接,举例1:httpMethod:POSTGET,path:apipath1apipath2举例2:httpMethod:POST___GET,path:apipath1举例3:httpMethod:POST,path:apipath1 | 否 | 
| statistics | String | 统计方式,取值:average 平均值 maximum 最大值 minimum 最小值 sum 和值 sampleCount 样本数 | 
是 | 
| aggrData | String | 是否汇聚值,true为获取汇聚数据,默认false | 否 | 
请求示例
1GET csm/api/v1/userId/a0d04d7c202140cb80155ff7b6******/application/zmq-log-1115/task/6d3f07e6684d47b69ca9600f7f******/metricData?metricName=exec.6d3f07e6684d47b69ca9600f7fcbbb12.metric1&startTime=2023-12-05T09:54:15Z&endTime=2023-12-05T10:04:15Z&instances=0.zmq-log-1115,1.zmq-log-1115&statistics=dss&cycle=120
2Host: bcm.bj.baidubce.com:80
            请求响应
1[
2    {
3        "namespace": "0.zmq-log-1115",
4        "dimensions": [],
5        "dataPoints": [
6            {
7                "timestamp": "2023-12-05T09:54:15Z",
8                "average": 66.0
9            },
10            {
11                "timestamp": "2023-12-05T09:58:15Z",
12                "average": 66.0
13            },
14            {
15                "timestamp": "2023-12-05T10:02:15Z",
16                "average": 66.0
17            }
18        ]
19    },
20    {
21        "namespace": "1.zmq-log-1115",
22        "dimensions": [],
23        "dataPoints": [
24            {
25                "timestamp": "2023-12-05T09:54:15Z"
26            },
27            {
28                "timestamp": "2023-12-05T09:58:15Z"
29            },
30            {
31                "timestamp": "2023-12-05T10:02:15Z"
32            }
33        ]
34    }
35]
            报警相关接口
报警策略创建接口
请求结构
Method:POST
URI: /csm/api/v1/userId/{userId}/application/alarm/config/create
RequestBody参数
| 名称 | 类型 | 描述 | 
|---|---|---|
| alarmDescription | String | 自动生成,报警规则说明 | 
| alarmName | String | userId下唯一报警名 | 
| userId | String | 用户id | 
| appName | String | 应用名 | 
| monitorObjectType | MonitorObjectType | 监控对象类型。 选择监控对象类型为 实例 时,取值APP;选择监控对象类型为 应用 时,取值SERVICE | 
| monitorObject | ACMonitorObject | 监控对象 | 
| type | AlarmType(enum) | 报警类型:选择监控对象类型为 实例 时,取值INSTANCE;选择监控对象类型为 应用 时,取值SERVICE | 
| level | AlarmLevel(enum) | 报警等级,分为了五个等级NOTICE, WARNING, CRITICAL, MAJOR, CUSTOM | 
| actionEnabled | Boolean | 报警的通知状态 | 
| policyEnabled | Boolean | 报警策略启用状态。true:启用,false:禁用 | 
| rules | List(List | 
报警规则列表 | 
| incidentActions | Set(String) | 报警状态下所要采取的动作 | 
| resumeActions | Set(String) | 正常状态下所要采取的动作 | 
| insufficientActions | Set(String) | 采集数据不足状态下的动作 | 
| insufficientCycle | int | 无数据报警判断周期 | 
| srcName | String | 任务标识,即任务taskName | 
| srcType | String | 任务类型,枚举:PROC(进程), PORT(端口),LOG(日志),SCR (脚本) | 
| repeatAlarmCycle | int | 报警重复提醒:重复报警提醒触发间隔 | 
| maxRepeatCount | int | 报警重复提醒:最大重复提醒次数 | 
ACMonitorObject
| 名称 | 类型 | 描述 | 
|---|---|---|
| monitorObjectType | MonitorObjectType(enum) | 监控对象类型: APP、SERIVCE。实例型报警策略选择APP,应用型报警策略选择SERVICE | 
| monitorObjectView | Set(ACMonitorObjectViewModel) | 监控对象 | 
ACMonitorObjectViewModel
| 名称 | 类型 | 描述 | 
|---|---|---|
| monitorObjectName | String | 监控对象。选择监控对象类型为 实例 时,传值taskName;选择监控对象类型为 应用 时,传值维度key、value, 此时 rules[0][0].metricDimensions 无需再赋值 | 
| monitorObjectNameView | String | 监控对象显示名,在报警历史等展示 | 
AlarmRule
| 名称 | 类型 | 描述 | 
|---|---|---|
| metric | String | 指标标识名 | 
| metricAlias | String | 指标别名 | 
| cycle | Integer | 多长时间计算一次是否满足各个报警规则,即单个评估周期时长,单位s | 
| statistics | String | 统计方式,取值为最大值(maximum)、最小值(minimum)、和值(sum)和平均值(average) | 
| function | String | 取值THRESHOLD,表示阈值报警 | 
| threshold | String | 报警规则的阈值 | 
| comparisonOperator | String | 和阈值比较的算符,取值为>=,>,=,<,<= | 
| count | Integer | 触发报警所需连续发生次数 | 
| metricDimensions | List(ACMetricDimensions) | 指标的维度 | 
ACMetricDimensions
| 名称 | 类型 | 描述 | 
|---|---|---|
| name | String | 指标维度key | 
| value | String | 指标维度Value | 
请求示例
1POST /csm/api/v1/userId/453bf9588c9e488f9ba2c98412******/application/alarm/config/create
2Host: bcm.bj.baidubce.com:80
3 
4{
5    "alarmDescription":"proc.cpu_usage average 值 > 90",
6    "alarmName":"testAPPalarm",
7    "userId":"453bf9588c9e488f9ba2c98412******",
8    "appName":"test14",
9    "monitorObjectType":"APP",
10    "monitorObject":{
11        "id":1
12        "monitorObjectType":"APP",
13        "monitorObjectView":[{
14            "monitorObjectName":"0b5692738f53483da15a7d24483e747f",
15            "monitorObjectNameView":""
16        }]
17    },
18    "type":"INSTANCE",
19    "level":"MAJOR",
20    "actionEnabled":true,
21    "rules":[
22        [
23            {
24                "id":1,
25                "metric":"proc.cpu_usage",
26                "metricAlias": "cpu利用率",
27                "metricDimensions":[
28                    {
29                        "name":"cpu",
30                        "value":"0"
31                    }
32                ],
33                "cycle":60,
34                "statistics":"AVG",
35                "threshold":"10",
36                "comparisonOperator":"GT",
37                "count":3,
38                "function":"THRESHOLD",
39                "sequence":1,
40            }
41        ],
42        [
43            {
44                "metric":"proc.cpu_usage",
45                "metricAlias": "cpu利用率",
46                "metricDimensions":[
47  
48                ],
49                "cycle":60,
50                "statistics":"AVG",
51                "threshold":"10",
52                "comparisonOperator":"GT",
53                "count":3,
54                "function":"THRESHOLD",
55                "sequence":1,
56            }
57        ]
58    ],
59    "region":"bj",
60    "incidentActions":[
61        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
62    ],
63    "insufficientActions":[
64        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
65    ],
66    "resumeActions":[
67        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
68    ],
69    "srcName":"0b5692738f53483da15a7d24483e747f",
70    "srcType":"PROC",
71    "insufficientCycle":300,
72    "callbackUrl":"",
73    "callbackToken":"",
74    "repeatAlarmCycle":0,
75    "maxRepeatCount":0
76}
            请求响应
1{
2    "alarmDescription":"proc.cpu_usage average 值 > 90",
3    "alarmName":"testAPPalarm",
4    "userId":"453bf9588c9e488f9ba2c98412******",
5    "appName":"test14",
6    "monitorObjectType":"APP",
7    "monitorObject":{
8        "id":1
9        "monitorObjectType":"APP",
10        "monitorObjectView":[{
11            "monitorObjectName":"0b5692738f53483da15a7d24483e747f",
12            "monitorObjectNameView":""
13        }]
14    },
15    "type":"INSTANCE",
16    "level":"MAJOR",
17    "actionEnabled":true,
18    "rules":[
19        [
20            {
21                "id":1,
22                "metric":"proc.cpu_usage",
23                "metricAlias": "cpu利用率",
24                "metricDimensions":[
25                    {
26                        "name":"cpu",
27                        "value":"0"
28                    }
29                ],
30                "cycle":60,
31                "statistics":"AVG",
32                "threshold":"10",
33                "comparisonOperator":"GT",
34                "count":3,
35                "function":"THRESHOLD",
36                "sequence":1,
37            }
38        ],
39        [
40            {
41                "metric":"proc.cpu_usage",
42                "metricAlias": "cpu利用率",
43                "metricDimensions":[
44  
45                ],
46                "cycle":60,
47                "statistics":"AVG",
48                "threshold":"10",
49                "comparisonOperator":"GT",
50                "count":3,
51                "function":"THRESHOLD",
52                "sequence":1,
53            }
54        ]
55    ],
56    "region":"bj",
57    "incidentActions":[
58        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
59    ],
60    "insufficientActions":[
61        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
62    ],
63    "resumeActions":[
64        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
65    ],
66    "srcName":"0b5692738f53483da15a7d24483e747f",
67    "srcType":"PROC",
68    "insufficientCycle":300,
69    "callbackUrl":"",
70    "callbackToken":"",
71    "repeatAlarmCycle":0,
72    "maxRepeatCount":0
73}
            报警策略更新接口
请求结构
Method:PUT
URI: /csm/api/v1/userId/{userId}/application/alarm/config/update
RequestBody参数
同创建报警策略的RequestBody
请求示例
1PUT /csm/api/v1/userId/453bf9588c9e488f9ba2c984129090dc/application/alarm/config/update
2Host: bcm.bj.baidubce.com:80
3 
4 
5{
6    "alarmDescription":"proc.cpu_usage average 值 > 90",
7    "alarmName":"testAPPalarm",
8    "userId":"453bf9588c9e488f9ba2c984129090dc",
9    "appName":"test14",
10    "monitorObjectType":"APP",
11    "monitorObject":{
12        "id":1
13        "monitorObjectType":"APP",
14        "monitorObjectView":[{
15            "monitorObjectName":"0b5692738f53483da15a7d24483e747f",
16            "monitorObjectNameView":""
17        }]
18    },
19    "type":"INSTANCE",
20    "level":"MAJOR",
21    "actionEnabled":true,
22    "rules":[
23        [
24            {
25                "id":1,
26                "metric":"proc.cpu_usage",
27                "metricAlias": "cpu利用率",
28                "metricDimensions":[
29                    {
30                        "name":"method",
31                        "value":"POST"
32                    },
33                    {
34                        "name":"path",
35                        "value":"/api/search"
36                    }
37                ],
38                "cycle":60,
39                "statistics":"AVG",
40                "threshold":"10",
41                "comparisonOperator":"GT",
42                "count":3,
43                "function":"THRESHOLD",
44                "sequence":1,
45            }
46        ],
47        [
48            {
49                "metric":"proc.cpu_usage",
50                "metricAlias": "cpu利用率",
51                "metricDimensions":[
52  
53                ],
54                "cycle":60,
55                "statistics":"AVG",
56                "threshold":"10",
57                "comparisonOperator":"GT",
58                "count":3,
59                "function":"THRESHOLD",
60                "sequence":1,
61            }
62        ]
63    ],
64    "region":"bj",
65    "incidentActions":[
66        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
67    ],
68    "insufficientActions":[
69        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
70    ],
71    "resumeActions":[
72        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
73    ],
74    "srcName":"0b5692738f53483da15a7d24483e747f",
75    "srcType":"PROC",
76    "insufficientCycle":300,
77    "callbackUrl":"",
78    "callbackToken":"",
79    "repeatAlarmCycle":0,
80    "maxRepeatCount":0
81}
            请求响应
1{
2    "alarmDescription":"proc.cpu_usage average 值 > 90",
3    "alarmName":"testAPPalarm",
4    "userId":"453bf9588c9e488f9ba2c984129090dc",
5    "appName":"test14",
6    "monitorObjectType":"APP",
7    "monitorObject":{
8        "id":1
9        "monitorObjectType":"APP",
10        "monitorObjectView":[{
11            "monitorObjectName":"0b5692738f53483da15a7d24483e747f",
12            "monitorObjectNameView":""
13        }]
14    },
15    "type":"INSTANCE",
16    "level":"MAJOR",
17    "actionEnabled":true,
18    "rules":[
19        [
20            {
21                "id":1,
22                "metric":"proc.cpu_usage",
23                "metricAlias": "cpu利用率",
24                "metricDimensions":[
25                    {
26                        "name":"method",
27                        "value":"POST"
28                    },
29                    {
30                        "name":"path",
31                        "value":"/api/search"
32                    }
33                ],
34                "cycle":60,
35                "statistics":"AVG",
36                "threshold":"10",
37                "comparisonOperator":"GT",
38                "count":3,
39                "function":"THRESHOLD",
40                "sequence":1,
41            }
42        ],
43        [
44            {
45                "metric":"proc.cpu_usage",
46                "metricAlias": "cpu利用率",
47                "metricDimensions":[
48  
49                ],
50                "cycle":60,
51                "statistics":"AVG",
52                "threshold":"10",
53                "comparisonOperator":"GT",
54                "count":3,
55                "function":"THRESHOLD",
56                "sequence":1,
57            }
58        ]
59    ],
60    "region":"bj",
61    "incidentActions":[
62        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
63    ],
64    "insufficientActions":[
65        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
66    ],
67    "resumeActions":[
68        "27a51ad0-db67-45bb-8b50-ce0c5ca5a5f9"
69    ],
70    "srcName":"0b5692738f53483da15a7d24483e747f",
71    "srcType":"PROC",
72    "insufficientCycle":300,
73    "callbackUrl":"",
74    "callbackToken":"",
75    "repeatAlarmCycle":0,
76    "maxRepeatCount":0
77}
            报警策略列表接口
请求结构
Method:GET
URI: /csm/api/v1/userId/{userId}/application/alarm/config/list
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
Query参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
appName | 
String | 应用名,不传表示的所有应用监控 | 否 | 
alarmName | 
String | 策略名,搜索过滤使用 | 否 | 
actionEnabled | 
bool | 是否关闭通知,过滤使用 | 否 | 
srcType | 
String | 监控方式:进程(PROC) / 端口(PORT) / 日志(LOG)/ 脚本(SCR)不传表示所有监控方式的 | 
否 | 
| taskName | String | 任务标识名(UUID字符串),过滤使用 | 否 | 
pageNo | 
String | 分页页码 | 是 | 
pageSize | 
String | 分页大小,默认10 | 否 | 
请求示例
1GET /csm/api/v1/userId/453bf9588c9e488f9ba2c98412******/application/alarm/config/list?pageNo=1&srcType=PORT&actionEnabled=true&pageSize=2
2Host: bcm.bj.baidubce.com:80
            请求响应
1{
2    "orderBy": "",
3    "order": "",
4    "pageNo": 1,
5    "pageSize": 2,
6    "totalCount": 7,
7    "result": [
8        {
9            "alarmDescription": "",
10            "alarmName": "config-yyy",
11            "userId": "453bf9588c9e488f9ba2c98412******",
12            "appName": "yyy-test",
13            "region": "bj",
14            "monitorObjectType": "APP",
15            "monitorObject": {
16                "id": null,
17                "monitorObjectView": [
18                    {
19                        "monitorObjectName": "yyy-test.453bf9588c9e488f9ba2c98412******",
20                        "monitorObjectNameView": "",
21                        "metricDimensionView": ""
22                    }
23                ],
24                "monitorObjectType": "APP",
25                "typeName": "kInstance"
26            },
27            "srcName": "f29d726bc73b4c5bbc813e40a7d3b38c",
28            "srcType": "PORT",
29            "type": "INSTANCE",
30            "level": "MAJOR",
31            "actionEnabled": true,
32            "policyEnabled": true,
33            "rules": [
34                [
35                    {
36                        "metric": "port.err_code",
37                        "metricAlias": "错误码",
38                        "cycle": 60,
39                        "statistics": "average",
40                        "threshold": 3.0,
41                        "comparisonOperator": ">",
42                        "count": 1,
43                        "function": "THRESHOLD",
44                        "sequence": 0,
45                        "metricDimensions": [],
46                        "formulaV2Alias": "错误码1分钟平均值>3.00",
47                        "metricTags": null
48                    }
49                ]
50            ],
51            "incidentActions": [
52                "YYY-test"
53            ],
54            "resumeActions": [],
55            "insufficientActions": [],
56            "insufficientCycle": 0,
57            "repeatAlarmCycle": 0,
58            "maxRepeatCount": 0,
59            "tag": ""
60        },
61        {
62            "alarmDescription": "",
63            "alarmName": "yyy-and-test",
64            "userId": "453bf9588c9e488f9ba2c98412******",
65            "appName": "yyy-test",
66            "region": "bj",
67            "monitorObjectType": "APP",
68            "monitorObject": {
69                "id": null,
70                "monitorObjectView": [
71                    {
72                        "monitorObjectName": "yyy-test.453bf9588c9e488f9ba2c98412******",
73                        "monitorObjectNameView": "",
74                        "metricDimensionView": ""
75                    }
76                ],
77                "monitorObjectType": "APP",
78                "typeName": "kInstance"
79            },
80            "srcName": "f29d726bc73b4c5bbc813e40a7d3b38c",
81            "srcType": "PORT",
82            "type": "INSTANCE",
83            "level": "NOTICE",
84            "actionEnabled": true,
85            "policyEnabled": true,
86            "rules": [
87                [
88                    {
89                        "metric": "port.err_code",
90                        "metricAlias": "错误码",
91                        "cycle": 60,
92                        "statistics": "average",
93                        "threshold": 0.0,
94                        "comparisonOperator": ">",
95                        "count": 1,
96                        "function": "THRESHOLD",
97                        "sequence": 0,
98                        "metricDimensions": [],
99                        "formulaV2Alias": "错误码1分钟平均值>0.00",
100                        "metricTags": null
101                    },
102                    {
103                        "metric": "port.err_code",
104                        "metricAlias": "错误码",
105                        "cycle": 60,
106                        "statistics": "average",
107                        "threshold": 2.0,
108                        "comparisonOperator": "<",
109                        "count": 1,
110                        "function": "THRESHOLD",
111                        "sequence": 0,
112                        "metricDimensions": [],
113                        "formulaV2Alias": "错误码1分钟平均值<2.00",
114                        "metricTags": null
115                    }
116                ],
117                [
118                    {
119                        "metric": "port.res_time",
120                        "metricAlias": "响应时间",
121                        "cycle": 60,
122                        "statistics": "average",
123                        "threshold": 5.0,
124                        "comparisonOperator": ">",
125                        "count": 1,
126                        "function": "THRESHOLD",
127                        "sequence": 1,
128                        "metricDimensions": [],
129                        "formulaV2Alias": "响应时间1分钟平均值>5.00ms",
130                        "metricTags": null
131                    }
132                ]
133            ],
134            "incidentActions": [
135                "YYY-test"
136            ],
137            "resumeActions": [],
138            "insufficientActions": [],
139            "insufficientCycle": 0,
140            "repeatAlarmCycle": 0,
141            "maxRepeatCount": 0,
142            "tag": ""
143        }
144    ]
145}
            报警策略删除接口
请求结构
Method:DELETE
URI: /csm/api/v1/userId/{userId}/application/alarm/config
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
appName | 
String | 应用名 | 是 | 
alarmName | 
String | 策略标识名 | 是 | 
请求示例
1DELETE /csm/api/v1/userId/453bf9588c9e488f9ba2c984129090dc/application/alarm/config
2Host: bcm.bj.baidubce.com:80
3 
4{
5    "appName":"test14",
6    "alarmName":"proc666"
7}
            请求响应
1HTTP 200
            报警策略详情接口
请求结构
Method:GET
URI: /csm/api/v1/userId/{userId}/application/alarm/{alarmName}/config
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| alarmName | String | 报警策略名 | 是 | 
Query参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
appName | 
String | 应用名 | 是 | 
请求示例
1GET /csm/api/v1/userId/453bf9588c9e488f9ba2c98412******/application/alarm/inst-test/config?appName=test_ymd_app_0918
2Host: bcm.bj.baidubce.com:80
            请求响应
1{
2    // 报警描述
3    "alarmDescription": "",
4    // 报警策略名
5    "alarmName": "inst-test",
6    // 用户id
7    "userId": "453bf9588c9e488f9ba2c98412******",
8    // 应用名
9    "appName": "test_ymd_app_0918",
10    "region": "bj",
11    "monitorObjectType": "APP",
12    "monitorObject": {
13        "id": null,
14        "monitorObjectView": [
15            {
16                "monitorObjectName": "test_ymd_app_0918.453bf9588c9e488f9ba2c98412******",
17                "monitorObjectNameView": "",
18                "metricDimensionView": ""
19            }
20        ],
21        "monitorObjectType": "APP",
22        "typeName": "kInstance"
23    },
24    "srcName": "46e78b2831394f738429f88265c5b25f",
25    // 监控方式, 枚举值 PROC:进程 LOG:日志 PORT:端口 SCR:脚本
26    "srcType": "LOG",
27    // 监控对象类型, 枚举值 INSTANCE:实例 SERVICE:应用
28    "type": "INSTANCE",
29    // 报警等级
30    "level": "MAJOR",
31    // 通知模版是否开启
32    "actionEnabled": true,
33    // 报警策略是否开启
34    "policyEnabled": true,
35    // 报警规则
36    "rules": [
37        [
38            {
39                "metric": "log.test_name",
40                "metricAlias": "test_name",
41                "cycle": 60,
42                "statistics": "average",
43                "threshold": 0.0,
44                "comparisonOperator": ">",
45                "count": 1,
46                "function": "THRESHOLD",
47                "sequence": 0,
48                "metricDimensions": [],
49                "formulaV2Alias": "test_name1分钟平均值>0.00",
50                "metricTags": null
51            }
52        ]
53    ],
54    // 异常报警动作
55    "incidentActions": [
56        "816a2a13-a817-4e43-bb7a-9a7922c092a5"
57    ],
58     // 报警关闭报警动作
59    "resumeActions": [],
60     // 数据不足报警动作
61    "insufficientActions": [],
62     // 数据不足报警触发周期
63    "insufficientCycle": 0,
64     // 重复报警间隔
65    "repeatAlarmCycle": 0,
66     // 重复报警最大次数
67    "maxRepeatCount": 0,
68    "tag": ""
69}
70}
            报警指标列表接口
请求结构
Method:GET
URI: /csm/api/v1/userId/{userId}/application/{appName}/{taskName}/alarm/metrics
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
| appName | String | 应用名 | 是 | 
| taskName | String | 任务名 | 是 | 
Query参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| searchName | String | 指标名 | 否 | 
请求示例
1GET /csm/api/v1/userId/453bf9588c9e488f9ba2c98412******/application/test_ymd_app_0918/46e78b2831394f738429f88265******/alarm/metrics?searchName=test_namerics
2Host: bcm.bj.baidubce.com:80
            请求响应
1[
2    {
3        "id": 706,
4        "taskId": 3865,                 //监控任务id
5        "metricName": "log.test_name",  //监控项名称
6        "metricAlias": "test_name",     //监控项别名
7        "metricUnit": "",               //监控项单位
8        "valueFieldType": 1,            //取值字段:0,日志行数;1. 单字段;2.多字段
9        "valueFieldName": "",           //日志中取值的字段名
10        "valueMatchRule": null,         //筛选条件
11        // 汇聚的数据维度
12        "aggrTags": [
13            {
14                "range": "App",
15                "tags": ""
16            }
17        ],
18        "saveInstanceData": 1.          //是否存储单实例数据
19    }
20]
            日志提取接口
请求结构
Method:POST
URI: /csm/api/v1/userId/{userId}/application/logextract
URL参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| userId | String | 用户id | 是 | 
RequestBody参数
| 名称 | 类型 | 说明 | 是否必须 | 
|---|---|---|---|
| extractRule | String | 提取规则 | 是 | 
| logExample | String | 日志样例,注意多行日志需用\n换行 | 是 | 
请求示例
1POST /csm/api/v1/userId/453bf9588c9e488f9ba2c98412******/application/logextract
2
3Host: bcm.bj.baidubce.com:80
4 
5{
6    "extractRule": "800] \"(?<method>(GET|POST|PUT|DELETE)) .*/v1/dashboard/metric/(?<widget>(cycle|trend|report|billboard|gaugechart)) HTTP/1.1\".* (?<resTime>[0-9]+)ms",
7    "logExample": "10.157.16.207 - - [09/Apr/2020:20:45:33 +0800] \"POST /v1/dashboard/metric/gaugechart HTTP/1.1\" 200 117 109ms\n10.157.16.207 - - [09/Apr/2020:20:45:33 +0800] \"GET /v1/dashboard/metric/report HTTP/1.1\" 200 117 19ms"
8}
            请求响应
1[
2    {
3        "extractFieldName": "resTime",
4        "extractFieldValue": "19、109",
5        "metricEnable": 1
6    },
7    {
8        "extractFieldName": "widget",
9        "extractFieldValue": "gaugechart、report",
10        "metricEnable": 0
11    },
12    {
13        "extractFieldName": "method",
14        "extractFieldValue": "POST、GET",
15        "metricEnable": 0
16    }
17]
            