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

Container Service for Kubernetes:Managed Service for Prometheus による ACK Edge クラスターの監視

最終更新日:Oct 14, 2026

Managed Service for Prometheus のモニタリングを使用すると、ACK Edge クラスター向けの事前定義済みモニタリングダッシュボードとパフォーマンスメトリクスを確認できます。Managed Service for Prometheus で、ACK Edge クラスターのモニタリングを有効にします。

前提条件

  • バージョン 1.18.8-aliyunedge.1 以降の ACK Edge クラスターを作成します。

  • ACK Edge クラスターに、バージョン 1.1.4 以降の ack-arms-prometheus がインストールされていることを確認してください。インストールされていない場合は、ack-arms-prometheus をアップグレードしてください。

  • クラスターのバージョンが 1.26 未満の場合は、kube-system/edge-tunnel-server-cfg ConfigMap で、Node Exporter (ポート 9100, https-proxy-ports) と GPU Exporter (ポート 9445, http-proxy-ports) のポートフォワーディングが有効になっていることを確認してください。以下の構成を使用します。

    http-proxy-ports: 9445
    https-proxy-ports: 9100

Managed Service for Prometheus モニタリングの概要

Managed Service for Prometheus は、オープンソースの Prometheus エコシステムと完全に統合され、幅広いコンポーネントのモニタリングをサポートします。標準で複数の事前定義済みモニタリングダッシュボードと、フルマネージドの Prometheus サービスを提供します。Managed Service for Prometheus モニタリングを使用すると、独自の Prometheus モニタリングシステムを構築したり、データストレージ、データ表示、システムの運用保守などの基盤的な問題について心配したりする必要はありません。

ACK エッジクラスターは、Container Monitoring Basic Edition をサポートします。

Managed Service for Prometheus の Grafana ダッシュボードの表示

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. クラスターリスト ページで、管理するクラスターの名前をクリックします。左側のナビゲーションペインで、 操作 > Prometheus 監視 を選択します。

    説明

    初めてログインする場合は、画面の指示に従い、アドオンの下にある インストール をクリックします。コンソールはアドオンを自動的にインストールし、モニタリングダッシュボードを確認します。インストールが完了すると、Prometheus モニタリングの詳細ページが表示されます。

    Prometheus 監視 ページでは、ノードモニタリング、アプリケーションモニタリング、GPU モニタリングなどの組み込みのモニタリングダッシュボードを使用して、クラスター内のノード、アプリケーション、GPU のモニタリングデータを表示できます。

Prometheus モニタリングアラートの設定

モニタリングジョブのアラートを作成すると、異常をプロアクティブに検出するのに役立ちます。アラート条件が満たされると、電話、メール、SMS、DingTalk、WeCom、Webhook などのチャネルを通じてアラートがリアルタイムで送信されます。アラートルールがトリガーされると、指定された連絡先グループに通知が送信されます。連絡先グループを作成する前に、連絡先を作成する必要があります。連絡先を作成する際に、通知を受信するための携帯電話番号とメールアドレスを指定できます。また、通知ポリシーで受信グループを指定することでアラートを受信し、アラートを迅速に管理することもできます。

手順1:連絡先の作成

  1. ARMS コンソール にログオンします。左側のナビゲーションウィンドウで、[アラート管理] > [通知対象] を選択します。

  2. 連絡先 タブで、連絡先の新規作成 をクリックします。

  3. 連絡先の新規作成 ダイアログボックスで、パラメーターを設定し、OK をクリックします。

    パラメーター

    説明

    名前

    連絡先の任意の名前を指定します。

    携帯電話番号

    携帯電話番号を指定すると、連絡先は電話と SMS でアラート通知を受信できます。

    説明

    通知ポリシーで電話通知に使用できるのは、認証済みの携帯電話番号のみです。携帯電話番号の認証については、「電話番号の認証」をご参照ください。

    メールアドレス

    メールアドレスを指定すると、連絡先はメールでアラート通知を受信できます。

    重要

    最大 100 件の連絡先を追加できます。

手順2:Prometheus アラートルールの作成

静的しきい値を使用した Prometheus アラートルールの作成

