カスタム監視のイベントトリガー型タスクを使用すると、Auto Scaling はシステムレベルメトリックだけでなく、独自のビジネスメトリックに基づいてスケーリングアクションをトリガーできます。この機能を利用するには、カスタムメトリックを CloudMonitor にレポートし、Auto Scaling でイベントトリガー型タスクを設定してメトリックを監視し、しきい値を超えたときにスケーリングルールを実行します。
仕組み
エンドツーエンドのフローは次のとおりです。
アプリケーションは、API、Java SDK、または Alibaba Cloud コマンドラインインターフェイス (CLI) を使用して、ビジネスメトリック (キュー長やアクティブセッションなど) を CloudMonitor にレポートします。
CloudMonitor はデータを処理し、アラームルールを評価します。
前提条件
開始する前に、以下が準備されていることを確認してください。
Auto Scaling グループ
CloudMonitor へのアクセス (アプリケーショングループとアラームルールを作成するため)
Maven がインストールされていること (Java SDK を使用してメトリックをレポートする場合)
CloudMonitor へのカスタムメトリックのレポート
CloudMonitor のカスタム監視では、独自のメトリックとアラームルールを定義できます。レポートされたモニタリングデータは CloudMonitor によって処理され、その結果に基づいてアラームが生成されます。
CloudMonitor は、API、Java SDK、CLI の 3 つのレポート方法をサポートしています。次の例では Java SDK を使用します。
手順1:Maven の依存関係の追加
次の依存関係を pom.xml に追加します。
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.2.6</version>
</dependency>
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>aliyun-cms</artifactId>
<version>0.2.4</version>
</dependency>手順2:カスタムメトリックのレポート
次の例では、単一のカスタムメトリックを CloudMonitor にレポートします。プレースホルダーの値を、実際の認証情報とメトリック詳細に置き換えてください。
static String endPoint = "https://metrichub-cms-cn-hangzhou.aliyuncs.com";
CMSClient cmsClient = new CMSClient(endPoint, accAutoScalingKey, accAutoScalingSecret);
CustomMetricUploadRequest request = CustomMetricUploadRequest.builder()
.append(CustomMetric.builder()
.setMetricName("myCustomMetric") // カスタムメトリックの名前
.setGroupId(54504L) // CloudMonitor のアプリケーショングループ ID
.setTime(new Date()) // データポイントのタイムスタンプ
.setType(CustomMetric.TYPE_VALUE) // 元の (生の) 値をレポート
.appendValue(MetricAttribute.VALUE, number) // 生のメトリック値
.appendDimension("key1", "value1") // ディメンションの追加
.appendDimension("key2", "value2")
.build())
.build();
CustomMetricUploadResponse response = cmsClient.putCustomMetric(request);groupId パラメーターは、CloudMonitor のアプリケーショングループを指定します。既存のグループの ID を指定するか、新しい ID を指定します。グループが存在しない場合、CloudMonitor は自動的にグループを作成します。
可能な限り、カスタムメトリックを既存のアプリケーショングループにプッシュしてください。アプリケーショングループは、複数のクラウドサービスを論理的にグループ化したものであり、メトリックを既存のグループに関連付けることで、サービス間でアラームを設定する際の柔軟性が高まります。
手順3:レポートされたデータの確認
データをレポートした後、CloudMonitor コンソールで確認します。
[アプリケーショングループ] に移動してアプリケーショングループを表示し、その存在を確認します。
[カスタム監視] に移動して、レポートされたメトリックが時系列でリスト表示されていることを確認します。
注意事項
CloudMonitor は、レポートされたモニタリングデータを自動的に集計します。大量のデータをレポートする必要がある場合は、アップロードする前にローカルで集計して、API 呼び出しの数を減らしてください。
レポートされるモニタリングデータには制限があります。詳細については、「概要」をご参照ください。