Managed Service for Prometheus インスタンスから別の Prometheus インスタンス (マネージドまたはセルフマネージド) にリモートライトを介してメトリクスデータを転送することで、すべてのメトリクスを 1 か所でクエリおよび保存できます。
データ配信は EventBridge 上で実行され、メトリクスデータをソースからターゲットにルーティングします。EventBridge は 2025 年 6 月 3 日より商用利用が開始されます。課金の詳細については、「EventBridge の料金」をご参照ください。
前提条件
以下が満たされていることを確認してください。
-
Prometheus インスタンス。作成方法については、以下をご参照ください。
-
EventBridge が有効化されていること。詳細については、「EventBridge の有効化と権限の付与」をご参照ください。
サポートされるインスタンスタイプ
サポートされるソースインスタンスのタイプと制限事項は以下のとおりです。
| インスタンスタイプ | 制限事項 |
|---|---|
| Alibaba Cloud サービス向け Prometheus | 無料インスタンスはサポートされていますが、名前が cloud-product-prometheus で始まるインスタンスは除きます。 |
| コンテナサービス向け Prometheus | 制限なし |
| アプリケーション監視向け Prometheus | 制限なし |
| Flink Serverless 向け Prometheus | 制限なし |
| Kubernetes 向け Prometheus | 制限なし |
| 汎用 Prometheus インスタンス | OpenTelemetry エンドポイントを使用してデータを送信するインスタンスはサポートされていません。 |
無料の Prometheus インスタンスは配信のターゲットとして使用できません。配信タスクの作成後に生成されたリアルタイムデータのみがエクスポート可能です。履歴データの配信はサポートされていません。
配信タスクの作成
-
Application Real-Time Monitoring Service (ARMS) コンソールにログインします。
-
ナビゲーションペインで、[Managed Service for Prometheus] > [Data Delivery] を選択します。
-
[Data Delivery] ページで、リージョンを選択し、[Create Task] をクリックします。
-
ダイアログボックスで、[Task Name] と [Task Description] を入力し、[OK] をクリックします。
-
[Edit Task] ページで、データソースとターゲットを追加します。
データソースの追加
-
[+ Add Data Source] をクリックし、以下のパラメーターを設定して [OK] をクリックします。
パラメーター
説明
例
[Prometheus インスタンス]
配信するデータを含むソースインスタンス。
c78cb8273c02*****[データフィルタリング]
ラベルでメトリクスをフィルタリングします。正規表現がサポートされています。改行で条件を区切ります。条件は AND ロジックで結合されます。
__name__=AliyunEcs_CPUUtilization|AliyunEcs_memory_usedutilizationregionId=cn-hangzhouid=i-2ze0mxp.*[データラベリング]
配信されるメトリクスにカスタムラベルを付与します。ラベルは改行で区切ります。
deliver_test_key1=ssssdeliver_test_key2=yyyy
ターゲットの追加
-
[Add Target] をクリックし、[Destination Type] を [Prometheus Remote Write] に設定し、残りのパラメーター (オプションの [external_labels] を含む) を設定して、[OK] をクリックします。
説明異なるソースインスタンスからのデータを区別するために
external_labelsを使用します。たとえば、source_cluster=cluster-01を追加して、ターゲットでメトリクスのオリジンを識別します。 -
-
[OK] をクリックし、次に [Save] をクリックします。
リモートライトのエンドポイントと認証の設定
エンドポイントと認証の設定は、ターゲットインスタンスのタイプによって異なります。
Managed Service for Prometheus インスタンス
| 設定 | 詳細 |
|---|---|
| リモートライトエンドポイント | 「リモートライト URL を使用して Managed Service for Prometheus へ監視データを書き込むようにオープンソース Prometheus を設定する」をご参照ください。 |
| 認証 | 認証方法を指定し、必要な権限を持つ AccessKey ペアを提供します。「RAM ユーザーの AccessKey 情報を表示する」をご参照ください。 |
セルフマネージド Prometheus インスタンス
| 設定 | 詳細 |
|---|---|
| リモートライトエンドポイント | 「Prometheus remote write specification」をご参照ください。 |
| Prometheus バージョン | 2.39 以降が必要です。 |
| 順不同の取り込み | out_of_order_time_window を設定します。「What's new in Prometheus 2.39」をご参照ください。 |
| リモートライトレシーバー | 起動パラメーター --web.enable-remote-write-receiver を有効にします。「Prometheus remote write receiver」をご参照ください。 |
ネットワークの設定
ネットワーク設定は、ターゲットインスタンスのタイプによって異なります。
Managed Service for Prometheus インスタンス
| ネットワークタイプ | 設定 |
|---|---|
| インターネット | 追加の設定は不要です。 |
| VPC | ターゲットと同じリージョンにある VPC を選択します。内部エンドポイントをリモートライト URL として使用します。 |
セルフマネージド Prometheus インスタンス
| ネットワークタイプ | 設定 |
|---|---|
| インターネット | 追加の設定は不要です。 |
| VPC | セルフマネージド Prometheus インスタンスにアクセスできる VPC と vSwitch を選択します。タスクは、選択された vSwitch 上の IP をアウトバウンド IP として割り当てます。 |
通常、Prometheus は Server Load Balancer (SLB) を使用してサービスを公開します。「サービス管理」をご参照ください。
VPC ネットワーク要件:ソースとターゲットが異なる VPC にある場合、ターゲット vSwitch の CIDR ブロックを Prometheus インスタンスのホワイトリストに追加する必要があります。そうしないと、ネットワーク接続が失敗する可能性があります。CIDR ブロックは、VPC コンソールの [vSwitch] ページで確認できます。
配信の検証
-
ARMS コンソールにログインします。
-
ナビゲーションペインで、[Managed Service for Prometheus] > [Instances] を選択します。
-
ターゲットの Managed Service for Prometheus インスタンスをクリックし、ナビゲーションペインで [Metric Management] をクリックします。
-
[Metrics Explorer] タブで、ソースインスタンスのメトリクスを検索し、ターゲットに表示されることを確認します。
アクセスログによる ALB 監視データの取得 (セルフマネージド Prometheus)
Managed Service for Prometheus インスタンスに接続されていない、完全にセルフマネージドの Prometheus および Grafana 環境を実行している場合でも、Application Load Balancer (ALB) の監視データを収集できます。
データは、ALB アクセスログ → Simple Log Service (SLS) → セルフマネージド Prometheus → Grafana というパイプラインを通過します。
-
ALB アクセスログの有効化
ALB コンソールにログインし、ターゲット ALB インスタンスの詳細ページに移動します。アクセスログ タブで、アクセスログを作成し、ログを指定した SLS の プロジェクト と Logstore に配信するよう設定します。手順については、「ALB アクセスログ」をご参照ください。
-
セルフマネージド Prometheus を SLS データソースに接続
次のいずれかの方法を選択します。
-
オプション 1:SLS Remote Read API を介してデータを読み取る
セルフマネージド Prometheus の設定ファイルに
remote_read設定を追加し、SLS Remote Read エンドポイントを指定します。AccessKey認証を設定する必要があります。 -
オプション 2:SLS Exporter を介してデータを収集する
セルフマネージド環境に SLS Exporter をデプロイし、ALB アクセスログを受信する SLS Logstore に接続するように設定します。SLS Exporter は、ログデータを Prometheus メトリクス形式に変換します。
-
-
Grafana での監視データの表示
Grafana でセルフマネージド Prometheus インスタンスをデータソースとして追加し、ALB 監視ダッシュボードをインポートまたは作成して ALB メトリクスを表示します。
配信方法の比較
|
方法 |
適用シナリオ |
|
この方法 (ALB アクセスログ) |
完全にセルフマネージドの監視環境を持ち、Managed Service for Prometheus を使用していないユーザー向けです。データは ALB アクセスログから取得されます。 |
|
リモートライト (このトピックの前半で説明した方法) |
既に Managed Service for Prometheus インスタンスを使用しており、そこからリモートライトを介してメトリクスデータを配信しているユーザー向けです。 |
よくある質問
データ配信に EventBridge が必要なのはなぜですか?
データ配信は、トランスポート層として EventBridge を使用します。配信タスクを作成する前に EventBridge を有効化してください。標準の EventBridge 料金が適用されます。
履歴メトリクスデータを配信できますか?
いいえ。配信タスクを作成した後に生成されたリアルタイムデータのみがエクスポートされます。
データがターゲットインスタンスに表示されない場合はどうすればよいですか?
以下を確認してください。
-
[Data Delivery] ページで配信タスクがアクティブであることを確認してください。
-
VPC をまたぐネットワークの場合、ターゲット vSwitch の CIDR ブロックが Prometheus インスタンスのホワイトリストに追加されていることを確認してください。
-
セルフマネージドのターゲットの場合、Prometheus 2.39 以降が実行されていること、
--web.enable-remote-write-receiverが有効になっていること、out_of_order_time_windowが設定されていることを確認してください。 -
リモートライトエンドポイントの URL が正しく、配信タスクのネットワークからアクセス可能であることを確認してください。
無料の Prometheus インスタンスにデータを配信できますか?
いいえ。無料の Prometheus インスタンスは配信のターゲットとして使用できません。