使用以下方式管理通知Monitoring API
您可以在IBM Cloud Monitoring通过使用实例Monitoring API。
要了解如何使用cURL, cURL命令。
获取所有用户通知
您可以使用以下cURL命令获取所有通知渠道的信息:
curl -X GET <REST_API_ENDPOINT>/api/notificationChannels?from=<START_TIMESTAMP>&to=<END_TIMESTAMP> -H "Authorization: $AUTH_TOKEN" -H "IBMInstanceID: $GUID" -H "SysdigTeamID: $TEAM_ID" -H "content-type: application/json"
Where
-
<REST_API_ENDPOINT>
表示 REST API 调用的目标端点。 有关详细信息,请参阅For more information, see Monitoring REST API 端点。 例如,在美国南部可用的实例的公共端点如下:https://us-south.monitoring.cloud.ibm.com/api
-
您可以使用以下方式传递多个标头
-H
。Authorization
和IBMInstanceID
是身份验证所需的标题。SysdigTeamID
是可选的。 当您指定此标头时,您会将请求限制为指定团队可用的数据和资源。要获得
AUTH_TOKEN
和GUID
看,IAM 令牌的标头。 -
to
和from
是您必须定义的查询参数,以配置您想要获取通知信息的时间段。
有关响应格式的更多信息,请参阅 通知架构。
获取特定用户通知
您可以使用以下cURL命令获取有关通知渠道的信息:
curl -X GET <REST_API_ENDPOINT>/api/notificationChannels/<NOTIFICATION_ID> -H "Authorization: $AUTH_TOKEN" -H "IBMInstanceID: $GUID" -H "SysdigTeamID: $TEAM_ID" -H "content-type: application/json"
Where
-
<REST_API_ENDPOINT>
表示 REST API 调用的目标端点。 有关详细信息,请参阅For more information, see Monitoring REST API 端点。 例如,在美国南部可用的实例的公共端点如下:https://us-south.monitoring.cloud.ibm.com/api
-
您可以使用以下方式传递多个标头
-H
。Authorization
和IBMInstanceID
是身份验证所需的标题。SysdigTeamID
是可选的。 当您指定此标头时,您会将请求限制为指定团队可用的数据和资源。要获得
AUTH_TOKEN
和GUID
看,IAM 令牌的标头。 -
<NOTIFICATION_ID>
定义要修改的通知的 ID。
例如,电子邮件通知渠道的响应主体如下所示:
{
"notificationChannel": {
"id": 20,
"version": 1,
"createdOn": 1466023669000,
"modifiedOn": 1466023669000,
"type": "EMAIL",
"enabled": true,
"name": "emailChannel",
"options": {
"emailRecipients": [
"abc@xyz.com"
],
"notifyOnOk": false
}
}
}
创建通知
您可以使用以下cURL命令创建通知:
curl -X POST <REST_API_ENDPOINT>/api/notificationChannels -H "Authorization: $AUTH_TOKEN" -H "IBMInstanceID: $GUID" -H "SysdigTeamID: $TEAM_ID" -H "content-type: application/json" -d @notification.json
Where
-
<REST_API_ENDPOINT>
表示 REST API 调用的目标端点。 有关详细信息,请参阅For more information, see Monitoring REST API 端点。 例如,在美国南部可用的实例的公共端点如下:https://us-south.monitoring.cloud.ibm.com/api
-
您可以使用以下方式传递多个标头
-H
。Authorization
和IBMInstanceID
是身份验证所需的标题。SysdigTeamID
是可选的。 当您指定此标头时,您会将请求限制为指定团队可用的数据和资源。要获得
AUTH_TOKEN
和GUID
看,IAM 令牌的标头。 -
您可以传递数据来创建通知
notification.json
文件使用-d
。有效类型为
EMAIL
,PAGER_DUTY
,SLACK
,和VICTOROPS
。
以下示例显示了您可以设置以创建通知的请求正文参数:
{
"notificationChannel": {
"type": "SLACK",
"enabled": true,
"name": "my-slack-channel",
"options": {
"notifyOnOk": true,
"url": "https://hooks.slack.com/services/xxx",
"channel": "myslack"
"notifyOnResolve": true,
}
}
}
删除通知
要删除现有通知,您需要该通知的 ID。
您可以使用以下cURL删除通知的命令:
curl -X DELETE <REST_API_ENDPOINT>/api/notificationChannels/<NOTIFICATION_ID> -H "Authorization: $AUTH_TOKEN" -H "IBMInstanceID: $GUID" -H "SysdigTeamID: $TEAM_ID" -H "content-type: application/json"
Where
-
<REST_API_ENDPOINT>
表示 REST API 调用的目标端点。 有关详细信息,请参阅For more information, see Monitoring REST API 端点。 例如,在美国南部可用的实例的公共端点如下:https://us-south.monitoring.cloud.ibm.com/api
-
您可以使用以下方式传递多个标头
-H
。Authorization
和IBMInstanceID
是身份验证所需的标题。SysdigTeamID
是可选的。 当您指定此标头时,您会将请求限制为指定团队可用的数据和资源。要获得
AUTH_TOKEN
和GUID
看,IAM 令牌的标头。 -
<NOTIFICATION_ID>
定义要修改的通知的 ID。
更新通知
要更新现有通知,您需要该通知的 ID。
您可以使用以下cURL更新通知的命令:
curl -X PUT <REST_API_ENDPOINT>/api/notificationChannels/<NOTIFICATION_ID> -H "Authorization: $AUTH_TOKEN" -H "IBMInstanceID: $GUID" -H "SysdigTeamID: $TEAM_ID" -H "content-type: application/json" -d @notification.json
Where
-
<REST_API_ENDPOINT>
表示 REST API 调用的目标端点。 有关详细信息,请参阅For more information, see Monitoring REST API 端点。 例如,在美国南部可用的实例的公共端点如下:https://us-south.monitoring.cloud.ibm.com/api
-
您可以使用以下方式传递多个标头
-H
。Authorization
和IBMInstanceID
是身份验证所需的标题。SysdigTeamID
是可选的。 当您指定此标头时,您会将请求限制为指定团队可用的数据和资源。要获得
AUTH_TOKEN
和GUID
看,IAM 令牌的标头。 -
<NOTIFICATION_ID>
定义要修改的通知的 ID。 -
您可以传递数据来创建通知
notification.json
文件使用-d
。
以下示例显示了您可以设置以更新通知的请求正文参数:
{
"notificationChannel": {
"id": 9,
"version": 2,
"type": "WEBHOOK",
"enabled": true,
"name": "test-tip-webhook",
"options": {
"notifyOnOk": false,
"url": "https://test-tip.endpoint.com",
"notifyOnResolve": true
}
}
}
请求体参数: GET 通知渠道中指定的所有响应主体参数,除了:
- createdOn
- modifiedOn
笔记: 通知版本可以通过响应体获取 notificationChannelsAPI。 用户还可以添加 customHeaders&customData根据他们的要求发送通知。
通知架构:请求正文
请参阅获取有关 1 个或多个通知渠道的信息的架构:
{
"notificationChannel": {
"id": 20,
"version": 1,
"type": "",
"enabled": true,
"name": "",
"options": {
"notifyOnOk": false,
"notifyOnResolve": true,
"resolveOnOk": true,
"channel": "",
"emailRecipients": "",
"url" : "",
"apiKey": "",
"routingKey": "",
"account": "",
"serviceKey": "",
"serviceName": ""
}
}
}
创建、更新或删除通知渠道时的 Sww 架构:
{
"notificationChannel": {
"id": 20,
"version": 1,
"type": "",
"enabled": true,
"name": "",
"options": {
"notifyOnOk": false,
"notifyOnResolve": true,
"resolveOnOk": true,
"channel": "",
"emailRecipients": "",
"url" : "",
"apiKey": "",
"routingKey": "",
"account": "",
"serviceKey": "",
"serviceName": ""
}
}
}
通知架构:响应主体
{
"notificationChannel": {
"id": 20,
"version": 1,
"createdOn": 1466023669000,
"modifiedOn": 1466023669000,
"type": "",
"enabled": true,
"name": "",
"options": {
"notifyOnOk": false,
"notifyOnResolve": true,
"resolveOnOk": true,
"channel": "",
"emailRecipients": "",
"url" : "",
"apiKey": "",
"routingKey": "",
"account": "",
"serviceKey": "",
"serviceName": ""
}
}
}
主体参数
id(整数)
通知渠道ID。
createdOn(整数)
定义通知的创建时间(以毫秒为单位)。
此参数返回通知创建时的 Unix 时间戳。
描述(字符串)
该参数用于描述通知。
在查看通知时,可以查看描述通知监控 UI 的部分,并且包含在通知电子邮件中。
已启用(布尔值)
定义通知渠道的状态。
将此参数设置为 true
如果启用通知渠道,则发送事件并在触发通知时通知。
设置 false
禁用通知渠道,使其无法发送通知事件。
name (String)
通知的名称。 必须唯一。
通知渠道名称必须是唯一的,且不超过255个字符。
modifiedOn(整数)
定义通知最后修改的时间(以毫秒为单位)。
此参数定义通知最后修改时的 Unix 时间戳。
选项(json)
不同类型的通知渠道有不同的选项。
以下 JSON 显示了架构模型:
"options": {
"notifyOnOk": false,
"notifyOnResolve": true,
"resolveOnOk": true,
"channel": "",
"emailRecipients": "",
"url" : "",
"apiKey": "",
"routingKey": "",
"account": "",
"serviceKey": "",
"serviceName": ""
}
选项 | EMAIL |
PAGER_DUTY |
SLACK |
VICTOROPS |
WEBHOOK |
OPSGENIE |
---|---|---|---|---|---|---|
name |
||||||
notifyOnOk |
||||||
notifyOnResolve |
||||||
resolveOnOk |
||||||
emailRecipients |
||||||
url |
||||||
apiKey |
||||||
routingKey |
||||||
account |
||||||
serviceKey |
||||||
serviceName |
apiKey(细绳)
VictorOps'sAPI 密钥。 您必须从您的VictorOps集成设置页面。
通道(字符串)
通道的名称。
emailRecipients(细绳)
电子邮件地址列表。
notifyOnOk(布尔值)
当通知状态从 ACTIVE
到 OK
并且该通知已由用户手动确认。
设置 true
发送通知。
notifyOnResolve(布尔值)
当通知状态从 ACTIVE
到 OK
,由于条件已解决,因此不再触发,并且通知由用户手动更改为已解决。
设置 true
发送通知。
resolveOnOk(布尔值)
当通知状态从 ACTIVE
到 OK
并且由于该条件已得到解决,因此不再触发该条件。
设置 true
发送通知。
routingKey(细绳)
VictorOps's路由密钥。 您必须从您的VictorOps集成设置页面。
url(字符串)
URL 端点。
类型
定义通知渠道。
通告類型 | 值 |
---|---|
电子邮件 | EMAIL |
PagerDuty | PAGER_DUTY |
Slack | SLACK |
VictorOps | VICTOROPS |
Webhook | WEBHOOK |
OpsGenie | OPSGENIE |
版本(整数)
通知的版本。
每次更新通知时版本都会发生变化。
该版本用于乐观锁定。
查询参数
notificationId(整数)
通知的ID。
来自(长)
定义在请求有关已定义的通知的信息时使用的开始时间戳(以微秒为单位)。
至(长)
定义在请求有关已定义的通知的信息时使用的结束时间戳(以微秒为单位)。