Monitoring API を使用した通知の管理
IBM Cloud Monitoringインスタンスの通知を管理するには、MonitoringAPIを使用します。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"
説明
-
<REST_API_ENDPOINT>は、REST API 呼び出しによってターゲットとされるエンドポイントを示します。 詳しくは、MonitoringREST API エンドポイントを参照してください。 例えば、us-south で使用可能なインスタンスのパブリック・エンドポイントは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"
説明
-
<REST_API_ENDPOINT>は、REST API 呼び出しによってターゲットとされるエンドポイントを示します。 詳しくは、MonitoringREST API エンドポイントを参照してください。 例えば、us-south で使用可能なインスタンスのパブリック・エンドポイントはhttps://us-south.monitoring.cloud.ibm.com/apiです。 -
-Hを使用して複数のヘッダーを渡すことができます。AuthorizationとIBMInstanceIDは、認証に必要なヘッダーです。SysdigTeamIDはオプションです。 このヘッダーを指定すると、その要求は、指定したチームで使用できるデータおよびリソースに制限されます。AUTH_TOKENとGUIDを取得する方法については、IAM トークンのヘッダーを参照してください。 -
<NOTIFICATION_ID>は、修正したい通知のIDを定義します。
例えば、E メール通知チャネルの応答本文は、次のようになります。
{
"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
説明
-
<REST_API_ENDPOINT>は、REST API 呼び出しによってターゲットとされるエンドポイントを示します。 詳しくは、MonitoringREST API エンドポイントを参照してください。 例えば、us-south で使用可能なインスタンスのパブリック・エンドポイントは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"
説明
-
<REST_API_ENDPOINT>は、REST API 呼び出しによってターゲットとされるエンドポイントを示します。 詳しくは、MonitoringREST API エンドポイントを参照してください。 例えば、us-south で使用可能なインスタンスのパブリック・エンドポイントは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
説明
-
<REST_API_ENDPOINT>は、REST API 呼び出しによってターゲットとされるエンドポイントを示します。 詳しくは、MonitoringREST API エンドポイントを参照してください。 例えば、us-south で使用可能なインスタンスのパブリック・エンドポイントは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
注: 通知バージョンは、notificationChannels API の応答本文から取得できます。 ユーザーはまた、自分の要件に基づいて通知に 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": ""
}
}
}
通知チャネルを作成、更新、または削除する際のスキーマを表示します。
{
"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 タイム・スタンプを返します。
description (ストリング)
このパラメーターは通知を記述します。
この説明は、 モニタリング UI の notifications セクションで通知を表示するときに使用可能になり、通知 E メールに含まれます。
enabled (ブール値)
通知チャネルの状況を定義します。
通知がトリガーされたときにイベントを送信して通知するように通知チャネルを有効にする場合は、このパラメーターを true に設定します。
通知イベントを送信しないように通知チャネルを無効にするには、false に設定します。
name (ストリング)
通知の名前。 固有の名前を指定してください。
通知チャネルの名前は固有のもので、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 の API キー。 このキーは、VictorOps 統合設定ページから取得する必要があります。
channel (ストリング)
チャネルの名前。
emailRecipients (ストリング)
E メール・アドレスのリスト。
notifyOnOk (ブール値)
通知の状態が ACTIVE から OK に変更され、通知がユーザーによって手動で確認されている場合に、通知を送信するという状況を示すフラグ。
通知を送信するには、true に設定します。
notifyOnResolve (ブール値)
通知の状態が ACTIVE から OK に変更され、条件が解決されたためにトリガーされなくなり、通知がユーザーによって解決済みに手動で変更されている場合に、通知を送信するという状況を示すフラグ。
通知を送信するには、true に設定します。
resolveOnOk (ブール値)
通知の状態が ACTIVE から OK に変更され、条件が解決されたためにトリガーされなくなった場合に、通知を送信するという状況を示すフラグ。
通知を送信するには、true に設定します。
routingKey (ストリング)
VictorOps のルーティング・キー。 このキーは、VictorOps 統合設定ページから取得する必要があります。
url (ストリング)
URL エンドポイント。
タイプ
通知チャネルを定義します。
| 通知のタイプ | 値 |
|---|---|
| E メール | EMAIL |
| PagerDuty | PAGER_DUTY |
| Slack | SLACK |
| VictorOps | VICTOROPS |
| Webhook | WEBHOOK |
| OpsGenie | OPSGENIE |
version (整数)
通知のバージョン。
通知を更新するたびに、バージョンが変更されます。
バージョンは、オプティミスティック・ロックの目的で使用されます。
照会パラメーター
notificationId (整数)
通知の ID。
from (long)
定義されている通知に関する情報を要求するときに使用する開始タイム・スタンプをマイクロ秒単位で定義します。
to (long)
定義されている通知に関する情報を要求するときに使用する終了タイム・スタンプをマイクロ秒単位で定義します。