すべてのプロダクト
Search
ドキュメントセンター

Cloud Monitor:システムイベントのアラートコールバックの使用 (推奨)

最終更新日:Apr 21, 2026

Cloud Monitor は、メール、DingTalk、Lark、WeCom、Slack による通知に加えて、より柔軟なイベント処理のためのアラートコールバック機能を提供します。このトピックでは、この機能を使用してシステムイベント通知を Webhook に転送する方法について説明します。これにより、Cloud Monitor のアラートを既存の O&M (運用保守) システムや通知システムと統合できます。

前提条件

O&M (運用保守) システムまたはメッセージングシステムのパブリック URL をご用意ください。

背景情報

Cloud Monitor は、HTTP または HTTPS 経由の POST リクエストを使用して、指定された URL にアラート通知をプッシュします。ファイアウォールのホワイトリストに次の IP アドレスを追加してください。アラート通知を受信した後、その内容に基づいてさらに処理することができます。

操作手順

  1. プッシュチャンネルの作成

    この例では、Webhook をプッシュチャンネルとして使用します。

    1. Cloud Monitor コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[イベントセンター] > [イベントサブスクリプション] を選択します。

    3. [イベントサブスクリプション] ページで、[プッシュチャンネル] タブをクリックします。

    4. [プッシュチャンネル] タブで、[プッシュチャンネルの作成] をクリックします。

    5. [プッシュチャンネルの作成] パネルで、[チャンネル名] を入力し、[ターゲットタイプ] を [Webhook] に、[リクエストメソッド] を [POST] に、[データフォーマット] を [JSON] に設定します。[アドレス] フィールドにアラートコールバック URL を入力し、他のパラメーターはデフォルト設定を使用します。

    6. [OK] をクリックします。

  2. サブスクリプションポリシーの作成

    この例では、Elastic Compute Service (ECS) インスタンスの Instance:InstanceFailure.Reboot:Executing システムイベントをサブスクライブし、通知を Webhook にプッシュします。

    1. [サブスクリプションポリシー] タブをクリックします。

    2. [サブスクリプションポリシー] タブで、[サブスクリプションポリシーの作成] をクリックします。

    3. [サブスクリプションポリシーの作成] ページで、パラメーターを設定します。

      • [基本情報]:サブスクリプションポリシーの名前を入力します。

      • [アラートサブスクリプション][サブスクリプションタイプ][システムイベント] に設定します。[サブスクリプション範囲] セクションで、[プロダクト][ECS] に、[イベント名][Instance:InstanceFailure.Reboot:Executing] に設定します。他のパラメーターはデフォルト設定を使用します。これにより、ご利用のアカウント配下にあるすべての ECS インスタンスの Instance:InstanceFailure.Reboot:Executing システムイベントがサブスクライブされます。

        説明

        ECS がサポートするシステムイベントの詳細については、「ECS」をご参照ください。

      • [マージとノイズ除去]:デフォルト設定を使用します。

      • [通知][通知設定] は設定しません。[カスタム通知メソッド] にはデフォルトの通知方法を使用します。

        説明

        [通知設定] にアラートグループが設定されていないため、アラート連絡先がなく、アラート通知は受信されません。

      • [プッシュと統合]手順 1 で作成したプッシュチャンネルを選択します。

    4. [送信] をクリックします。

  3. イベントサブスクリプションのデバッグ

    1. [サブスクリプションポリシー] タブで、[イベントサブスクリプションのデバッグ] をクリックします。

    2. [イベントデバッグの作成] パネルで、[プロダクト][ECS] に、[名前][Instance:InstanceFailure.Reboot:Executing] に設定します。

      システムは自動的に JSON フォーマットでデバッグコンテンツを生成します。

    3. [OK] をクリックします。

      システムに [操作は成功しました] というメッセージが表示されます。その後、Cloud Monitor は指定した Webhook URL にテストアラート通知を自動的に送信します。

結果