静的しきい値チェックタイプは、システムにプリセットされたアラートメトリクスを提供します。既存のアラートメトリクスを選択することで、分かりやすいオプションを使用してそのメトリクスのアラートルールを迅速に作成できます。

  1. にログインします。 ARMSコンソールを使用します。

  2. 左側のナビゲーションペインで、Prometheusモニタリング > Prometheus アラートルール を選択します。

  3. Prometheus アラートルール ページで、Prometheus アラートルールの作成 をクリックします。

  4. Prometheus アラートルールの作成 ページで、次のアラートパラメーターを設定し、保存 をクリックします。

    パラメーター

    説明

    例

    アラート名

    アラートの名前です。

    prod-cluster-container-cpu-alert

    チェック種別

    静的しきい値を選択します。

    静的閾値

    Prometheus インスタンス

    アラートを作成する Prometheus インスタンスを選択します。

    Production Cluster

    アラートグループ

    アラートグループを選択します。

    異なる Prometheus タイプは、異なるアラートグループをサポートします。利用可能なアラートグループオプションは、選択した Prometheus インスタンスタイプによって変わります。

    Kubernetes Workloads

    アラートメトリック

    アラートを設定するメトリクスを選択します。各アラートグループは異なるメトリクスに対応しています。

    Container CPU utilization

    アラート条件

    アラートメトリクスの事前定義された内容に基づいて、アラートイベントをトリガーする条件を設定します。

    コンテナの CPU 使用率が 80% より大きい 場合、アラート条件が満たされます。

    フィルター条件

    アラートメトリクスに基づいて、アラートルールのスコープを定義します。フィルター条件に一致するいずれかのリソースがアラート条件を満たすと、アラートイベントがトリガーされます。

    以下のフィルター条件が利用可能です。

    • [トラバーサル]:アラートルールは、現在の Prometheus インスタンス内のすべてのリソースに適用されます。走査はデフォルトのフィルター条件です。

    • [等しい]:この条件を選択した後、特定のリソース名を入力します。アラートルールはそのリソースにのみ適用されます。複数のリソース名を入力することはできません。

    • [次の値に等しくない:]:この条件を選択した後、特定のリソース名を入力します。アラートルールは、指定されたリソースを除くすべてのリソースに適用されます。複数のリソース名を入力することはできません。

    • [正規表現に一致]:この条件を選択した後、必要に応じてリソース名に一致する正規表現を入力します。アラートルールは、正規表現に一致するすべてのリソースに適用されます。

    • [正規表現と一致しない]:この条件を選択した後、必要に応じてリソース名に一致する正規表現を入力します。アラートルールは、正規表現に一致しないすべてのリソースに適用されます。

    説明
    • フィルター条件を設定すると、データプレビュー エリアが表示されます。

    • フィルター条件は 300 文字を超えることはできません。

    走査

    データプレビュー

    データプレビュー エリアには、アラート条件に対応する Prometheus Query Language (PromQL) 式が表示されます。また、モニタリングメトリクスの値が時系列曲線として表示されます。

    デフォルトでは、1 つのリソースのリアルタイム値のみが表示されます。このエリアのフィルターボックスでターゲットリソースと時間範囲を選択することで、異なるリソースと時間範囲の値を表示できます。

    説明
    • アラートしきい値は、時系列曲線上に赤い直線として表示されます。アラートしきい値を満たす曲線の部分は濃い赤で表示され、満たさない部分は青で表示されます。

    • 時系列曲線にマウスを合わせると、特定の時点でのリソースの詳細が表示されます。

    • 時系列曲線上で時間範囲を選択すると、その期間の曲線が表示されます。

    なし

    期間

    • いずれかのデータポイントがしきい値を満たすと、アラートイベントが即座にトリガーされます。

    • アラート条件が N 分間継続した場合にのみ、アラートイベントがトリガーされます。

    1

    アラートレベル

    アラートレベルをカスタマイズします。デフォルトのアラートレベルは [Default] です。重大度は、Default、P4、P3、P2、P1 の順に高くなります。

    Default

    アラート内容

    ユーザーが受信するアラート情報です。Go テンプレート構文を使用して、アラートコンテンツ内のアラートパラメーター変数をカスタマイズできます。

    Namespace: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / Container: {{$labels.container}} CPU utilization {{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%, Current value: {{ printf "%.2f" $value }}%

    アラート通知

    • [シンプルモード]:Notification Receiver、[通知期間]、および 繰り返しポリシー を設定できます。

    • [通常モード]:

      • 通知ポリシーを指定しない:このオプションを選択した場合、アラートルールを作成した後、通知ポリシー ページで新しい通知ポリシーを作成し、アラートルール名などのマッチングルールとマッチング条件を指定して、アラートルールを一致させることができます。アラートルールがトリガーされてアラートイベントが生成されると、アラート情報は通知ポリシーで指定された連絡先または連絡先グループに送信されます。詳細については、「通知ポリシー」をご参照ください。

      • 通知ポリシーを指定する:このオプションを選択した場合、ARMS は対応する通知ポリシーにマッチングルールを自動的に追加します。マッチングルールの内容はアラートルール ID であり、アラートルール名として表示されます。これにより、現在のアラートルールによって生成されたアラートイベントが、選択した通知ポリシーに一致することが保証されます。

      重要

      通知ポリシーを直接指定することで、現在のアラートルールからのアラートイベントが選択した通知ポリシーに一致し、対応するアラートが生成されることが保証されます。ただし、現在のアラートルールからのイベントは、あいまい一致で設定された他の通知ポリシーによっても一致する可能性があり、これもアラートを生成します。アラートイベントと通知ポリシーの関係は、多対多のマッピングです。

    通知ルールを指定しない

    [詳細設定]

    アラートチェック間隔

    システムがアラートルールをチェックして、データがアラート条件を満たしているかどうかを判断する間隔です。デフォルトは 1 分で、最小値は 1 分です。

    1

    データ完了後にチェック

    • はい

    • いいえ

    はい

    タグ

    アラートのタグを設定します。タグは、通知ポリシーのマッチングルールのオプションとして使用できます。

    なし

    アノテーション

    アラートのアノテーションを設定します。

    なし

カスタム PromQL を使用した Prometheus アラートルールの作成

静的しきい値チェックタイプで提供されるシステムプリセットのメトリクス以外のメトリクスを監視するには、カスタム PromQL チェックタイプを使用してアラートルールを作成します。

Prometheus アラートルールの作成 ページで、次のアラートパラメーターを設定し、保存 をクリックします。

パラメーター

説明

例

アラート名

アラートの名前です。

Pod CPU usage is greater than 8%

チェック種別

カスタム PromQL クエリに設定します。

カスタム PromQL クエリ

Prometheus インスタンス

アラートを作成する Prometheus インスタンスを選択します。

なし

参照アラートグループ

アラートグループを選択します。

異なる Prometheus タイプは、異なるアラートグループをサポートします。利用可能なアラートグループオプションは、選択した Prometheus インスタンスタイプによって変わります。

Kubernetes Workload

基準アラートメトリック

オプションです。参照メトリクスは、一般的なメトリクスのカスタム PromQL 設定を提供します。類似のメトリクスを選択すると、フィールドが自動入力されます。次に、必要に応じて設定を変更します。

[参照メトリック] パラメーターは、選択されたPrometheus インスタンスタイプに基づいて、サポートされているアラートメトリックを自動的に絞り込みます。

Pod disk usage alert

カスタム PromQL ステートメント

PromQL 式を使用して、アラートルール式を設定します。

Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/Disk device: {{$labels.device}} usage exceeds 90%, current value {{ printf "%.2f" $value }}%max(container_fs_usage_bytes{pod!="", namespace!="arms-prom",namespace!="monitoring"}) by (pod_name, namespace, device)/max(container_fs_limit_bytes{pod!=""}) by (pod_name,namespace, device) * 100 > 90

データプレビュー

データプレビュー エリアには、アラート条件に対応する Prometheus Query Language (PromQL) 式が表示されます。また、モニタリングメトリクスの値が時系列曲線として表示されます。

デフォルトでは、1 つのリソースのリアルタイム値のみが表示されます。このエリアのフィルターボックスでターゲットリソースと時間範囲を選択することで、異なるリソースと時間範囲の値を表示できます。

説明
  • 時系列曲線にマウスを合わせると、特定のデータポイントのリソースの詳細が表示されます。

  • 曲線上で時間範囲を選択すると、その期間の時系列が表示されます。

なし

期間

  • いずれかのデータポイントがしきい値を満たすと、アラートは即座にトリガーされます。

  • 条件が N 分間継続した場合にのみ、アラートがトリガーされます。

1

アラートレベル

アラートレベルをカスタマイズします。デフォルトのアラートレベルは [Default] です。重大度は、Default、P4、P3、P2、P1 の順に高くなります。

Default

アラート内容

ユーザーが受信するアラート情報です。Go テンプレート構文を使用して、アラートコンテンツ内のパラメーター変数をカスタマイズできます。

次の例は、Pod 再起動アラートのテンプレートを示しています。これにより、読みやすい通知コンテンツを設定できます。

Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}} restarted more than {{ $labels.metrics_params_value}} times in {{$labels.metrics_params_time}} minutes. Current restarts: {{ $value }}

Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/Disk device: {{$labels.device}} usage exceeds 90%, current value {{ printf "%.2f" $value }}%

