CloudMonitor のしきい値アラートコールバックは、メール、Webhook 通知に加えて、HTTP POST リクエストで、しきい値アラートをお客様の運用保守システムやメッセージングシステムに転送します。
前提条件
HTTP POST リクエストを受信できる、運用保守システムまたはメッセージングシステム用の公開 URL。
背景情報
CloudMonitor は、HTTP または HTTPS の POST リクエストとして、アラート通知をお客様の URL に送信します。ファイアウォールの許可リストに、次の IP アドレス範囲を追加してください。
CloudMonitor では、メモリ使用量などのしきい値に基づいてECS インスタンスを再起動する自動運用保守ルールを、コンソールで直接設定することはできません。これを実現するには、アラートコールバックを設定して独自のサービスにアラート通知をプッシュし、そのサービスが ECS API (RebootInstance など) を呼び出してインスタンスを再起動するようにします。アラートコールバックは、データ形式が
application/x-www-form-urlencodedの HTTP POST リクエストとしてプッシュされます。ECS インスタンスのステータス変更イベントに基づく自動化ソリューションについては、「ECS インスタンスのステータス変更イベントに基づく運用保守の自動化」をご参照ください。47.74.206.0/26 47.74.206.64/26 47.74.206.128/26 47.74.206.192/26 8.222.159.116CloudMonitor は、失敗したコールバックを、リクエストごとに 5 秒のタイムアウトで最大 3 回再試行します。
CloudMonitor コンソールでは、しきい値アラートコールバックの一括設定は利用できません。代わりに、次の API を使用してください。
CreateMetricRuleTemplate API を呼び出してコールバック URL を含むアラートテンプレートを作成し、ApplyMetricRuleTemplate API を呼び出してアプリケーショングループに適用します。
PutGroupMetricRule API を呼び出し、コールバック URL を指定してアプリケーショングループのアラートルールを作成または変更します。
操作手順
CloudMonitor コンソール にログインします。
左側のナビゲーションペインで、を選択します。
アラームルール ページで、目的のアラートルールの アクション 列にある 変更 をクリックします。
説明アラートルールを作成することもできます。
アラームルールの変更 パネルで、コールバック URL を入力します。
コールバック URL への接続をテストするには:
-
コールバック URL のすぐ右にあるテストをクリックします。
WebHook テストパネルで、HTTP ステータスコードとテスト結果の詳細を確認して、接続を検証します。
説明また、コールバックテンプレートタイプ: と 言語: を設定することもできます。その後、もう一度 テスト をクリックすると、更新されたテスト結果が表示されます。
-
閉じる をクリックします。
-
OK をクリックします。
結果
アラートがトリガーされると、CloudMonitor は次のパラメーターを含む POST リクエストをコールバック URL に送信します。
リクエスト本文には、今後追加のパラメーターが含まれる可能性があります。エンドポイントが未知のパラメーターを適切に処理できるようにしてください。
パラメーター | タイプ | 説明 |
alertName | String | アラート名。 |
alertState | String | アラートステータス。有効値:
|
curValue | String | アラートがトリガーまたは解決されたときのメトリック値。 |
dimensions | String | アラート対象のリソースのディメンション。例: |
expression | String | アラートをトリガーする条件。 |
groupId | String | アプリケーショングループID。 |
instanceName | String | インスタンス名。 |
lastTime | String | アラートの継続時間。値は、「2 minutes」のような文字列形式です。 |
metricName | String | [メトリック名] 列に記載されているメトリック名。「クラウドサービスのメトリック」をご参照ください。 |
metricProject | String | クラウドサービス名。ほとんどのサービスでは、 |
namespace | String | クラウドサービスの名前空間。 ほとんどのサービスでは、コールバックの 一部のサービスでは、名前空間がコールバックの |
preTriggerLevel | String | 以前のアラートの深刻度レベル。有効値:
|
productGroupName | String | アプリケーショングループ名。 |
rawMetricName | String | [メトリック ID] 列に記載されているメトリックID。「クラウドサービスのメトリック」をご参照ください。 |
regionId | String | リージョンID。 |
regionName | String | リージョン名。 |
ruleId | String | トリガーされたアラートルールのID。 |
timestamp | String | アラートがトリガーされたときのタイムスタンプ。 |
transId | String | 特定のリソースにおいて、アラートのトリガーから解決までを識別する一意のライフサイクルID。 |
triggerLevel | String | 現在のアラートの深刻度レベル。有効値:
|
unit | String | [単位] 列に記載されているメトリックの単位。「クラウドサービスのメトリック」をご参照ください。 |
userId | String | ユーザーID。 |
表 1. クラウドサービスの名前空間とコールバックの名前空間のマッピング
クラウドサービスの名前空間 | コールバックの名前空間 |
acs_ecs_dashboard | acs_ecs |
acs_slb_dashboard | acs_slb |
acs_rds_dashboard | acs_rds |
acs_oss_dashboard | acs_oss |
acs_sls_dashboard | acs_sls |
acs_ess_dashboard | acs_ess |
acs_containerservice_dashboard | acs_containerservice |
acs_apigateway_dashboard | acs_apigateway |
acs_redis_dashboard | acs_kvstore |
acs_ocs_new | acs_ocs |
acs_mns_new | acs_mns |
POST リクエストの例:
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
expression=$Average>=95&metricName=Host.mem.usedutilization&instanceName=instance-name-****&signature=eEq1zHuCUp0XSmLD8p8VtTKF****&metricProject=acs_ecs&userId=110803419679****&curValue=97.39&alertName=Basic Monitoring-ECS-Memory Usage&namespace=acs_ecs_dashboard&triggerLevel=WARN&alertState=ALERT&preTriggerLevel=WARN&ruleId=applyTemplateee147e59-664f-4033-a1be-e9595746****&dimensions={userId=110803419679****, instanceId=i-8psdh7l6lphbn10l****}×tamp=1508136760&productGroupName=test_Group&groupId=1666****&lastTime=2+minutes&rawMetricName=mem_usedutilization®ionId=cn-hangzhou®ionName=中国 (杭州)&transId=53767d2a-ae72-11ed-b2ca-00163e2c****&unit=%