创建名字空间
请求结构体
Method: Post
Url: /csm/api/v1/userId/{userId}/custom/namespaces/create
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query参数
namespace
Namespace
是
requestBody参数
Namespace
名称
类型
描述
是否必须
name
String
名字空间名称
是
namespaceAlias
String
空间别名
否
userId
String
用户Id
是
comment
String
说明
是
请求示例
POST /csm/api/v1/userId/38bffb7f9dc0435390b0c24656cb734d/custom/namespaces/create
request body:
{
"name":"Test01",
"namespaceAlias":"test",
"comment":"自定义监控测试",
"userId":"38bffb7f9dc0435390b0c24656cb734d"
}
响应示例
{
"success":true
"status":200
"result":null
}
删除名字空间
请求结构体
Method: Post
Url: /csm/api/v1/userId/{userId}/custom/namespaces/delete
请求参数
名称
类型
说明
是否必须
参数位置
userId
String
用户Id
是
Query
names
BatchNames
是
requestBody参数
BatchNames
名称
类型
说明
是否必须
userId
String
用户Id
是
names
List< Stirng >
名字空间名称
是
请求示例
POST /csm/api/v1/userId/38bffb7f9dc0435390b0c24656cb734d/custom/namespaces/delete
{
"userId":"38bffb7f9dc0435390b0c24656cb734d",
"names":[
"Test06",
"Test05"
]
}
响应示例
{
"success":true
"status":200
"result":null
}
编辑名字空间
请求结构体
Method: Put
Url: /csm/api/v1/userId/{userId}/custom/namespaces/update
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query参数
namespace
Namespace
是
requestBody参数
Namespace
名称
类型
描述
是否必须
name
String
名字空间名称
是
namespaceAlias
String
空间别名
否
userId
String
用户Id
是
comment
String
说明
是
请求示例
put /csm/api/v1/userId/38bffb7f9dc0435390b0c24656cb734d/custom/namespaces/update
request body:
{
"name":"Test01",
"namespaceAlias":"test",
"comment":"自定义监控测试update",
"userId":"38bffb7f9dc0435390b0c24656cb734d"
}
响应实例
{
"success":true
"status":200
"result":null
}
获取(搜索)名字空间
请求结构体
Method: Get
Url: /csm/api/v1/userId/{userId}/custom/namespaces/list
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query
name
String
名字空间名称(模糊搜索时需要传递的参数)
否
Query
pageNo
int
是
Query
pageSize
int
是
Query
请求示例
Get /csm/api/v1/userId/38bffb7f9dc0435390b0c24656cb734d/custom/namespaces/list?pageNo=1&pageSize=10
响应实例
{
"orderBy": "",
"order": "",
"pageNo": 1,
"pageSize": 10,
"totalCount": 2,
"result": [
{
"name": "Test06",
"namespaceAlias": "test",
"comment": "自定义监控测试",
"userId": "38bffb7f9dc0435390b0c24656cb734d",
"metrics": [],
"eventConfigs": []
},
{
"name": "Test01",
"namespaceAlias": "test01",
"comment": "test01",
"userId": "38bffb7f9dc0435390b0c24656cb734d",
"metrics": [],
"eventConfigs": []
}
]
}
创建指标
请求结构体
Method: Post
Url: /csm/api/v1/userId/{userId}/custom/namespaces/{namespace}/metrics/create
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query参数
namespace
String
名字空间
是
Query参数
metricConfig
MetricConfig
是
requestBody参数
MetricConfig
名称
类型
描述
是否必须
namespace
String
名字空间
是
metricName
Stirng
指标名称
是
metricAlias
String
指标别名
否
unit
String
指标单位
否
cycle
int
采集周期
是
userId
String
用户Id
是
dimensions
List< MetricDimension >
维度
否
MetricDimension
名称
类型
描述
是否必须
name
String
维度名称
是
alias
String
维度别名
否
order
int
维度序号
是
请求示例
Post /csm/api/v1/userId/38bffb7f9dc0435390b0c24656cb734d/custom/namespaces/Test06/metrics/create
requestBody:
{
"namespace":"Test06",
"metricName":"TestMetric01",
"metricAlias":"metric",
"unit":"个",
"cycle":60,
"userId":"38bffb7f9dc0435390b0c24656cb734d",
"dimensions":[
{
"order":0,
"name":"clusterId",
"alias":"clusterId"
}
],
"region":"bj"
}
响应实例
{
"success":true
"status":200
"result":null
}
删除(批量删除)指标
请求结构体
Method: Post
Url: /csm/api/v1/userId/{userId}/custom/namespaces/{namespace}/metrics/delete
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query参数
namespace
String
名字空间
是
Query参数
ids
BatchIds
id
是
requestBody参数
BatchIds
名称
类型
描述
是否必须
userId
String
用户Id
是
namespace
String
名字空间
是
ids
List< Long >
是
请求示例
Post /csm/api/v1/userId/38bffb7f9dc0435390b0c24656cb734d/custom/namespaces/Test06/metrics/delete
{
"ids":[
3129,3128
],
"namespace":"Test06",
"userId":"38bffb7f9dc0435390b0c24656cb734d",
"region":"bj"
}
响应实例
{
"success":true
"status":200
"result":null
}
编辑指标
请求结构体
Method: Put
Url: /csm/api/v1/userId/{userId}/custom/namespaces/{namespace}/metrics/{metricName}
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query参数
namespace
String
名字空间
是
Query参数
metricConfig
MetricConfig
是
requestBody参数
MetricConfig
名称
类型
描述
是否必须
namespace
String
名字空间
是
metricName
Stirng
指标名称
是
metricAlias
String
指标别名
否
unit
String
指标单位
否
cycle
int
采集周期
是
userId
String
用户Id
是
dimensions
List< MetricDimension >
维度
否
MetricDimension
名称
类型
描述
是否必须
name
String
维度名称
是
alias
String
维度别名
否
order
int
维度序号
是
请求示例
Put /csm/api/v1/userId/38bffb7f9dc0435390b0c24656cb734d/custom/namespaces/Test06/metrics/Test02
{
"namespace":"Test06",
"metricName":"Test02",
"metricAlias":"dfsdf",
"unit":"个",
"cycle":60,
"userId":"38bffb7f9dc0435390b0c24656cb734d",
"dimensions":[
{
"order":0,
"name":"ClusrerId",
"alias":"集群id"
}
]
}
响应实例
{
"success":true
"status":200
"result":null
}
获取(搜索)指标
请求结构体
Method: Get
Url: /csm/api/v1/userId/{userId}/custom/namespaces/metrics
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query
namespace
String
名字空间
否
Query
metricName
String
指标名称(模糊搜索时使用)
否
Query
metricAlias
String
指标别名(模糊搜索时使用)
否
Query
pageNo
int
是
Query
pageSize
int
是
Query
请求示例
Get /csm/api/v1/userId/38bffb7f9dc0435390b0c24656cb734d/custom/namespaces/metrics?metricName=&metricAlias=&pageNo=1&pageSize=10&namespace=Test06&userId=38bffb7f9dc0435390b0c24656cb734d
响应实例
{
"orderBy": "",
"order": "",
"pageNo": 1,
"pageSize": 10,
"totalCount": 2,
"result": [
{
"id": 3131,
"namespace": "Test06",
"metricName": "Test02",
"metricAlias": "dfsdf",
"unit": "个",
"cycle": 60,
"userId": "38bffb7f9dc0435390b0c24656cb734d",
"dimensions": [
{
"name": "ClusrerId",
"alias": "集群id",
"order": 0
}
]
},
{
"id": 3130,
"namespace": "Test06",
"metricName": "Test01",
"metricAlias": "fdsa",
"unit": "个",
"cycle": 60,
"userId": "38bffb7f9dc0435390b0c24656cb734d",
"dimensions": []
}
]
}
指标详情
请求结构体
Method: Get
Url: /csm/api/v1/userId/{userId}/custom/namespaces/{namespace}/metrics/{metricName}
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query
namespace
String
名字空间
是
Query
metricName
String
指标名称
是
Query
请求示例
Get /csm/api/v1/userId/38bffb7f9dc0435390b0c24656cb734d/custom/namespaces/Test06/metrics/Test02
响应实例
{
"id": 3131,
"namespace": "Test06",
"metricName": "Test02",
"metricAlias": "dfsdf",
"unit": "个",
"cycle": 60,
"userId": "38bffb7f9dc0435390b0c24656cb734d",
"dimensions": [
{
"name": "ClusrerId",
"alias": "集群id",
"order": 0
}
]
}
创建事件
请求结构体
Method: Post
Url: /csm/api/v1/custom/event/configs/create
请求参数
名称
类型
描述
是否必须
userId
String
用户Id
是
namespace
String
名字空间
是
eventName
String
事件名称
是
eventNameAlias
String
事件别名
否
eventLevel
String
事件级别
是
comment
String
描述
否
请求示例
Post /csm/api/v1/custom/event/configs/create
requestBody:
{
"userId":"38bffb7f9dc0435390b0c24656cb734d",
"namespace":"Test06",
"eventName":"TestEvent02",
"eventNameAlias":"事件测试",
"eventLevel":"WARNING",
"comment":"这是一个事件"
}
响应实例
{
"success":true
"status":200
"result":null
}
删除(批量删除)事件
请求结构体
Method: delete
Url: /csm/api/v1/custom/event/configs/delete
请求参数
名称
类型
描述
是否必须
参数位置
names
BatchNames
是
requestBody
BatchNames
名称
类型
描述
是否必须
userId
String
用户Id
是
namespace
String
名字空间
是
names
List< String >
事件名称
是
请求示例
delete /csm/api/v1/custom/event/configs/delete
requestBody:
{
"names":[
"event2",
"event1"
],
"namespace":"Testlzz01",
"userId":"38bffb7f9dc0435390b0c24656cb734d"
}
响应实例
{
"success":true
"status":200
"result":null
}
编辑事件
请求结构体
Method: Post
Url: /csm/api/v1/custom/event/configs/update
请求参数
名称
类型
描述
是否必须
userId
String
用户Id
是
namespace
String
名字空间
是
eventName
String
事件名称
是
eventNameAlias
String
事件别名
否
eventLevel
String
事件级别
是
comment
String
描述
否
请求示例
post /csm/api/v1/custom/event/configs/update
requstBody:
{
"userId":"38bffb7f9dc0435390b0c24656cb734d",
"namespace":"Testlzz01",
"eventName":"event1",
"eventNameAlias":"测试事件1",
"eventLevel":"WARNING",
"comment":"测试事件1"
}
响应实例
{
"success":true
"status":200
"result":null
}
获取(搜索)事件
请求结构体
Method: Get
Url: /csm/api/v1/custom/event/configs/list
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query
namespace
String
名字空间
是
Query
name
String
事件名称(模糊搜索时使用)
否
Query
eventLevel
String
报警级别(按报警级别筛选)
否
Query
pageNo
int
是
Query
pageSize
int
是
Query
请求示例
Get /csm/api/v1/custom/event/configs/list?userId=38bffb7f9dc0435390b0c24656cb734d&namespace=Test06&pageNo=1&pageSize=10
响应实例
{
"orderBy": "",
"order": "",
"pageNo": 1,
"pageSize": 10,
"totalCount": 2,
"result": [
{
"userId": "38bffb7f9dc0435390b0c24656cb734d",
"namespace": "Test06",
"eventName": "TestEvent02",
"eventNameAlias": "事件测试",
"eventLevel": "WARNING",
"comment": "这是一个事件"
},
{
"userId": "38bffb7f9dc0435390b0c24656cb734d",
"namespace": "Test06",
"eventName": "TestEvent01",
"eventNameAlias": "事件测试",
"eventLevel": "WARNING",
"comment": "这是一个事件"
}
]
}
事件详情
请求结构体
Method:Get
Url:/csm/api/v1/custom/event/configs/update
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query
namespace
String
名字空间
是
Query
eventName
String
事件名称
是
Query
请求示例
Get /csm/api/v1/custom/event/configs/detail?userId=38bffb7f9dc0435390b0c24656cb734d&namespace=Test06&eventName=TestEvent01
响应实例
{
"userId": "38bffb7f9dc0435390b0c24656cb734d",
"namespace": "Test06",
"eventName": "TestEvent01",
"eventNameAlias": "事件测试",
"eventLevel": "WARNING",
"comment": "这是一个事件"
}
创建策略
请求结构体
Method:Post
Url:/csm/api/v1/custom/alarm/configs/create
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
requestBody
actionEnabled
Boolean
是否启动
是
requestBody
okActions
List< String >
异常恢复报警动作
否
requestBody
alarmActions
List< String >
异常报警动作
否
requestBody
insufficientActions
List< String >
数据不足报警动作
否
requestBody
region
String
地区
是
requestBody
namespace
String
名字空间
是
requestBody
alarmName
String
策略名称
是
requestBody
alarmType
String
策略类型,metric:指标监控 event:事件监控
是
requestBody
level
String
报警级别,NOTICE:通知 WARNING:警告 CRITICAL:严重 MAJOR:重要
是
requestBody
insufficientCycle
int
无数据报警判断周期
否
requestBody
rules
List< CustomAlarmRule >
报警规则
是
requestBody
CustomAlarmRule
名称
类型
描述
是否必须
metricName
String
指标名称
是
cycle
int
报警判断周期
是
statistics
String
值类型,平均值,最大值,最小值,和值
是
threshold
String
阈值
是
comparisonOperator
String
比较符
是
count
int
异常发生次数
是
function
String
THRESHOLD
是
index
int
报警规则序号
是
请求示例
Post /csm/api/v1/custom/alarm/configs/create
{
"userId":"38bffb7f9dc0435390b0c24656cb734d",
"actionEnabled":true,
"alarmActions":[
"e3b8e777-4f35-48ed-abf6-bfcf6316ae2c"
],
"okActions":[
],
"insufficientActions":[
],
"callbackUrl":"http://www.baidu.com",
"callbackToken":"tXMWIhPonbFqdWjDxBKz",
"region":"bj",
"namespace":"Test06",
"alarmName":"policytest",
"alarmType":"metric",
"level":"MAJOR",
"insufficientCycle":0,
"rules":[
{
"dimensions":[
],
"metricName":"Test01",
"cycle":60,
"statistics":"average",
"threshold":"1",
"comparisonOperator":">",
"count":1,
"function":"THRESHOLD",
"index":1
}
]
}
响应实例
{
"success":true
"status":200
"result":null
}
删除(批量删除)策略
请求结构体
Method:Post
Url: /csm/api/v1/custom/alarm/configs/delete
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
requestBody
namespace
String
名字空间
是
requestBody
names
List< String >
策略名称
是
requestBody
请求示例
Post /csm/api/v1/custom/alarm/configs/delete
{
"namespace":"Test06",
"userId":"38bffb7f9dc0435390b0c24656cb734d",
"names":[
"policytest"
]
}
响应实例
{
"success":true
"status":200
"result":null
}
编辑策略
请求结构体
Method: Put
Url: /csm/api/v1/custom/alarm/configs/update
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
requestBody
actionEnabled
Boolean
是否启动
是
requestBody
okActions
List< String >
异常恢复报警动作
否
requestBody
alarmActions
List< String >
异常报警动作
否
requestBody
insufficientActions
List< String >
数据不足报警动作
否
requestBody
region
String
地区
是
requestBody
namespace
String
名字空间
是
requestBody
alarmName
String
策略名称
是
requestBody
alarmType
String
策略类型,metric:指标监控 event:事件监控
是
requestBody
level
String
报警级别,NOTICE:通知 WARNING:警告 CRITICAL:严重 MAJOR:重要
是
requestBody
insufficientCycle
int
无数据报警判断周期
否
requestBody
rules
List< CustomAlarmRule >
报警规则
是
requestBody
CustomAlarmRule
名称
类型
描述
是否必须
metricName
String
指标名称
是
cycle
int
报警判断周期
是
statistics
String
值类型,平均值,最大值,最小值,和值
是
threshold
String
阈值
是
comparisonOperator
String
比较符
是
count
int
异常发生次数
是
function
String
THRESHOLD
是
index
int
报警规则序号
是
请求示例
Put /csm/api/v1/custom/alarm/configs/update
{
"userId":"38bffb7f9dc0435390b0c24656cb734d",
"actionEnabled":true,
"alarmActions":[
"e3b8e777-4f35-48ed-abf6-bfcf6316ae2c"
],
"okActions":[
],
"insufficientActions":[
],
"callbackUrl":"http://www.baidu.com",
"callbackToken":"yfaCqfTkQTeWxdDYLyBk",
"region":"bj",
"namespace":"Test06",
"alarmName":"Polict2",
"alarmType":"metric",
"level":"MAJOR",
"insufficientCycle":0,
"rules":[
{
"dimensions":[
],
"metricName":"Test01",
"cycle":60,
"statistics":"average",
"threshold":"1",
"comparisonOperator":">",
"count":1,
"function":"THRESHOLD",
"index":1
},
{
"dimensions":[
],
"metricName":"Test01",
"cycle":60,
"statistics":"average",
"threshold":"2",
"comparisonOperator":">",
"count":1,
"function":"THRESHOLD",
"index":2
}
]
}
响应实例
{
"success":true
"status":200
"result":null
}
获取(搜索)策略
请求结构体
Method:Get
Url: /csm/api/v1/custom/alarm/configs/list
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query
alarmName
String
策略名称, 模糊搜索使用
否
Query
namespace
String
名字空间
否
Query
actionEnabled
Boolean
是否开启
否
Query
pageNo
int
是
Query
pageSize
int
是
Query
请求示例
Get /csm/api/v1/custom/alarm/configs/list?namespace=Test06&userId=38bffb7f9dc0435390b0c24656cb734d&pageNo=1&pageSize=10&alarmName=&actionEnabled=
响应实例
{
"orderBy": "",
"order": "",
"pageNo": 1,
"pageSize": 10,
"totalCount": 1,
"result": [
{
"comment": "",
"userId": "38bffb7f9dc0435390b0c24656cb734d",
"alarmName": "Polict2",
"namespace": "Test06",
"level": "MAJOR",
"actionEnabled": true,
"alarmActions": [
"scs报警"
],
"okActions": [],
"insufficientActions": [],
"insufficientCycle": 0,
"rules": [
{
"id": null,
"index": 1,
"metricName": "Test01",
"dimensions": [],
"statistics": "average",
"threshold": "1",
"comparisonOperator": ">",
"cycle": 60,
"count": 1,
"function": "THRESHOLD"
},
{
"id": null,
"index": 2,
"metricName": "Test01",
"dimensions": [],
"statistics": "average",
"threshold": "2",
"comparisonOperator": ">",
"cycle": 60,
"count": 1,
"function": "THRESHOLD"
}
],
"region": "bj",
"callbackUrl": "http://www.baidu.com",
"callbackToken": "yfaCqfTkQTeWxdDYLyBk",
"tag": ""
}
]
}
策略详情
请求结构体
Method:Get
Url: /csm/api/v1/custom/alarm/configs/detail
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query
namespace
String
名字空间
是
Query
alarmName
String
策略名称
是
Query
请求示例
Get /csm/api/v1/custom/alarm/configs/detail?namespace=Test06&alarmName=Polict2&userId=38bffb7f9dc0435390b0c24656cb734d
响应实例
{
"comment": "",
"userId": "38bffb7f9dc0435390b0c24656cb734d",
"alarmName": "Polict2",
"namespace": "Test06",
"level": "MAJOR",
"actionEnabled": true,
"alarmActions": [
"e3b8e777-4f35-48ed-abf6-bfcf6316ae2c"
],
"okActions": [],
"insufficientActions": [],
"insufficientCycle": 0,
"rules": [
{
"id": null,
"index": 1,
"metricName": "Test01",
"dimensions": [],
"statistics": "average",
"threshold": "1",
"comparisonOperator": ">",
"cycle": 60,
"count": 1,
"function": "THRESHOLD"
},
{
"id": null,
"index": 2,
"metricName": "Test01",
"dimensions": [],
"statistics": "average",
"threshold": "2",
"comparisonOperator": ">",
"cycle": 60,
"count": 1,
"function": "THRESHOLD"
}
],
"region": "bj",
"callbackUrl": "http://www.baidu.com",
"callbackToken": "yfaCqfTkQTeWxdDYLyBk",
"tag": ""
}
关闭策略
请求结构体
Method: Post
Url: /csm/api/v1/custom/alarm/configs/block
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query
namespace
String
名字空间
是
Query
alarmName
String
策略名称
是
Query
请求示例
Post /csm/api/v1/custom/alarm/configs/block?namespace=Test06&userId=38bffb7f9dc0435390b0c24656cb734d&alarmName=Polict2
响应实例
{
"success":true
"status":200
"result":null
}
开启策略
请求结构体
Method: Post
Url: /csm/api/v1/custom/alarm/configs/unblock
请求参数
名称
类型
描述
是否必须
参数位置
userId
String
用户Id
是
Query
namespace
String
名字空间
是
Query
alarmName
String
策略名称
是
Query
请求示例
Post /csm/api/v1/custom/alarm/configs/unblock?namespace=Test06&userId=38bffb7f9dc0435390b0c24656cb734d&alarmName=Polict2
响应实例
{
"success":true
"status":200
"result":null
}