アラート通知

  • [シンプルモード]:Notification Receiver、[通知期間]、および 繰り返しポリシー を設定できます。

  • [通常モード]:

    • 通知ポリシーを指定しない:このオプションを選択した場合、アラートルールを作成した後、通知ポリシー ページで新しい通知ポリシーを作成し、アラートルール名などのマッチングルールとマッチング条件を指定して、アラートルールを一致させることができます。アラートルールがトリガーされてアラートイベントが生成されると、アラート情報は通知ポリシーで指定された連絡先または連絡先グループに送信されます。詳細については、「通知ポリシー」をご参照ください。

    • 通知ポリシーを指定する:このオプションを選択した場合、ARMS は対応する通知ポリシーにマッチングルールを自動的に追加します。マッチングルールの内容はアラートルール ID であり、アラートルール名として表示されます。これにより、現在のアラートルールによって生成されたアラートイベントが、選択した通知ポリシーに一致することが保証されます。

    重要

    通知ポリシーを直接指定することで、現在のアラートルールからのアラートイベントが選択した通知ポリシーに一致し、対応するアラートが生成されることが保証されます。ただし、現在のアラートルールからのイベントは、あいまい一致で設定された他の通知ポリシーによっても一致する可能性があり、これもアラートを生成します。アラートイベントと通知ポリシーの関係は、多対多のマッピングです。

