仪表盘接口
仪表盘接口
创建仪表盘
请求结构体
Method:POST
Url:/csm/api/v1/dashboard/products/{product}/dashboards
请求参数:
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
product | String | 用户id | 是 | URL参数 |
paramMap | DataConfiguration | 是 | RequestBody参数 |
请求示例:
1POST /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards
2{
3 "userId": "453bf9588c9e488f9ba2c984129090dc",
4 "title": "LupinsDashboard",
5 "configure": {
6 "tabs": [
7 {
8 "name": "",
9 "widgets": [
10
11 ],
12 "namespace": [
13
14 ],
15 "dimensions": [
16
17 ],
18 "metric": [
19
20 ]
21 }
22 ]
23 },
24 "type": "common"
25}
响应示例:
1{
2 "success": true,
3 "data": {
4 "name": "_54387"
5 },
6 "message": "ok",
7 "traceInfo": null,
8 "code": 200
9}
删除仪表盘
请求结构体:
Method:Delete
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}
请求参数:
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
product | String | 用户id | 是 | URL参数 |
dashboardName | String | 仪表盘id(非显示名称) | 是 | URL参数 |
请求示例:
1Delete /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards/_50971
响应示例:
1{
2 "success": true,
3 "data": null,
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
修改仪表盘
请求结构体:
Method:Put
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}
请求参数:
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
product | String | 用户id | 是 | URL参数 |
dashboardName | String | 仪表盘id(非显示名称) | 是 | URL参数 |
请求示例:
1Put /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards/_51008
2{
3 "title": "LupinsDashboardxx",
4 "dashboardName": "_51008",
5 "configure": {
6 "tabs": [
7 {
8 "dimensions": [
9
10 ],
11 "metric": [
12
13 ],
14 "name": "",
15 "namespace": [
16
17 ],
18 "widgets": [
19
20 ]
21 }
22 ]
23 },
24 "userId": "453bf9588c9e488f9ba2c984129090dc"
25}
响应示例:
1{
2 "success": true,
3 "data": "_54440",
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
查询仪表盘:
请求结构体:
Method:Get
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}
请求参数:
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
product | String | 用户id | 是 | URL参数 |
dashboardName | String | 仪表盘id(非显示名称) | 是 | URL参数 |
请求示例:
1Get /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards/_51008
响应示例:
1{
2 "success": true,
3 "data": {
4 "product": "453bf9588c9e488f9ba2c984129090dc",
5 "lastUpdate": "2022-03-15T11:57:26.000+0000",
6 "name": "_51008",
7 "updator": "root:dasdsad",
8 "pid": 0,
9 "configure": "{\"tabs\":[{\"dimensions\":[],\"metric\":[],\"name\":\"\",\"namespace\":[],\"widgets\":[[{\"name\":\"_51008_51009\"}]]}]}",
10 "title": "LupinsDashboardxx",
11 "type": "common"
12 },
13 "message": "ok",
14 "traceInfo": null,
15 "code": 200
16}
复制仪表盘
请求结构体:
Method:POST
Url: /csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/duplicate
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
product | String | 用户id | 是 | URL参数 |
dashboardName | String | 仪表盘id | 是 | URL参数 |
请求示例:
1Post /csm/api/v1/dashboard/products/453************************/dashboards/_51038/duplicate
2{}
响应示例:
1{
2 "success": true,
3 "data": "_54581",
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
DataConfiguration字段说明:
名称 | 类型 | 描述 | 是否必须 |
---|---|---|---|
userId | String | 用户id | 是 |
title | String | 仪表盘名称 | 是 |
configure | String | 仪表盘配置字段 | 是 |
type | String | 仪表盘类型, | 是 |
仪表盘的configure字段说明:
名称 | 解释说明 | 是否必须 |
---|---|---|
dimensions | 维度信息 | 是,但为空 |
metric | 指标信息 | 是,但为空 |
name | 组件id | 是,但为空 |
widgets | 组件集合 | 是,可为空 |
组件接口:
创建组件
请求结构体:
Method:Post
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/widgets
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
product | String | 用户id | 是 | URL参数 |
dashboardName | String | 仪表盘名字 | 是 | URL参数 |
请求示例:
1Post /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards/_51008/widgets
2{}
响应示例:
1{
2 "success": true,
3 "data": "_54440_54598",
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
删除组件:
请求结构体:
Method: Delete
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/widgets/{widgetName}
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
product | String | 用户id | 是 | URL参数 |
dashboardName | String | 仪表盘id | 是 | URL参数 |
widgetName | String | 组件id | 是 | URL参数 |
请求示例:
1Delete /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards/_51008/widgets/_51008_51010
响应示例:
1{
2 "success": true,
3 "data": null
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
修改组件:
请求结构体:
Method:Put
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/widgets/{widgetName}
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
product | String | 用户id | 是 | URL参数 |
dashboardName | String | 仪表盘id | 是 | URL参数 |
widgetName | String | 组件id | 是 | URL参数 |
bodyParams | Map<String, Object> | 请求体 | 是 | requestBody |
请求示例:
1Put /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards/_51008/widgets/_51008_51011
2
3requestbody:
4{
5 "title": "testApi",
6 "type": "trend",
7 "configure": {
8 "data": [
9 {
10 "metric": [
11 {
12 "name": "vCPUUsagePercent",
13 "unit": "%",
14 "alias": "CPU使用率",
15 "contrast": [
16
17 ],
18 "timeContrast": [
19
20 ],
21 "statistics": "avg"
22 }
23 ],
24 "monitorObject": [
25 {
26 "instanceName": "instance-mmd6nizg",
27 "id": "i-WAMdDHZ0"
28 }
29 ],
30 "scope": "BCE_BCC",
31 "subService": "linux",
32 "region": "bj",
33 "scopeValue": {
34 "name": "BCC",
35 "value": "BCE_BCC",
36 "hasChildren": false
37 },
38 "resourceType": "Instance",
39 "namespace": [
40 {
41 "namespaceType": "instance",
42 "transfer": "",
43 "filter": "",
44 "name": "i-WAMdDHZ0___bj.BCE_BCC.453bf9588c9e488f9ba2c984129090dc",
45 "instanceName": "instance-mmd6nizg",
46 "region": "bj",
47 "bcmService": "BCE_BCC",
48 "subService": [
49 {
50 "name": "serviceType",
51 "value": "linux"
52 }
53 ]
54 }
55 ],
56 "product": "453bf9588c9e488f9ba2c984129090dc"
57 }
58 ],
59 "style": {
60 "displayType": "line",
61 "nullPointMode": "zero",
62 "threshold": 0,
63 "decimals": 2,
64 "isEdit": true,
65 "unit": "%"
66 },
67 "title": "testApi",
68 "timeRange": {
69 "timeType": "dashboard",
70 "unit": "minutes",
71 "number": 1,
72 "relative": "today()"
73 },
74 "time": ""
75 },
76 "dashboardName": "_51008",
77 "widgetName": "_51008_51011",
78 "lastUpdate": "2022-03-15T12:36:12Z",
79 "userId": "453bf9588c9e488f9ba2c984129090dc"
80}
响应示例:
1{
2 "success": true,
3 "data": _51008_51011
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
查找组件:
请求结构体:
Method:Get
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/widgets/{widgetName}
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
product | String | 用户id | 是 | URL参数 |
dashboardName | String | 仪表盘id | 是 | URL参数 |
widgetName | String | 组件id | 是 | URL参数 |
请求示例:
1Get /csm/api/v1/dashboard/products/a0d04d7c202140cb80155ff7b6752ce4/dashboards/_50367/widgets/_50367_50368
响应示例:
1{
2 "success": true,
3 "data": {
4 "id": 54434,
5 "pid": 54433,
6 "product": "453bf9588c9e488f9ba2c984129090dc",
7 "name": "_54433_54434",
8 "title": "bcc-test",
9 "configure": "{\"data\":[{\"metric\":[{\"alias\":\"CPU使用率\",\"contrast\":[],\"name\":\"CPUUsagePercent\",\"statistics\":\"avg\",\"timeContrast\":[],\"unit\":\"%\"}],\"monitorObject\":[{\"id\":\"i-SyWlclXE\",\"instanceName\":\"instance-4q17zwof \"}],\"monitorType\":\"scope\",\"namespace\":[{\"bcmService\":\"BCE_BCC\",\"filter\":\"\",\"instanceName\":\"instance-4q17zwof \",\"name\":\"i-SyWlclXE___bj.BCE_BCC.453bf9588c9e488f9ba2c984129090dc\",\"namespaceType\":\"instance\",\"region\":\"bj\",\"subService\":[{\"name\":\"serviceType\",\"value\":\"linux\"}],\"transfer\":\"\"}],\"product\":\"453bf9588c9e488f9ba2c984129090dc\",\"region\":\"bj\",\"resourceType\":\"Instance\",\"scope\":\"BCE_BCC\",\"scopeValue\":{\"hasChildren\":false,\"name\":\"BCC\",\"value\":\"BCE_BCC\"},\"subService\":\"linux\"}],\"monitorType\":\"scope\",\"style\":{\"decimals\":2,\"displayType\":\"line\",\"isEdit\":true,\"nullPointMode\":\"zero\",\"threshold\":0,\"unit\":\"%\"},\"time\":\"\",\"timeRange\":{\"number\":1,\"relative\":\"today()\",\"timeType\":\"dashboard\",\"unit\":\"minutes\"},\"title\":\"bcc-test\"}",
10 "lastUpdate": "2023-12-06T08:36:35.000+0000",
11 "updator": "root:dasdsad",
12 "type": "trend",
13 "overviewOrder": 0,
14 "isFavorite": false
15 },
16 "message": "ok",
17 "traceInfo": null,
18 "code": 200
19}
复制组件:
请求结构体:
Method:Post
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/widgets/{widgetName}/duplicate
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
Product | String | 用户id | 是 | URL参数 |
dashboardName | String | 仪表盘id | 是 | URL参数 |
widgetName | String | 组件id | 是 | URL参数 |
请求示例:
1Post /csm/api/v1/dashboard/products/a0d04d7c202140cb80155ff7b6752ce4/dashboards/_50367/widgets/_50367_50368/duplicate
2{}
响应示例:
1{
2 "success": true,
3 "data": _51008_51011
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
bodyParams中各个字段的含义:
名称 | 类型 | 描述 |
---|---|---|
titile | String | 图表名称 |
type | String | 图表类型 |
configure | Object | 配置信息 |
dashboardName | String | 仪表盘id |
widgetName | String | 组件id |
userId | String | 用户id |
Configure的特殊说明:
名称 | 类型 | 描述 |
---|---|---|
metric | Object | 存储指标信息 |
monitorObject | List | 存储实例的实例名称和短id |
monitorType | String | 监控对象类型 |
scope | String | 云产品名称 |
subService | String | 操作系统名称 |
region | String | 地域 |
scopeValue | Object | 存储云产品名称以及是否是具有子类型的云产品 |
resourceType | String | 资源类型 |
namespace | Object | 实例信息 |
product | String | 用户id |
style | String | 曲线风格 |
title | String | 图表名称 |
timeRange | Object | 存储时间信息 |
metric解释说明:
名称 | 类型 | 说明 |
---|---|---|
name | String | 指标英文名 |
unit | String | 单位名称 |
alias | String | 指标中文名 |
contrast | List | |
timeContrast | List | |
statistics | String | 数据的统计方式 |
scopeValue解释说明:
名称 | 类型 | 说明 |
---|---|---|
name | String | 云产品名称 |
value | String | 云产品名称 |
hasChildren | String | 是否具有子类型 |
namespace解释说明:
名称 | 类型 | 说明 |
---|---|---|
namespaceType | String | 实例类型 |
transfer | String | 可为空 |
filter | String | 可为空 |
name | String | 由短id,region,scope和用户id拼接 |
instanceName | String | 实例名称 |
region | String | 地域 |
bcmService | String | 云产品名称 |
subService | List | 操作系统类型 |
monitorObject解释说明
名称 | 类型 | 说明 |
---|---|---|
instanceName | String | 监控对象名称 |
id | String | 监控对象ID |
查询数据接口:
查询表格数据接口:
查询指标单维度数据:
请求结构体:
Method: Post
Url: /csm/api/v1/dashboard/metric/report
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
paramMap | Map<String, List |
requestBody | 是 | 请求体 |
请求示例:
1Post /csm/api/v1/dashboard/metric/report
2{
3 "data": [
4 {
5 "metric": [
6 {
7 "alias": "CPU空闲率",
8 "cycle": 30,
9 "displayName": "cpu",
10 "name": "CpuIdlePercent",
11 "statistics": "avg",
12 "unit": "%"
13 }
14 ],
15 "monitorObject": [
16 {
17 "id": "i-isvkUW76",
18 "instanceName": "instance-xcy9049y "
19 }
20 ],
21 "monitorType": "scope",
22 "namespace": [
23 {
24 "bcmService": "BCE_BCC",
25 "instanceName": "instance-xcy9049y ",
26 "name": "i-isvkUW76___bj.BCE_BCC.a0d04d7c202140cb80155ff7b6752ce4",
27 "namespaceType": "app",
28 "region": "bj",
29 "subService": [
30 {
31 "name": "serviceType",
32 "value": "linux"
33 }
34 ],
35 "transfer": ""
36 }
37 ],
38 "product": "a0d04d7c202140cb80155ff7b6752ce4",
39 "region": "bj",
40 "scope": "BCE_BCC",
41 "scopeValue": {
42 "name": "BCC",
43 "value": "BCE_BCC"
44 },
45 "subService": "linux"
46 }
47 ],
48 "time": "2023-12-08 09:10:59|2023-12-08 09:11:59"
49}
响应示例:
1{
2 "success": true,
3 "data": [
4 {
5 "name": "namespace",
6 "alias": "instance-xcy9049y ",
7 "value": "i-isvkUW76___bj.BCE_BCC.a0d04d7c202140cb80155ff7b6752ce4",
8 "metrics": {
9 "cpu": 99.600074827175
10 },
11 "children": []
12 }
13 ],
14 "message": "ok",
15 "traceInfo": null,
16 "code": 200
17}
查询指标多维度数据:
请求结构体:
Method: Post
Url: /csm/api/v1/dashboard/metric/report
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
paramMap | Map<String, List |
requestBody | 是 | 请求体 |
请求示例:
1Post /csm/api/v1/dashboard/metric/report
2{
3 "data": [
4 {
5 "region": "bj",
6 "subService": "linux",
7 "namespace": [
8 {
9 "namespaceType": "app",
10 "transfer": "",
11 "filter": "",
12 "name": "41b372b8-3acc-423c-a6b0-af5c69fd1c41___bj.BCE_BEC.a0d04d7c202140cb80155ff7b6752ce4",
13 "instanceName": "prod.nmp.nn.yd1 ",
14 "region": "bj",
15 "bcmService": "BCE_BEC",
16 "subService": [
17 {
18 "name": "serviceType",
19 "value": "linux"
20 }
21 ]
22 }
23 ],
24 "product": "a0d04d7c202140cb80155ff7b6752ce4",
25 "monitorObject": [
26 {
27 "instanceName": "prod.nmp.nn.yd1",
28 "id": "41b372b8-3acc-423c-a6b0-af5c69fd1c41"
29 }
30 ],
31 "scope": "BCE_BEC",
32 "scopeValue": {
33 "name": "BEC",
34 "value": "BCE_BEC",
35 "hasChildren": false
36 },
37 "metric": [
38 {
39 "displayName": "",
40 "name": "vNicInBytes",
41 "alias": "网卡输入流量",
42 "unit": "Bytes",
43 "contrast": [
44
45 ],
46 "timeContrast": [
47
48 ],
49 "statistics": "avg",
50 "cycle": 60,
51 "dimensions": [
52 "eth1",
53 "eth0"
54 ],
55 "metricDimensions": [
56 {
57 "name": "nicName",
58 "values": [
59 "eth1",
60 "eth0"
61 ]
62 }
63 ]
64 }
65 ]
66 }
67 ],
68 "time": "2023-12-08 09:10:59|2023-12-08 09:11:59"
69}
响应示例:
1{
2 "success": true,
3 "data": [
4 {
5 "name": "namespace",
6 "alias": "prod.nmp.nn.yd1 ",
7 "value": "vm-qngdck2p-cn-nanning-cm-mqckb___bj.BCE_BEC.a0d04d7c202140cb80155ff7b6752ce4",
8 "metrics": {
9 "网卡输入流量/nicName:eth0": 280.3833333333,
10 "网卡输入流量/nicName:eth1": 48189.416666662495
11 },
12 "children": []
13 }
14 ],
15 "message": "ok",
16 "traceInfo": null,
17 "code": 200
18}
查询趋势图数据接口:
请求指标单单维度数据:
请求结构体:
Method: Post
Url: /csm/api/v1/dashboard/metric/trend
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
paramMap | Map<String, List |
requestBody | 是 | 请求体 |
请求示例:
1Post /csm/api/v1/dashboard/metric/trend
2{
3 "data": [
4 {
5 "metric": [
6 {
7 "alias": "CPU空闲率",
8 "cycle": 30,
9 "displayName": "cpu",
10 "name": "CpuIdlePercent",
11 "statistics": "avg",
12 "unit": "%"
13 }
14 ],
15 "monitorObject": [
16 {
17 "id": "i-isvkUW76",
18 "instanceName": "instance-xcy9049y "
19 }
20 ],
21 "monitorType": "scope",
22 "namespace": [
23 {
24 "bcmService": "BCE_BCC",
25 "instanceName": "instance-xcy9049y ",
26 "name": "i-isvkUW76___bj.BCE_BCC.a0d04d7c202140cb80155ff7b6752ce4",
27 "namespaceType": "app",
28 "region": "bj",
29 "subService": [
30 {
31 "name": "serviceType",
32 "value": "linux"
33 }
34 ],
35 "transfer": ""
36 }
37 ],
38 "product": "a0d04d7c202140cb80155ff7b6752ce4",
39 "region": "bj",
40 "scope": "BCE_BCC",
41 "scopeValue": {
42 "name": "BCC",
43 "value": "BCE_BCC"
44 },
45 "subService": "linux"
46 }
47 ],
48 "time": "2023-12-08 09:10:59|2023-12-08 09:11:59"
49}
响应示例:
1{
2 "success": true,
3 "data": [
4 {
5 "product": null,
6 "data": [
7 [
8 1701997859000,
9 99.53344561470001
10 ],
11 [
12 1701997919000,
13 99.66670403965
14 ]
15 ],
16 "legend": null,
17 "numerator": 1,
18 "denominator": 1,
19 "metricUnit": "%",
20 "metricType": "",
21 "metricUnitTransformation": "",
22 "scope": "ignore",
23 "metric": "cpu",
24 "name": "instance-xcy9049y ",
25 "transPolicy": "",
26 "time": null,
27 "dimensions": "",
28 "statistics": null,
29 "namespace": "i-isvkUW76___bj.BCE_BCC.a0d04d7c202140cb80155ff7b6752ce4",
30 "hostName": null,
31 "intranetIp": null
32 }
33 ],
34 "message": "ok",
35 "traceInfo": null,
36 "code": 200
37}
查询指标多维度数据:
请求结构体:
Method: Post
Url: /csm/api/v1/dashboard/metric/trend
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
paramMap | Map<String, List |
requestBody | 是 | 请求体 |
请求示例:
1{
2 "data": [
3 {
4 "region": "bj",
5 "subService": "linux",
6 "namespace": [
7 {
8 "namespaceType": "app",
9 "transfer": "",
10 "filter": "",
11 "name": "41b372b8-3acc-423c-a6b0-af5c69fd1c41___bj.BCE_BEC.a0d04d7c202140cb80155ff7b6752ce4",
12 "instanceName": "prod.nmp.nn.yd1 ",
13 "region": "bj",
14 "bcmService": "BCE_BEC",
15 "subService": [
16 {
17 "name": "serviceType",
18 "value": "linux"
19 }
20 ]
21 }
22 ],
23 "product": "a0d04d7c202140cb80155ff7b6752ce4",
24 "monitorObject": [
25 {
26 "instanceName": "prod.nmp.nn.yd1",
27 "id": "41b372b8-3acc-423c-a6b0-af5c69fd1c41"
28 }
29 ],
30 "scope": "BCE_BEC",
31 "scopeValue": {
32 "name": "BEC",
33 "value": "BCE_BEC",
34 "hasChildren": false
35 },
36 "metric": [
37 {
38 "displayName": "",
39 "name": "vNicInBytes",
40 "alias": "网卡输入流量",
41 "unit": "Bytes",
42 "contrast": [
43
44 ],
45 "timeContrast": [
46
47 ],
48 "statistics": "avg",
49 "cycle": 60,
50 "dimensions": [
51 "eth1",
52 "eth0"
53 ],
54 "metricDimensions": [
55 {
56 "name": "nicName",
57 "values": [
58 "eth1",
59 "eth0"
60 ]
61 }
62 ]
63 }
64 ]
65 }
66 ],
67 "time": "2023-12-08 09:10:59|2023-12-08 09:11:59"
68}
响应示例:
1{
2 "success": true,
3 "data": [
4 {
5 "product": null,
6 "data": [
7 [
8 1701997859000,
9 281.8333333333
10 ],
11 [
12 1701997919000,
13 278.93333333329997
14 ]
15 ],
16 "legend": null,
17 "numerator": 1,
18 "denominator": 1,
19 "metricUnit": "Bytes",
20 "metricType": "",
21 "metricUnitTransformation": "",
22 "scope": "ignore",
23 "metric": "网卡输入流量",
24 "name": "prod.nmp.nn.yd1 ",
25 "transPolicy": "",
26 "time": null,
27 "dimensions": "nicName=eth0",
28 "statistics": null,
29 "namespace": "vm-qngdck2p-cn-nanning-cm-mqckb___bj.BCE_BEC.a0d04d7c202140cb80155ff7b6752ce4",
30 "hostName": null,
31 "intranetIp": null
32 },
33 {
34 "product": null,
35 "data": [
36 [
37 1701997859000,
38 48307.549999995
39 ],
40 [
41 1701997919000,
42 48071.28333333
43 ]
44 ],
45 "legend": null,
46 "numerator": 1,
47 "denominator": 1,
48 "metricUnit": "Bytes",
49 "metricType": "",
50 "metricUnitTransformation": "",
51 "scope": "ignore",
52 "metric": "网卡输入流量",
53 "name": "prod.nmp.nn.yd1 ",
54 "transPolicy": "",
55 "time": null,
56 "dimensions": "nicName=eth1",
57 "statistics": null,
58 "namespace": "vm-qngdck2p-cn-nanning-cm-mqckb___bj.BCE_BEC.a0d04d7c202140cb80155ff7b6752ce4",
59 "hostName": null,
60 "intranetIp": null
61 }
62 ],
63 "message": "ok",
64 "traceInfo": null,
65 "code": 200
66}
查询仪表图数据接口:
查询指标单维度数据
请求结构体:
Method: Post
Url: /csm/api/v1/dashboard/metric/gaugechart
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
paramMap | Map<String, List |
requestBody | 是 | 请求体 |
请求示例:
1Post /csm/api/v1/dashboard/metric/gaugechart
2{
3 "data": [
4 {
5 "metric": [
6 {
7 "alias": "CPU空闲率",
8 "cycle": 30,
9 "displayName": "cpu",
10 "name": "CpuIdlePercent",
11 "statistics": "avg",
12 "unit": "%"
13 }
14 ],
15 "monitorObject": [
16 {
17 "id": "i-isvkUW76",
18 "instanceName": "instance-xcy9049y "
19 }
20 ],
21 "monitorType": "scope",
22 "namespace": [
23 {
24 "bcmService": "BCE_BCC",
25 "instanceName": "instance-xcy9049y ",
26 "name": "i-isvkUW76___bj.BCE_BCC.a0d04d7c202140cb80155ff7b6752ce4",
27 "namespaceType": "app",
28 "region": "bj",
29 "subService": [
30 {
31 "name": "serviceType",
32 "value": "linux"
33 }
34 ],
35 "transfer": ""
36 }
37 ],
38 "product": "a0d04d7c202140cb80155ff7b6752ce4",
39 "region": "bj",
40 "scope": "BCE_BCC",
41 "scopeValue": {
42 "name": "BCC",
43 "value": "BCE_BCC"
44 },
45 "subService": "linux"
46 }
47 ],
48 "time": "2023-12-08 09:10:59|2023-12-08 09:11:59"
49}
响应示例:
1{
2 "success": true,
3 "data": [
4 {
5 "name": "CPU空闲率",
6 "data": [
7 [
8 0,
9 99.600074827175
10 ]
11 ],
12 "displayName": "CPU空闲率",
13 "instanceName": "instance-xcy9049y ",
14 "unit": "%",
15 "metricDimension": null,
16 "decimals": null
17 }
18 ],
19 "message": "ok",
20 "traceInfo": null,
21 "code": 200
22}
查询指标多维度数据
请求结构体
Method: Post
Url: /csm/api/v1/dashboard/metric/gaugechart
请求参数
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
paramMap | Map<String, List |
requestBody | 是 | 请求体 |
请求示例
1Post /csm/api/v1/dashboard/metric/gaugechart
2{
3 "data": [
4 {
5 "region": "bj",
6 "subService": "linux",
7 "namespace": [
8 {
9 "namespaceType": "app",
10 "transfer": "",
11 "filter": "",
12 "name": "41b372b8-3acc-423c-a6b0-af5c69fd1c41___bj.BCE_BEC.a0d04d7c202140cb80155ff7b6752ce4",
13 "instanceName": "prod.nmp.nn.yd1 ",
14 "region": "bj",
15 "bcmService": "BCE_BEC",
16 "subService": [
17 {
18 "name": "serviceType",
19 "value": "linux"
20 }
21 ]
22 }
23 ],
24 "product": "a0d04d7c202140cb80155ff7b6752ce4",
25 "monitorObject": [
26 {
27 "instanceName": "prod.nmp.nn.yd1",
28 "id": "41b372b8-3acc-423c-a6b0-af5c69fd1c41"
29 }
30 ],
31 "scope": "BCE_BEC",
32 "scopeValue": {
33 "name": "BEC",
34 "value": "BCE_BEC",
35 "hasChildren": false
36 },
37 "metric": [
38 {
39 "displayName": "",
40 "name": "vNicInBytes",
41 "alias": "网卡输入流量",
42 "unit": "Bytes",
43 "contrast": [
44
45 ],
46 "timeContrast": [
47
48 ],
49 "statistics": "avg",
50 "cycle": 60,
51 "dimensions": [
52 "eth1",
53 "eth0"
54 ],
55 "metricDimensions": [
56 {
57 "name": "nicName",
58 "values": [
59 "eth1",
60 "eth0"
61 ]
62 }
63 ]
64 }
65 ]
66 }
67 ],
68 "time": "2023-12-08 09:10:59|2023-12-08 09:11:59"
69}
响应示例
1{
2 "success": true,
3 "data": [
4 {
5 "name": "网卡输入流量",
6 "data": [
7 [
8 0,
9 280.3833333333
10 ]
11 ],
12 "displayName": "网卡输入流量",
13 "instanceName": "prod.nmp.nn.yd1 ",
14 "unit": "Bytes",
15 "metricDimension": "nicName:eth0",
16 "decimals": null
17 },
18 {
19 "name": "网卡输入流量",
20 "data": [
21 [
22 0,
23 48189.416666662495
24 ]
25 ],
26 "displayName": "网卡输入流量",
27 "instanceName": "prod.nmp.nn.yd1 ",
28 "unit": "Bytes",
29 "metricDimension": "nicName:eth1",
30 "decimals": null
31 }
32 ],
33 "message": "ok",
34 "traceInfo": null,
35 "code": 200
36}
查询数据面板数据接口:
查询指标单维度数据
请求结构体:
Method: Post
Url: /csm/api/v1/dashboard/metric/billboard
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
paramMap | Map<String, List |
requestBody | 是 | 请求体 |
请求示例:
1Post /csm/api/v1/dashboard/metric/billboard
2{
3 "data": [
4 {
5 "metric": [
6 {
7 "alias": "CPU空闲率",
8 "cycle": 30,
9 "displayName": "cpu",
10 "name": "CpuIdlePercent",
11 "statistics": "avg",
12 "unit": "%"
13 }
14 ],
15 "monitorObject": [
16 {
17 "id": "i-isvkUW76",
18 "instanceName": "instance-xcy9049y "
19 }
20 ],
21 "monitorType": "scope",
22 "namespace": [
23 {
24 "bcmService": "BCE_BCC",
25 "instanceName": "instance-xcy9049y ",
26 "name": "i-isvkUW76___bj.BCE_BCC.a0d04d7c202140cb80155ff7b6752ce4",
27 "namespaceType": "app",
28 "region": "bj",
29 "subService": [
30 {
31 "name": "serviceType",
32 "value": "linux"
33 }
34 ],
35 "transfer": ""
36 }
37 ],
38 "product": "a0d04d7c202140cb80155ff7b6752ce4",
39 "region": "bj",
40 "scope": "BCE_BCC",
41 "scopeValue": {
42 "name": "BCC",
43 "value": "BCE_BCC"
44 },
45 "subService": "linux"
46 }
47 ],
48 "time": "2023-12-08 09:10:59|2023-12-08 09:11:59"
49}
响应示例:
1{
2 "success": true,
3 "data": [
4 {
5 "name": "CPU空闲率",
6 "data": [
7 [
8 0,
9 99.600074827175
10 ]
11 ],
12 "displayName": "CPU空闲率",
13 "instanceName": "instance-xcy9049y ",
14 "unit": "%",
15 "metricDimension": null,
16 "decimals": null
17 }
18 ],
19 "message": "ok",
20 "traceInfo": null,
21 "code": 200
22}
查询指标多维度数据
请求结构体:
Method: Post
Url: /csm/api/v1/dashboard/metric/billboard
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
paramMap | Map<String, List |
requestBody | 是 | 请求体 |
请求示例:
1Post /csm/api/v1/dashboard/metric/billboard
2{
3 "data": [
4 {
5 "region": "bj",
6 "subService": "linux",
7 "namespace": [
8 {
9 "namespaceType": "app",
10 "transfer": "",
11 "filter": "",
12 "name": "41b372b8-3acc-423c-a6b0-af5c69fd1c41___bj.BCE_BEC.a0d04d7c202140cb80155ff7b6752ce4",
13 "instanceName": "prod.nmp.nn.yd1 ",
14 "region": "bj",
15 "bcmService": "BCE_BEC",
16 "subService": [
17 {
18 "name": "serviceType",
19 "value": "linux"
20 }
21 ]
22 }
23 ],
24 "product": "a0d04d7c202140cb80155ff7b6752ce4",
25 "monitorObject": [
26 {
27 "instanceName": "prod.nmp.nn.yd1",
28 "id": "41b372b8-3acc-423c-a6b0-af5c69fd1c41"
29 }
30 ],
31 "scope": "BCE_BEC",
32 "scopeValue": {
33 "name": "BEC",
34 "value": "BCE_BEC",
35 "hasChildren": false
36 },
37 "metric": [
38 {
39 "displayName": "",
40 "name": "vNicInBytes",
41 "alias": "网卡输入流量",
42 "unit": "Bytes",
43 "contrast": [
44
45 ],
46 "timeContrast": [
47
48 ],
49 "statistics": "avg",
50 "cycle": 60,
51 "dimensions": [
52 "eth1",
53 "eth0"
54 ],
55 "metricDimensions": [
56 {
57 "name": "nicName",
58 "values": [
59 "eth1",
60 "eth0"
61 ]
62 }
63 ]
64 }
65 ]
66 }
67 ],
68 "time": "2023-12-08 09:10:59|2023-12-08 09:11:59"
69}
响应示例:
1{
2 "success": true,
3 "data": [
4 {
5 "name": "网卡输入流量",
6 "data": [
7 [
8 0,
9 280.3833333333
10 ]
11 ],
12 "displayName": "网卡输入流量",
13 "instanceName": "prod.nmp.nn.yd1 ",
14 "unit": "Bytes",
15 "metricDimension": "nicName:eth0",
16 "decimals": null
17 },
18 {
19 "name": "网卡输入流量",
20 "data": [
21 [
22 0,
23 48189.416666662495
24 ]
25 ],
26 "displayName": "网卡输入流量",
27 "instanceName": "prod.nmp.nn.yd1 ",
28 "unit": "Bytes",
29 "metricDimension": "nicName:eth1",
30 "decimals": null
31 }
32 ],
33 "message": "ok",
34 "traceInfo": null,
35 "code": 200
36}
查询图表的高级能力数据
高级能力是指将某一个时间点的平均值 、最大值、 最小值、 和值进行显示; 支持图表的类型有 趋势图、仪表图和数据面板。
请求结构体
Method:Post
Url:/csm/api/v1/dashboard/metric/trend/senior
请求参数
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
paramMap | Map<String, List |
requestBody | 是 | 请求体 |
请求示例
1Post /csm/api/v1/dashboard/metric/trend/senior
2{
3 "data": [
4 {
5 "metric": [
6 {
7 "alias": "CPU空闲率",
8 "cycle": 30,
9 "displayName": "cpu",
10 "name": "CpuIdlePercent",
11 "statistics": "avg",
12 "unit": "%"
13 }
14 ],
15 "monitorObject": [
16 {
17 "id": "i-isvkUW76",
18 "instanceName": "instance-xcy9049y "
19 }
20 ],
21 "monitorType": "scope",
22 "namespace": [
23 {
24 "bcmService": "BCE_BCC",
25 "instanceName": "instance-xcy9049y ",
26 "name": "i-isvkUW76___bj.BCE_BCC.a0d04d7c202140cb80155ff7b6752ce4",
27 "namespaceType": "app",
28 "region": "bj",
29 "subService": [
30 {
31 "name": "serviceType",
32 "value": "linux"
33 }
34 ],
35 "transfer": ""
36 }
37 ],
38 "product": "a0d04d7c202140cb80155ff7b6752ce4",
39 "region": "bj",
40 "scope": "BCE_BCC",
41 "scopeValue": {
42 "name": "BCC",
43 "value": "BCE_BCC"
44 },
45 "subService": "linux"
46 }
47 ],
48 "time": "2023-12-08 09:10:59|2023-12-08 09:11:59"
49}
响应示例
1{
2 "success": true,
3 "data": [
4 {
5 "job": {
6 "product": "a0***************************ce4",
7 "namespace": "i-isvkUW76___bj.BCE_BCC.a0***************************ce4",
8 "tags": "",
9 "alias": "",
10 "contrast": "",
11 "metricName": "thirdparty.bcm.CpuIdlePercent",
12 "startTime": 1701997859,
13 "endTime": 1701997919,
14 "period": 300,
15 "originalPeriod": 60,
16 "flatten": false,
17 "statistics": "avg",
18 "offset": 0,
19 "bcmSource": false,
20 "displayName": "cpu",
21 "instanceName": "instance-xcy9049y ",
22 "unit": "%",
23 "decimals": null,
24 "instanceId": null,
25 "intranetIp": null,
26 "items": [
27 {
28 "timestamp": 1701997859,
29 "statisticsValue": {
30 "cnt": 10,
31 "sum": 996.5503990165,
32 "min": 99.4168414293,
33 "max": 99.7165998665,
34 "avg": 99.65503990165
35 }
36 }
37 ],
38 "tagsForTsdb": []
39 },
40 "numeric": {
41 "cnt": 10,
42 "sum": 996.5503990165,
43 "min": 99.4168414293,
44 "max": 99.7165998665,
45 "avg": 99.65503990165
46 },
47 "items": [
48 {
49 "timestamp": 1701997859,
50 "statisticsValue": {
51 "cnt": 10,
52 "sum": 996.5503990165,
53 "min": 99.4168414293,
54 "max": 99.7165998665,
55 "avg": 99.65503990165
56 }
57 }
58 ]
59 }
60 ],
61 "message": "ok",
62 "traceInfo": null,
63 "code": 200
64}
各个图表的区别
组件 | 监控对象-实例 | 监控项 | 其他限制 |
---|---|---|---|
仪表图 | 单选 | 单选 | 只能选择一组数据 |
表格 | 多选 | 单选 | 监控对象50项目,监控项20项;但必须是同一云产品且监控项单位需一致 |
趋势图 | 多选 | 单选 | 支持选择50组数据;监控项单位需保持一致 |
面板 | 单选 | 单选 | 最多选择20组数据;但监控项单位需一致 |
请求体字段的说明:
Configure字段解释说明:
名称 | 类型 | 说明 |
---|---|---|
meric | List |
指标信息 |
monitorObject | List |
实例信息 |
namespace | List |
实例信息 |
product | String | 用户id |
region | String | 地域 |
resourceType | String | 实例类型 |
scopeValue | List |
云产品信息 |
subService | String | 操作系统类型 |
time | String | 时间范围 |
MetricConfiguration解释说明:
名称 | 类型 | 说明 |
---|---|---|
name | String | 指标英文名 |
unit | String | 单位名称 |
alias | String | 指标中文名 |
contrast | List |
可为空 |
timeContrast | List |
可为空 |
statistics | String | 数据的统计方式 |
dimensions | List |
维度信息 |
metricDimensions | List |
维度名称具体维度 |
namespace解释说明:
名称 | 类型 | 说明 |
---|---|---|
namespaceType | String | 实例类型 |
transfer | String | 可为空 |
filter | String | 可为空 |
name | String | 由短id,region,scope和用户id拼接 |
instanceName | String | 实例名称 |
region | String | 地域 |
bcmService | String | 云产品名称 |
subService | List |
云服务类型和操作系统类型 |
monitorObject解释说明:
名称 | 类型 | 描述 |
---|---|---|
id | String | 实例id |
instanceName | String | 实例名称 |
scopeValue解释说明:
名称 | 类型 | 说明 |
---|---|---|
name | String | 云产品名称 |
value | String | 云产品名称 |
hasChildren | String | 是否具有子类型 |
DimensionConfiguration解释说明:
名称 | 类型 | 说明 |
---|---|---|
name | String | 维度名称 |
values | List |
具体维度 |
查询维度接口:
请求结构体:
Method:Get
Url:/csm/api/v1/userId/{userId}/services/{service}/region/{region}/metric/dimensions
请求参数:
名称 | 类型 | 描述 | 是否必须 | 位置 |
---|---|---|---|---|
product | String | 用户id | 是 | Query参数 |
service | String | 云产品名称 | 是 | Query参数 |
region | String | 地域 | 是 | Query参数 |
showId | String | 实例长id | 是 | Query参数 |
dimensions | String | 维度名称 | 否 | Query参数 |
metricName | String | 指标名称 | 是 | Query参数 |
请求示例:
1GET-/csm/api/v1/userId/a0***************************ce4/services/BCE_BEC/region/bj/metric/dimensions?dimensions=nicName&metricName=vNicInBytes®ion=bj&service=BCE_BEC&showId=7744b3***********************11534ff&userId=a0***************************ce4&_=1702523903201
响应示例:
1{
2 "nicName": [
3 "eth1",
4 "eth0"
5 ]
6}