メール、DingTalk、Lark、WeCom、Slack に加えて、CloudMonitor はアラートコールバック機能を提供し、アラート通知の送信を支援します。 この方法により、イベントによってトリガーされるアラートをより柔軟に処理できます。 このトピックでは、システムイベントによってトリガーされるアラートのコールバック機能を使用して、CloudMonitor によって送信されるアラート通知を既存の O&M システムまたは通知システムに統合する方法について説明します。 このトピックでは、システムイベントがサブスクライブされ、Webhook URL にプッシュされます。
前提条件
O&M システムまたは通知システムのパブリック URL が利用可能です。 この URL を使用して、O&M システムまたは通知システムにアクセスできます。
背景情報
CloudMonitor は、HTTP または HTTPS POST メソッドを使用して、指定された URL にアラート通知を送信します。 ファイアウォールのホワイトリストに次の CIDR ブロックを追加する必要があります。 アラート通知を受信したら、アラート通知の内容に基づいて問題を解決できます。
手順
プッシュチャンネルを作成します。
このトピックでは、Webhook URL をプッシュチャンネルとして使用します。
CloudMonitor コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
[イベントサブスクリプション] ページで、[プッシュチャンネル] タブをクリックします。
[プッシュチャンネル] タブで、[プッシュチャンネルの作成] をクリックします。
[プッシュチャンネルの作成] パネルで、チャンネル名を入力し、[ターゲットタイプ] を [Webhook] に設定し、[リクエストメソッド] を [POST] に設定し、[データ形式] を [JSON] に設定し、[アドレス] パラメーターをコールバック URL に設定します。 その他のパラメーターは空のままにします。
[OK] をクリックします。
サブスクリプションポリシーを作成します。
このトピックでは、Elastic Compute Service (ECS) インスタンスに関連し、[Instance:InstanceFailure.Reboot:Executing] という名前のシステムイベントがサブスクライブされ、Webhook URL にプッシュされます。
[サブスクリプションポリシー] タブをクリックします。
[サブスクリプションポリシー] タブで、[サブスクリプションポリシーの作成] をクリックします。
[サブスクリプションポリシーの作成] ページで、パラメーターを設定します。
[基本情報]: サブスクリプションポリシーの名前を入力します。
[アラートサブスクリプション]: [サブスクリプションタイプ] パラメーターを [システムイベント] に設定します。 [サブスクリプションスコープ] セクションで、[プロダクト] パラメーターを [Elastic Compute Service (ECS)] に、[イベント名] パラメーターを [Instance:InstanceFailure.Reboot:Executing] に設定します。 その他のパラメーターは空のままにします。 [Instance:InstanceFailure.Reboot:Executing] イベントは、現在の Alibaba Cloud アカウント内のすべての ECS インスタンスのシステムイベントがインスタンスエラーのために再起動されたことを示します。
説明ECS インスタンスでサポートされているシステムイベントの詳細については、「Elastic Compute Service (ECS)」をご参照ください。
[ノイズ除去の組み合わせ]: デフォルト設定を使用します。
[通知]: [通知設定] パラメーターは空のままにします。 [カスタム通知方法] パラメーターのデフォルト設定を使用します。
説明[通知設定] パラメーターにアラート連絡グループが設定されていないため、アラート連絡先にアラート通知は送信されません。
[プッシュと統合]: 手順 1 で作成したプッシュチャンネルを選択します。
[送信] をクリックします。
イベントサブスクリプションをデバッグします。
[サブスクリプションポリシー] タブで、[イベントサブスクリプションのデバッグ] をクリックします。
[イベントデバッグの作成] パネルで、[プロダクト] パラメーターを [Elastic Compute Service (ECS)] に、[名前] パラメーターを [Instance:InstanceFailure.Reboot:Executing] に設定します。
CloudMonitor は JSON 形式でデバッグコンテンツを自動的に生成します。
[OK] をクリックします。
[操作は成功しました] メッセージが返されます。 CloudMonitor は、指定された Webhook URL にテストアラート通知を自動的に送信します。
結果
システムイベントがアラートをトリガーすると、CloudMonitor は指定された Webhook URL にアラート情報を送信します。 Webhook URL でサポートされているリクエストメソッドには、POST と GET が含まれます。 例:
POST JSON
パラメーター名:
bodyサンプルコード:
{ "userInfo": { "aliyunId": "test", "userIdSec": "te***st", "aliyunIdSec": "test***test", "nickName": "test", "nickNameSec": "te***st", "userName": "test", "userId": "test", "userNameSec": "te***st" }, "subscription": { "subscriptionUuid": "testid", "conditions": [ { "field": "source", "op": "EQ", // 等しい "value": "SYS_EVENT" // システムイベント }, { "field": "product", "op": "IN", // 次のいずれか "value": "ECS,Redis,RDS,Config,tag" } ], "relation": "AND" // かつ }, "batchId": "testbatchid", "alert": { "alertStatus": "TRIGGERED", // トリガー済み "groupId": "", "source": "SYS_EVENT", // システムイベント "eventContentMap": { "extensions": { "agentVersion": "test-version", "region": "cn-hangzhou", // リージョン "azone": "cn-hangzhou-i", // アベイラビリティーゾーン "uptime": 23000 // 稼働時間 }, "vmName": "i-testhost", // VM名 "impact": "Alert", // アラート "opsCode": "InstanceStatusChange", // インスタンスステータス変更 "bizEventId": "test-event-id" // ビジネスイベントID }, "dedupId": "test-id", // 重複排除ID "eventName": "CloudAssistant:FirstHeartbeat", // イベント名 "arn": "acs:ecs:cn-hangzhou:testuser:instance/i-testhost", // ARN "timestamp": 1704780333000, // タイムスタンプ "traceId": "testid", // トレースID "severity": "INFO", // 情報 "product": "ECS", // ECS "eventRawContent": "{}", // 生データコンテンツ "eventType": "Notification", // 通知 "userId": "test", // ユーザーID "meta": { "sysEventMeta": { "regionNameEn": "cn-hangzhou", // リージョン名(英語) "resourceId": "acs:ecs:cn-hangzhou:test:instance/i-testhost", // リソースID "product": "ECS", // プロダクト "eventNameEn": "CloudAssistant:FirstHeartbeat", // イベント名(英語) "instanceName": "i-testhost", // インスタンス名 "level": "INFO", // レベル "resource": "", // リソース "regionNameZh": "China (Hangzhou)", // リージョン名(中国語) "groupId": "", // グループID "serviceTypeEn": "ECS", // サービスタイプ(英語) "eventType": "Notification", // イベントタイプ "serviceTypeZh": "Elastic Compute Service (ECS)", // サービスタイプ(中国語) "regionId": "cn-hangzhou", // リージョンID "eventTime": "20240109T140533.642+0800", // イベント時間 "name": "CloudAssistant:FirstHeartbeat", // 名前 "id": "testid", // ID "status": "Normal", // ステータス "eventNameZh": "CloudAssistant:FirstHeartbeat" // イベント名(中国語) } } }, "severity": "INFO", // 情報 "strategyName": "eventwebhook", // 戦略名 "userId": "test", // ユーザーID "time": 1704780333000 // 時間 }GET JSON
パラメーター名:
dataサンプルコード:
{ "userInfo": { "aliyunId": "test", "userIdSec": "te***st", "aliyunIdSec": "test***test", "nickName": "test", "nickNameSec": "te***st", "userName": "test", "userId": "test", "userNameSec": "te***st" }, "subscription": { "subscriptionUuid": "testid", "conditions": [ { "field": "source", "op": "EQ", // 等しい "value": "SYS_EVENT" // システムイベント }, { "field": "product", "op": "IN", // 次のいずれか "value": "ECS,Redis,RDS,Config,tag" } ], "relation": "AND" // かつ }, "batchId": "testbatchid", "alert": { "alertStatus": "TRIGGERED", // トリガー済み "groupId": "", "source": "SYS_EVENT", // システムイベント "eventContentMap": { "extensions": { "agentVersion": "test-version", "region": "cn-hangzhou", // リージョン "azone": "cn-hangzhou-i", // アベイラビリティーゾーン "uptime": 23000 // 稼働時間 }, "vmName": "i-testhost", // VM名 "impact": "Alert", // アラート "opsCode": "InstanceStatusChange", // インスタンスステータス変更 "bizEventId": "test-event-id" // ビジネスイベントID }, "dedupId": "test-id", // 重複排除ID "eventName": "CloudAssistant:FirstHeartbeat", // イベント名 "arn": "acs:ecs:cn-hangzhou:testuser:instance/i-testhost", // ARN "timestamp": 1704780333000, // タイムスタンプ "traceId": "testid", // トレースID "severity": "INFO", // 情報 "product": "ECS", // ECS "eventRawContent": "{}", // 生データコンテンツ "eventType": "Notification", // 通知 "userId": "test", // ユーザーID "meta": { "sysEventMeta": { "regionNameEn": "cn-hangzhou", // リージョン名(英語) "resourceId": "acs:ecs:cn-hangzhou:test:instance/i-testhost", // リソースID "product": "ECS", // プロダクト "eventNameEn": "CloudAssistant:FirstHeartbeat", // イベント名(英語) "instanceName": "i-testhost", // インスタンス名 "level": "INFO", // レベル "resource": "", // リソース "regionNameZh": "China (Hangzhou)", // リージョン名(中国語) "groupId": "", // グループID "serviceTypeEn": "ECS", // サービスタイプ(英語) "eventType": "Notification", // イベントタイプ "serviceTypeZh": "Elastic Compute Service (ECS)", // サービスタイプ(中国語) "regionId": "cn-hangzhou", // リージョンID "eventTime": "20240109T140533.642+0800", // イベント時間 "name": "CloudAssistant:FirstHeartbeat", // 名前 "id": "testid", // ID "status": "Normal", // ステータス "eventNameZh": "CloudAssistant:FirstHeartbeat" // イベント名(中国語) } } }, "severity": "INFO", // 情報 "strategyName": "eventwebhook", // 戦略名 "userId": "test", // ユーザーID "time": 1704780333000 // 時間 }POST FORM and GET FORM
パラメーター
説明
userInfo
{ "aliyunId": "test", // Alibaba Cloud ID "userIdSec": "te***st", // RAM ユーザー ID "aliyunIdSec": "test***test", // マスクされたアカウント ID "nickName": "test", // Alibaba Cloud アカウントのエイリアス "nickNameSec": "te***st", // マスクされたエイリアス "userName": "test", // ログインアカウント ID "userId": "test", // Alibaba Cloud アカウント ID "userNameSec": "te***st" // マスクされたログインアカウント ID }subscription
{ "subscriptionUuid": "testid", // サブスクリプションポリシーの UUID "conditions": [ { "field": "source", "op": "EQ", // 等しい "value": "SYS_EVENT" // システムイベント }, { "field": "product", "op": "IN", // 次のいずれか "value": "ECS,Redis,RDS,Config,tag" } ], "relation": "AND" // かつ }alert
{ "alertStatus": "TRIGGERED", // トリガー済み "groupId": "", // アプリケーショングループ ID "source": "SYS_EVENT", // システムイベント "eventContentMap": { // イベントコンテンツマップ(各クラウドサービスによって異なる) "extensions": { "agentVersion": "test-version", // エージェントバージョン "region": "cn-hangzhou", // リージョン "azone": "cn-hangzhou-i", // アベイラビリティーゾーン "uptime": 23000 // 稼働時間 }, "vmName": "i-testhost", // VM名 "impact": "Alert", // アラート "opsCode": "InstanceStatusChange", // インスタンスステータス変更 "bizEventId": "test-event-id" // ビジネスイベントID }, "dedupId": "test-id", // 重複排除ID "eventName": "CloudAssistant:FirstHeartbeat", // イベント名 "arn": "acs:ecs:cn-hangzhou:testuser:instance/i-testhost", // ARN "timestamp": 1704780333000, // タイムスタンプ "traceId": "testid", // トレースID "severity": "INFO", // 情報 "product": "ECS", // ECS "eventRawContent": "{}", // 生データコンテンツ "eventType": "Notification", // 通知 "userId": "test", // ユーザーID "meta": { "sysEventMeta": { "regionNameEn": "cn-hangzhou", // リージョン名(英語) "resourceId": "acs:ecs:cn-hangzhou:test:instance/i-testhost", // リソースID "product": "ECS", // プロダクト "eventNameEn": "CloudAssistant:FirstHeartbeat", // イベント名(英語) "instanceName": "i-testhost", // インスタンス名 "level": "INFO", // レベル "resource": "", // リソース "regionNameZh": "China (Hangzhou)", // リージョン名(中国語) "groupId": "", // グループID "serviceTypeEn": "ECS", // サービスタイプ(英語) "eventType": "Notification", // イベントタイプ "serviceTypeZh": "Elastic Compute Service (ECS)", // サービスタイプ(中国語) "regionId": "cn-hangzhou", // リージョンID "eventTime": "20240109T140533.642+0800", // イベント時間 "name": "CloudAssistant:FirstHeartbeat", // 名前 "id": "testid", // ID "status": "Normal", // ステータス "eventNameZh": "CloudAssistant:FirstHeartbeat" // イベント名(中国語) } } }severity
INFO
strategyName
eventwebhook
userId
test
time
1704780333000
戻り値のフィールド
フィールド | 説明 | |
外部フィールド | batchId | 現在の通知のバッチ ID。各通知を表します。 |
severity | 重大度。 | |
strategyName | サブスクリプション名。 | |
userId | ユーザー ID。 | |
time | イベント時間。 | |
| aliyunId | Alibaba Cloud アカウントの ID。 |
userIdSec | Resource Access Management (RAM) ユーザーの ID。 | |
aliyunIdSec | マスクされたアカウント ID。 | |
nickName | Alibaba Cloud アカウントのエイリアス。 | |
nickNameSec | Alibaba Cloud アカウントのマスクされたエイリアス。 | |
userName | ログインアカウントの ID。 | |
userId | Alibaba Cloud アカウントの ID。 | |
userNameSec | ログインアカウントのマスクされた ID。 | |
| subscriptionUuid | サブスクリプションポリシーの一意の ID。 |
conditions | イベントサブスクリプションポリシーの条件。有効な値:
| |
関係 | サブスクリプション条件。 有効な値:AND および OR。デフォルト値:AND。 | |
| alertStatus | アラートステータスです。 有効な値:TRIGGERED および RESOLVED。 |
groupId | アプリケーショングループの ID です。 | |
ソース | 最新のアラートイベントの種類です。 | |
dedupId | イベントの重複排除 ID です。 | |
イベント名 | イベントの名前です。 | |
arn | イベントをトリガーするリソースの Alibaba Cloud リソースネーム (ARN)。 | |
タイムスタンプ | イベントのタイムスタンプ。 | |
traceId | イベントの元の ID です。 | |
重大度 | 重大度レベルです。 | |
プロダクト | プロダクト名。 | |
eventRawContent | イベントの JSON 文字列形式の生データコンテンツです。これはクラウドサービスによって異なります。 | |
イベントタイプ | イベントタイプです。 | |
userId | ユーザー ID です。 | |
| リージョン名 (英語) | リージョンの英語名。 |
resourceId | イベントをトリガーするリソースの ID です。 | |
プロダクト | プロダクトコードです。 | |
eventNameEn | イベントの英語名です。 | |
インスタンス名 | インスタンスの名前。 | |
レベル | イベントレベルです。 | |
リソース | システムイベントの ARN です。 | |
regionNameZh | リージョンの中国語名。 | |
groupId | アプリケーショングループの ID です。 | |
serviceTypeEn | サービスの種類 (英語)。 | |
eventType | イベントタイプです。 | |
serviceTypeZh | サービス タイプ(中国語)。 | |
regionId | リージョン ID です。 | |
eventTime | イベントが生成された時間です。 | |
名前 | イベント名。 | |
ID | イベント ID です。 | |
ステータス | イベント ステータスです。 | |
イベント名(中国語) | イベントの中国語名。 | |
|
| |