システムイベントがアラートをトリガーすると、Cloud Monitor は指定した URL にアラート情報を送信します。Webhook は 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",
          "impact": "Alert",
          "opsCode": "InstanceStatusChange",
          "bizEventId": "test-event-id"
        },
        "dedupId": "test-id",
        "eventName": "CloudAssistant:FirstHeartbeat",
        "arn": "acs:ecs:cn-hangzhou:testuser:instance/i-testhost",
        "timestamp": 1704780333000,
        "traceId": "testid",
        "severity": "INFO",
        "product": "ECS",
        "eventRawContent": "{}",
        "eventType": "Notification",
        "userId": "test",
        "meta": {
          "sysEventMeta": {
            "regionNameEn": "cn-hangzhou",
            "resourceId": "acs:ecs:cn-hangzhou:test:instance/i-testhost",
            "product": "ECS",
            "eventNameEn": "CloudAssistant:FirstHeartbeat",
            "instanceName": "i-testhost",
            "level": "INFO",
            "resource": "",
            "regionNameZh": "华东1(杭州)",
            "groupId": "",
            "serviceTypeEn": "ECS",
            "eventType": "Notification",
            "serviceTypeZh": "云服务器ECS",
            "regionId": "cn-hangzhou",
            "eventTime": "20240109T140533.642+0800",
            "name": "CloudAssistant:FirstHeartbeat",
            "id": "testid",
            "status": "Normal",
            "eventNameZh": "云助手首次心跳事件"
          }
        }
      },
      "severity": "INFO",
      "strategyName": "eventwebhook",
      "userId": "test",
      "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",
          "impact": "Alert",
          "opsCode": "InstanceStatusChange",
          "bizEventId": "test-event-id"
        },
        "dedupId": "test-id",
        "eventName": "CloudAssistant:FirstHeartbeat",
        "arn": "acs:ecs:cn-hangzhou:testuser:instance/i-testhost",
        "timestamp": 1704780333000,
        "traceId": "testid",
        "severity": "INFO",
        "product": "ECS",
        "eventRawContent": "{}",
        "eventType": "Notification",
        "userId": "test",
        "meta": {
          "sysEventMeta": {
            "regionNameEn": "cn-hangzhou",
            "resourceId": "acs:ecs:cn-hangzhou:test:instance/i-testhost",
            "product": "ECS",
            "eventNameEn": "CloudAssistant:FirstHeartbeat",
            "instanceName": "i-testhost",
            "level": "INFO",
            "resource": "",
            "regionNameZh": "华东1(杭州)",
            "groupId": "",
            "serviceTypeEn": "ECS",
            "eventType": "Notification",
            "serviceTypeZh": "云服务器ECS",
            "regionId": "cn-hangzhou",
            "eventTime": "20240109T140533.642+0800",
            "name": "CloudAssistant:FirstHeartbeat",
            "id": "testid",
            "status": "Normal",
            "eventNameZh": "云助手首次心跳事件"
          }
        }
      },
      "severity": "INFO",
      "strategyName": "eventwebhook",
      "userId": "test",
      "time": 1704780333000
    }
  • POST FORM と GET FORM

    パラメーター

    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"
      }

    alert

     {
        "alertStatus": "TRIGGERED",
        "groupId": "",
        "source": "SYS_EVENT",
        "eventContentMap": {
          "extensions": {
            "agentVersion": "test-version",
            "region": "cn-hangzhou",
            "azone": "cn-hangzhou-i",
            "uptime": 23000
          },
          "vmName": "i-testhost",
          "impact": "Alert",
          "opsCode": "InstanceStatusChange",
          "bizEventId": "test-event-id"
        },
        "dedupId": "test-id",
        "eventName": "CloudAssistant:FirstHeartbeat",
        "arn": "acs:ecs:cn-hangzhou:testuser:instance/i-testhost",
        "timestamp": 1704780333000,
        "traceId": "testid",
        "severity": "INFO",
        "product": "ECS",
        "eventRawContent": "{}",
        "eventType": "Notification",
        "userId": "test",
        "meta": {
          "sysEventMeta": {
            "regionNameEn": "cn-hangzhou",
            "resourceId": "acs:ecs:cn-hangzhou:test:instance/i-testhost",
            "product": "ECS",
            "eventNameEn": "CloudAssistant:FirstHeartbeat",
            "instanceName": "i-testhost",
            "level": "INFO",
            "resource": "",
            "regionNameZh": "华东1(杭州)",
            "groupId": "",
            "serviceTypeEn": "ECS",
            "eventType": "Notification",
            "serviceTypeZh": "云服务器ECS",
            "regionId": "cn-hangzhou",
            "eventTime": "20240109T140533.642+0800",
            "name": "CloudAssistant:FirstHeartbeat",
            "id": "testid",
            "status": "Normal",
            "eventNameZh": "云助手首次心跳事件"
          }
        }
      }

    severity

    INFO

    strategyName

    eventwebhook

    userId

    test

    time

    1704780333000