通知ルールを指定しない

詳細設定

アラートチェック期間

アラートルールをチェックする間隔 (分単位) です。最小値は 1 分です。

1

データ完了後のチェック

  • はい

  • いいえ

はい

タグ

アラートのタグを設定します。タグは、通知ポリシーのマッチングルールのオプションとして使用できます。

なし

アノテーション

アラートのアノテーションを設定します。

なし

よくある質問

ack-arms-prometheus アドオンのバージョンを確認する方法

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。

  3. アドオン管理 ページで、ログとモニタリング タブをクリックし、ack-arms-prometheus アドオンを探します。

    現在のバージョンがアドオンの下に表示されます。新しいバージョンが利用可能な場合は、バージョンの右側にある アップグレード をクリックしてアドオンをアップグレードします。

    説明

    アップグレード オプションは、インストールされているアドオンのバージョンが最新でない場合にのみ表示されます。

ACK エッジクラスター:モニタリングデータの取得方法

エッジコンピューティングでは、エッジノードは比較的隔離されたオンプレミスデータセンターに配置されています。クラウド側の Virtual Private Cloud (VPC) とエッジ側は異なるネットワークプレーンにあります。クラウドにデプロイされた Prometheus エージェントは、エンドポイントを介してエッジ側の Node Exporter と GPU Exporter に直接アクセスして、対応する監視メトリクスを取得することができません。ack-arms-prometheus バージョン 1.1.4 以降、ACK エッジクラスターの組み込み クラウド - エッジ間 O&M 通信コンポーネント Tunnel の概要により、ack-arms-prometheus はクラウドとエッジ間でモニタリングデータ収集パスを自動的に確立できます。

