Dashboard API
Dashboard API
Create Dashboard
Request structure
Method:POST
Url:/csm/api/v1/dashboard/products/{product}/dashboards
Request parameters:
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| product | String | User ID | Yes | URL parameter |
| paramMap | DataConfiguration | Yes | RequestBody |
[DataConfiguration Field Description: ](#DataConfiguration Field Description:)
Request example:
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}
Response example:
1{
2 "success": true,
3 "data": {
4 "name": "_54387"
5 },
6 "message": "ok",
7 "traceInfo": null,
8 "code": 200
9}
Delete Dashboard
Request structure:
Method:Delete
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}
Request parameters:
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| product | String | User ID | Yes | URL parameter |
| dashboardName | String | Dashboard ID (not display name) | Yes | URL parameter |
Request example:
1Delete /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards/_50971
Response example:
1{
2 "success": true,
3 "data": null,
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
Modify Dashboard
Request structure:
Method:Put
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}
Request parameters:
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| product | String | User ID | Yes | URL parameter |
| dashboardName | String | Dashboard ID (not display name) | Yes | URL parameter |
Request example:
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}
[Request Body Field Description](#DataConfiguration Field Description:)
Response example:
1{
2 "success": true,
3 "data": "_54440",
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
Query Dashboard:
Request structure:
Method:Get
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}
Request parameters:
| Name | Types | Description | Required or not | Parameter location |
|---|---|---|---|---|
| product | String | User ID | Yes | URL parameter |
| dashboardName | String | Dashboard ID (not display name) | Yes | URL parameter |
Request example:
1Get /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards/_51008
Response example:
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}
Copy Dashboard
Request structure:
Method:POST
Url: /csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/duplicate
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| product | String | User ID | Yes | URL parameter |
| dashboardName | String | Dashboard ID | Yes | URL parameter |
Request example:
1Post /csm/api/v1/dashboard/products/453************************/dashboards/_51038/duplicate
2{}
Response example:
1{
2 "success": true,
3 "data": "_54581",
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
DataConfiguration Field Description:
| Name | Types | Description | Required or not |
|---|---|---|---|
| userId | String | User ID | Yes |
| title | String | Dashboard Name | Yes |
| configure | String | Dashboard Configuration Fields | Yes |
| type | String | Dashboard Type, | Yes |
Dashboard Configuration Field Description:
| Name | Explanation | Required or not |
|---|---|---|
| dimensions | Dimension Information | Yes, but empty |
| metric | Metric Information | Yes, but empty |
| name | Component ID | Yes, but empty |
| widgets | Component Collection | Yes, can be empty |
Component API:
Create Component
Request structure:
Method:Post
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/widgets
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| product | String | User ID | Yes | URL parameter |
| dashboardName | String | Dashboard Name | Yes | URL parameter |
Request example:
1Post /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards/_51008/widgets
2{}
Response example:
1{
2 "success": true,
3 "data": "_54440_54598",
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
Delete Component:
Request structure:
Method: Delete
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/widgets/{widgetName}
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| product | String | User ID | Yes | URL parameter |
| dashboardName | String | Dashboard ID | Yes | URL parameter |
| widgetName | String | Component ID | Yes | URL parameter |
Request example:
1Delete /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards/_51008/widgets/_51008_51010
Response example:
1{
2 "success": true,
3 "data": null
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
Modify Component:
Request structure:
Method:Put
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/widgets/{widgetName}
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| product | String | User ID | Yes | URL parameter |
| dashboardName | String | Dashboard ID | Yes | URL parameter |
| widgetName | String | Component ID | Yes | URL parameter |
| bodyParams | Map<String, Object> | Request body | Yes | requestBody |
Request example:
1Put /csm/api/v1/dashboard/products/453bf9588c9e488f9ba2c984129090dc/dashboards/_51008/widgets/_51008_51011
2requestbody:
3{
4 "title": "testApi",
5 "type": "trend",
6 "configure": {
7 "data": [
8 {
9 "metric": [
10 {
11 "name": "vCPUUsagePercent",
12 "unit": "%",
13 “alias”: “CPU Usage Rate”,
14 "contrast": [
15
16 ],
17 "timeContrast": [
18
19 ],
20 "statistics": "avg"
21 }
22 ],
23 "monitorObject": [
24 {
25 "instanceName": "instance-mmd6nizg",
26 "id": "i-WAMdDHZ0"
27 }
28 ],
29 "scope": "BCE_BCC",
30 "subService": "linux",
31 "region": "bj",
32 "scopeValue": {
33 "name": "BCC",
34 "value": "BCE_BCC",
35 "hasChildren": false
36 },
37 "resourceType": "Instance",
38 "namespace": [
39 {
40 "namespaceType": "instance",
41 "transfer": "",
42 "filter": "",
43 "name": "i-WAMdDHZ0___bj.BCE_BCC.453bf9588c9e488f9ba2c984129090dc",
44 "instanceName": "instance-mmd6nizg",
45 "region": "bj",
46 "bcmService": "BCE_BCC",
47 "subService": [
48 {
49 "name": "serviceType",
50 "value": "linux"
51 }
52 ]
53 }
54 ],
55 "product": "453bf9588c9e488f9ba2c984129090dc"
56 }
57 ],
58 "style": {
59 "displayType": "line",
60 "nullPointMode": "zero",
61 "threshold": 0,
62 "decimals": 2,
63 "isEdit": true,
64 "unit": "%"
65 },
66 "title": "testApi",
67 "timeRange": {
68 "timeType": "dashboard",
69 "unit": "minutes",
70 "number": 1,
71 "relative": "today()"
72 },
73 "time": ""
74 },
75 "dashboardName": "_51008",
76 "widgetName": "_51008_51011",
77 "lastUpdate": "2022-03-15T12:36:12Z",
78 "userId": "453bf9588c9e488f9ba2c984129090dc"
79}
[Meaning of fields in the requestBody: ](#Meaning of Each Field in bodyParams:)
Response example:
1{
2 "success": true,
3 "data": _51008_51011
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
Find Component:
Request structure:
Method:Get
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/widgets/{widgetName}
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| product | String | User ID | Yes | URL parameter |
| dashboardName | String | Dashboard ID | Yes | URL parameter |
| widgetName | String | Component ID | Yes | URL parameter |
Request example:
1Get /csm/api/v1/dashboard/products/a0d04d7c202140cb80155ff7b6752ce4/dashboards/_50367/widgets/_50367_50368
Response example:
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 Usage Rate\",\"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}
Copy Component:
Request structure:
Method:Post
Url:/csm/api/v1/dashboard/products/{product}/dashboards/{dashboardName}/widgets/{widgetName}/duplicate
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| Product | String | User ID | Yes | URL parameter |
| dashboardName | String | Dashboard ID | Yes | URL parameter |
| widgetName | String | Component ID | Yes | URL parameter |
Request example:
1Post /csm/api/v1/dashboard/products/a0d04d7c202140cb80155ff7b6752ce4/dashboards/_50367/widgets/_50367_50368/duplicate
2{}
Response example:
1{
2 "success": true,
3 "data": _51008_51011
4 "message": "ok",
5 "traceInfo": null,
6 "code": 200
7}
Meaning of Each Field in bodyParams:
| Name | Types | Description |
|---|---|---|
| titile | String | Chart Name |
| type | String | Chart Type |
| configure | Object | Configuration information |
| dashboardName | String | Dashboard ID |
| widgetName | String | Component ID |
| userId | String | User ID |
Special Config Notes:
| Name | Types | Description |
|---|---|---|
| metric | Object | Stored metric information |
| monitorObject | List | Storage Instance Name and Short ID |
| monitorType | String | Monitor Object Type |
| scope | String | Cloud product name |
| subService | String | OS name |
| region | String | Region |
| scopeValue | Object | Storage Cloud Product Name and Whether it is a cloud product with subtypes |
| resourceType | String | Resource type |
| namespace | Object | Instance information |
| product | String | User ID |
| style | String | Curve Style |
| title | String | Chart Name |
| timeRange | Object | Storage Time Information |
Metric Explanation:
| Name | Types | Description |
|---|---|---|
| name | String | Metric name in English |
| unit | String | Unit Name |
| alias | String | Metric name in Chinese |
| contrast | List | |
| timeContrast | List | |
| statistics | String | Data Statistic Method |
scopeValue Explanation:
| Name | Types | Description |
|---|---|---|
| name | String | Cloud product name |
| value | String | Cloud product name |
| hasChildren | String | Whether it has a subtype |
Namespace Explanation:
| Name | Types | Description |
|---|---|---|
| namespaceType | String | Instance type |
| transfer | String | Can be empty |
| filter | String | Can be empty |
| name | String | Concatenated from short ID, region, scope, and user ID |
| instanceName | String | Instance name |
| region | String | Region |
| bcmService | String | Cloud product name |
| subService | List | OS type |
monitorObject Explanation
| Name | Types | Description |
|---|---|---|
| instanceName | String | Monitor Object name |
| id | String | Monitor Object ID |
Query Data API:
Query Table Data API:
Query Metric Single Dimension Data:
Request structure:
Method: Post
Url: /csm/api/v1/dashboard/metric/report
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| paramMap | requestBody | Yes | Request body |
[Meaning of Configure and other fields in the request body: ](#Request Body Field Description:)
Request example:
1Post /csm/api/v1/dashboard/metric/report
2{
3 "data": [
4 {
5 "metric": [
6 {
7 "alias": "CPU Idle Rate",
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}
[Meaning of Fields in Request Body: ](#Request Body Field Description:)
Response example:
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}
Query Multi-Dimensional Metric Data:
Request structure:
Method: Post
Url: /csm/api/v1/dashboard/metric/report
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| paramMap | requestBody | Yes | Request body |
[Meaning of Configure and other fields in the request body: ](#Request Body Field Description:)
Request example:
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": "Network Interface Card Input Traffic”,
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}
[Meaning of Fields in Request Body: ](#Request Body Field Description:)
Response example:
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 "Network Interface Card Input Traffic/nicName:eth0": 280.3833333333
10 “Network API Card Input Traffic/nicName:eth1”: 48189.416666662495
11 },
12 "children": []
13 }
14 ],
15 "message": "ok",
16 "traceInfo": null,
17 "code": 200
18}
Query Trend Chart Data API:
Request Single-Dimension Metric Data:
Request structure:
Method: Post
Url: /csm/api/v1/dashboard/metric/trend
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| paramMap | requestBody | Yes | Request body |
[Meaning of Configure and other fields in the request body: ](#Request Body Field Description:)
Request example:
1Post /csm/api/v1/dashboard/metric/trend
2{
3 "data": [
4 {
5 "metric": [
6 {
7 "alias": "CPU Idle Rate",
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}
Response example:
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}
Query Multi-Dimensional Metric Data:
Request structure:
Method: Post
Url: /csm/api/v1/dashboard/metric/trend
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| paramMap | requestBody | Yes | Request body |
[Meaning of Configure and other fields in the request body: ](#Request Body Field Description:)
Request example:
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": "Network Interface Card Input Traffic”,
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}
Response example:
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”: “Network API Card Input Traffic”,
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”: “Network API Card Input Traffic”,
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}
Query Dashboard Chart Data API:
Query Metric Single Dimension Data
Request structure:
Method: Post
Url: /csm/api/v1/dashboard/metric/gaugechart
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| paramMap | requestBody | Yes | Request body |
[Meaning of Configure and other fields in the request body: ](#Request Body Field Description:)
Request example:
1Post /csm/api/v1/dashboard/metric/gaugechart
2{
3 "data": [
4 {
5 "metric": [
6 {
7 "alias": "CPU Idle Rate",
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}
[Meaning of Fields in Request Body: ](#Request Body Field Description:)
Response example:
1{
2 "success": true,
3 "data": [
4 {
5 “name”: "CPU Idle Rate”,
6 "data": [
7 [
8 0,
9 99.600074827175
10 ]
11 ],
12 “displayName”: “CPU Idle Rate",
13 "instanceName": "instance-xcy9049y ",
14 "unit": "%",
15 "metricDimension": null,
16 "decimals": null
17 }
18 ],
19 "message": "ok",
20 "traceInfo": null,
21 "code": 200
22}
Query Metric Multi-Dimension Data
Request structure
Method: Post
Url: /csm/api/v1/dashboard/metric/gaugechart
Request parameters
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| paramMap | requestBody | Yes | Request body |
[Meaning of Configure and other fields in the request body: ](#Request Body Field Description:)
Request example
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": "Network Interface Card Input Traffic”,
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}
[Meaning of Fields in Request Body: ](#Request Body Field Description:)
Response example
1{
2 "success": true,
3 "data": [
4 {
5 "name": "Network API Card Input Traffic”,
6 "data": [
7 [
8 0,
9 280.3833333333
10 ]
11 ],
12 “displayName": "Network API Card Input Traffic”,
13 "instanceName": "prod.nmp.nn.yd1 ",
14 "unit": "Bytes",
15 "metricDimension": "nicName:eth0",
16 "decimals": null
17 },
18 {
19 "name": "Network API Card Input Traffic”,
20 "data": [
21 [
22 0,
23 48189.416666662495
24 ]
25 ],
26 “displayName": "Network API Card Input Traffic”,
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}
Query Dashboard Data API:
Query Metric Single Dimension Data
Request structure:
Method: Post
Url: /csm/api/v1/dashboard/metric/billboard
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| paramMap | requestBody | Yes | Request body |
[Meaning of Configure and other fields in the request body: ](#Request Body Field Description:)
Request example:
1Post /csm/api/v1/dashboard/metric/billboard
2{
3 "data": [
4 {
5 "metric": [
6 {
7 "alias": "CPU Idle Rate",
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}
[Meaning of Fields in Request Body: ](#Request Body Field Description:)
Response example:
1{
2 "success": true,
3 "data": [
4 {
5 “name”: "CPU Idle Rate”,
6 "data": [
7 [
8 0,
9 99.600074827175
10 ]
11 ],
12 “displayName”: “CPU Idle Rate",
13 "instanceName": "instance-xcy9049y ",
14 "unit": "%",
15 "metricDimension": null,
16 "decimals": null
17 }
18 ],
19 "message": "ok",
20 "traceInfo": null,
21 "code": 200
22}
Query Metric Multi-Dimension Data
Request structure:
Method: Post
Url: /csm/api/v1/dashboard/metric/billboard
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| paramMap | requestBody | Yes | Request body |
[Meaning of Configure and other fields in the request body: ](#Request Body Field Description:)
Request example:
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": "Network Interface Card Input Traffic”,
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}
[Meaning of Fields in Request Body: ](#Request Body Field Description:)
Response example:
1{
2 "success": true,
3 "data": [
4 {
5 "name": "Network API Card Input Traffic”,
6 "data": [
7 [
8 0,
9 280.3833333333
10 ]
11 ],
12 “displayName": "Network API Card Input Traffic”,
13 "instanceName": "prod.nmp.nn.yd1 ",
14 "unit": "Bytes",
15 "metricDimension": "nicName:eth0",
16 "decimals": null
17 },
18 {
19 "name": "Network API Card Input Traffic”,
20 "data": [
21 [
22 0,
23 48189.416666662495
24 ]
25 ],
26 “displayName": "Network API Card Input Traffic”,
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}
Advanced Capability Data of Query Charts
Advanced features include displaying the average, maximum, minimum, and sum values at a specific time point, with charts such as trend charts, dashboard charts, and data panels supported.
Request structure
Method:Post
Url:/csm/api/v1/dashboard/metric/trend/senior
Request parameters
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| paramMap | requestBody | Yes | Request body |
[Meaning of Configure and other fields in the request body: ](#Request Body Field Description:)
Request example
1Post /csm/api/v1/dashboard/metric/trend/senior
2{
3 "data": [
4 {
5 "metric": [
6 {
7 "alias": "CPU Idle Rate",
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}
Response example
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}
Differences Between Various Charts
| Component | Monitor Object-Instance | Metrics | Other Restrictions |
|---|---|---|---|
| Dashboard Chart | Single Selection | Single Selection | Only one set of data can be selected |
| Table | Multiple Selection | Single Selection | Monitor Object: 50 items, monitor items: 20 items; but must be the same cloud product and metric units must be consistent |
| Trend Chart | Multiple Selection | Single Selection | Supports selecting 50 sets of data; metric units must be consistent |
| Panel | Single Selection | Single Selection | Select up to 20 sets of data; but metric units must be consistent |
Request Body Field Description:
Config Field Explanation:
| Name | Types | Description |
|---|---|---|
| meric | Metric Information | |
| monitorObject | Instance information | |
| namespace | Instance information | |
| product | String | User ID |
| region | String | Region |
| resourceType | String | Instance type |
| scopeValue | Cloud Product Information | |
| subService | String | OS type |
| time | String | Time Range |
MetricConfiguration Explanation:
| Name | Types | Description |
|---|---|---|
| name | String | Metric name in English |
| unit | String | Unit Name |
| alias | String | Metric name in Chinese |
| contrast | Can be empty | |
| timeContrast | Can be empty | |
| statistics | String | Data Statistic Method |
| dimensions | Dimension Information | |
| metricDimensions | Dimension Name and Specific Dimension |
Namespace Explanation:
| Name | Types | Description |
|---|---|---|
| namespaceType | String | Instance type |
| transfer | String | Can be empty |
| filter | String | Can be empty |
| name | String | Concatenated from short ID, region, scope, and user ID |
| instanceName | String | Instance name |
| region | String | Region |
| bcmService | String | Cloud product name |
| subService | Cloud Service Type and OS Type |
monitorObject Explanation:
| Name | Types | Description |
|---|---|---|
| id | String | Instance ID |
| instanceName | String | Instance name |
scopeValue Explanation:
| Name | Types | Description |
|---|---|---|
| name | String | Cloud product name |
| value | String | Cloud product name |
| hasChildren | String | Whether it has a subtype |
DimensionConfiguration Explanation:
| Name | Types | Description |
|---|---|---|
| name | String | Dimension name |
| values | Specific Dimension |
Query Dimension API:
Request structure:
Method:Get
Url:/csm/api/v1/userId/{userId}/services/{service}/region/{region}/metric/dimensions
Request parameters:
| Name | Types | Description | Required or not | Location |
|---|---|---|---|---|
| product | String | User ID | Yes | Query |
| service | String | Cloud product name | Yes | Query |
| region | String | Region | Yes | Query |
| showId | String | Long instance ID | Yes | Query |
| dimensions | String | Dimension name | No | Query |
| metricName | String | Metric name | Yes | Query |
Request example:
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
Response example:
1{
2 "nicName": [
3 "eth1",
4 "eth0"
5 ]
6}