フィールドの説明

フィールド

説明

外部フィールド

batchId

通知のバッチ ID。各 ID は一意の通知配信を表します。

severity

重大度レベル。

strategyName

サブスクリプションポリシーの名前。

userId

Alibaba Cloud アカウントの ID。

time

イベント時間。

userInfo オブジェクトのフィールド

aliyunId

Alibaba Cloud アカウントの ID。

userIdSec

RAM ユーザーの ID。

aliyunIdSec

マスクされた Alibaba Cloud アカウントの ID。

nickName

Alibaba Cloud アカウントのエイリアス。

nickNameSec

マスクされた Alibaba Cloud アカウントのエイリアス。

userName

Alibaba Cloud アカウントのログイン ID。

userId

Alibaba Cloud アカウントの ID。

userNameSec

マスクされた Alibaba Cloud アカウントのログイン ID。

subscription オブジェクトのフィールド

subscriptionUuid

サブスクリプションポリシーの一意の ID。

conditions

サブスクリプションポリシーの条件:

  • field:サブスクリプションフィールド。

  • op:比較演算子。

  • value:比較値。

relation

条件間の論理関係。

有効値:AND および OR。デフォルト値:AND

alert オブジェクトのフィールド

alertStatus

アラートステータス。

有効値:TRIGGERED および RESOLVED

groupId

アプリケーショングループの ID。

source

最新のアラートイベントのタイプ。

dedupId

イベントの重複排除 ID。

eventName

イベント名。

arn

イベントを生成したリソースの Alibaba Cloud Resource Name (ARN)。

timestamp

イベントのタイムスタンプ。

traceId

イベントの元の ID。

severity

重大度レベル。

product

プロダクト名。

eventRawContent

JSON 文字列としての生のイベントデータ。コンテンツはクラウドサービスによって異なります。

eventType

イベントタイプ。

userId

Alibaba Cloud アカウントの ID。

meta.sysEventMeta サブオブジェクトのフィールド

regionNameEn

リージョン名の英語表記。

resourceId

イベントに関連付けられているリソースに関する情報。

product

プロダクトコード。

eventNameEn

イベント名の英語表記。

instanceName

インスタンス名。

level

イベントレベル。

resource

システムイベントの ARN。

regionNameZh

リージョン名の中国語表記。

groupId

アプリケーショングループの ID。

serviceTypeEn

サービスタイプの英語表記。

eventType

イベントタイプ。

serviceTypeZh

サービスタイプの中国語表記。

regionId

リージョン ID。

eventTime

イベントが生成された時刻。

name

イベント名。

id

イベント ID。

status

イベントステータス。

eventNameZh

イベント名の中国語表記。

eventContentMap サブオブジェクトのフィールド

eventContentMap フィールドには、ソースサービスによって報告された情報が含まれています。詳細については、特定のクラウドプロダクトのイベントドキュメントをご参照ください。

関連ドキュメント