GPU モニタリングのデプロイが失敗する理由

GPU ノードに Taint がある場合、GPU モニタリングのデプロイが失敗する可能性があります。以下の手順で、GPU ノードの Taint を確認します。

  1. 次のコマンドを実行して、対象の GPU ノードの Taint を確認します。

    GPU ノードにカスタム taint がある場合、taint 関連のエントリを確認できます。 この例では、key が test-key に、value が test-value に、effect が NoSchedule に設定されている taint を使用します:

    kubectl describe node cn-beijing.47.100.***.***

    期待される出力:

    Taints:test-key=test-value:NoSchedule
  2. 以下の2つの方法のいずれかで、GPU ノードの Taint を処理します。

    • 次のコマンドを実行して、GPU ノードから Taint を削除します。

      kubectl taint node cn-beijing.47.100.***.*** test-key=test-value:NoSchedule-
    • GPU ノードの Taint に対する Toleration を宣言して、Pod が Taint が設定されたノードにスケジュールされるようにします。

      # 1. 次のコマンドを実行して、ack-prometheus-gpu-exporter を編集します。
      kubectl edit daemonset -n arms-prom ack-prometheus-gpu-exporter
      
      # 2. YAML ファイルに次のフィールドを追加して、Taint に対する Toleration を宣言します。
      # その他のフィールドは省略されています。
      # tolerations フィールドを containers フィールドの上、同じレベルに追加します。
      tolerations:
      - key: "test-key"
        operator: "Equal"
        value: "test-value"
        effect: "NoSchedule"
      containers:
      # その他のフィールドは省略されています。

手動削除による再インストール失敗を防ぐための ARMS-Prometheus 完全削除方法

Managed Service for Prometheus の名前空間のみを削除すると、リソースが削除された後に残留設定が残り、再インストールに影響します。以下の操作で、残留 ARMS-Prometheus 設定を手動で完全に削除します。

  • arms-prom 名前空間を削除します。

    kubectl delete namespace arms-prom
  • ClusterRole を削除します。

    kubectl delete ClusterRole arms-kube-state-metrics
    kubectl delete ClusterRole arms-node-exporter
    kubectl delete ClusterRole arms-prom-ack-arms-prometheus-role
    kubectl delete ClusterRole arms-prometheus-oper3
    kubectl delete ClusterRole arms-prometheus-ack-arms-prometheus-role
    kubectl delete ClusterRole arms-pilot-prom-k8s
    kubectl delete ClusterRole gpu-prometheus-exporter
    kubectl delete ClusterRole o11y:addon-controller:role
    kubectl delete ClusterRole arms-aliyunserviceroleforarms-clusterrole
  • ClusterRoleBinding を削除します。

    kubectl delete ClusterRoleBinding arms-node-exporter
    kubectl delete ClusterRoleBinding arms-prom-ack-arms-prometheus-role-binding
    kubectl delete ClusterRoleBinding arms-prometheus-oper-bind2
    kubectl delete ClusterRoleBinding arms-kube-state-metrics
    kubectl delete ClusterRoleBinding arms-pilot-prom-k8s
    kubectl delete ClusterRoleBinding arms-prometheus-ack-arms-prometheus-role-binding
    kubectl delete ClusterRoleBinding gpu-prometheus-exporter
    kubectl delete ClusterRoleBinding o11y:addon-controller:rolebinding
    kubectl delete ClusterRoleBinding arms-kube-state-metrics-agent
    kubectl delete ClusterRoleBinding arms-node-exporter-agent
    kubectl delete ClusterRoleBinding arms-aliyunserviceroleforarms-clusterrolebinding
  • Role と RoleBinding を削除します。

    kubectl delete Role arms-pilot-prom-spec-ns-k8s
    kubectl delete Role arms-pilot-prom-spec-ns-k8s -n kube-system
    kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s
    kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s -n kube-system

ARMS-Prometheus リソースを手動で削除した後、ACK コンソール で、操作 > アドオン管理 に移動し、ack-arms-prometheus アドオンを再インストールします。