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

Container Service for Kubernetes:登録済みクラスターへの Prometheus モニタリングの接続

最終更新日:Jun 24, 2026

Prometheus モニタリングを使用して、登録済みクラスターのステータスをリアルタイムで監視し、可視化されたモニタリングダッシュボードを表示し、リアルタイムでアラートを受信できます。このトピックでは、Prometheus モニタリングと登録済みクラスターを連携させる方法について説明します。

前提条件

手順 1:ack-arms-prometheus アドオンへの RAM 権限の付与

onectl

  1. ローカルマシンに onectl をインストールおよび設定します。詳細については、「onectl を使用した登録済みクラスターの管理」をご参照ください。

  2. 次のコマンドを実行して、ack-arms-prometheus アドオンに RAM 権限を付与します。

    onectl ram-user grant --addon arms-prometheus

    期待される出力:

    Ram policy ack-one-registered-cluster-policy-arms-prometheus granted to ram user ack-one-user-ce313528c3 successfully.

コンソール

  1. RAM ユーザーを作成します

  2. カスタムポリシーを作成します。ack-arms-prometheus アドオンには、次のポリシー内容が必要です:

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "arms:Describe*",
                    "arms:List*",
                    "arms:Get*",
                    "arms:Search*",
                    "arms:Check*",
                    "arms:Query*",
                    "arms:ListEnvironments",
                    "arms:DescribeAddonRelease",
                    "arms:InstallAddon",
                    "arms:DeleteAddonRelease",
                    "arms:ListEnvironmentDashboards",
                    "arms:ListAddonReleases",
                    "arms:CreateEnvironment",
                    "arms:UpdateEnvironment",
                    "arms:InitEnvironment",
                    "arms:DescribeEnvironment",
                    "arms:InstallEnvironmentFeature",
                    "arms:ListEnvironmentFeatures",
                    "cms:GetIntegrationVersionForCS",
                    "cms:CreateIntegrationPolicy",
                    "cms:ListAddonReleases",
                    "cms:UpdateAddonRelease",
                    "cms:CreateAddonRelease",
                    "cms:GetPrometheusInstance",
                    "cms:ListIntegrationPolicyStorageRequirements",
                    "log:PostLogStoreLogs"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
  3. RAM ユーザーに権限を付与します

  4. AccessKey の作成

    警告

    AccessKey のセキュリティを強化するために、ネットワークアクセス制御用に AccessKey ペアベースのポリシーを構成し、AccessKey の呼び出し元を信頼できるネットワーク環境に制限することをお勧めします。

  5. AccessKey を使用して、登録済みクラスターに alibaba-addon-secret という名前の Secret リソースを作成します。

    次のコマンドを実行して Secret を作成します。

    kubectl create namespace arms-prom
    kubectl -n arms-prom create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'
    説明

    <your AccessKey ID><your AccessKey Secret> を、ご自身の AccessKey ID と AccessKey Secret に置き換えてください。

手順 2:ack-arms-prometheus アドオンのインストール

onectl

次のコマンドを実行して、ack-arms-prometheus アドオンをインストールします。

onectl addon install arms-prometheus

期待される出力:

Addon arms-prometheus, version **** installed.

コンソール

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

  2. クラスターリスト ページで、目的のクラスターの名前をクリックします。左側のナビゲーションペインで、アプリケーション > Helm を選択します。

    Helm ページに arms-prometheus と arms-prom のインストール記録が含まれている場合は、次に進む前にそれらを削除してください。

  3. 詳細ページの左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。

  4. アドオン管理 ページで、ログとモニタリング タブをクリックします。

  5. ack-arms-prometheus カードを見つけ、右下隅にあるインストールをクリックし、次に OK をクリックします。

インストールが完了したら、Prometheus モニタリングコンソールにログインして、クラスターインスタンスのモニタリングデータを表示し、アラートルールを定義します。詳細については、「Prometheus モニタリングの接続と設定」および 「Prometheus アラートルールの作成」をご参照ください。

CAdvisor ポート 10250 への切り替え

デフォルトでは、ack-arms-prometheus アドオンは CAdvisor ポート 10255 からデータを収集します。登録済みクラスターで kubelet ポート 10250 のみが開いている場合は、次の手順に従ってデータ収集ポートを切り替えてください。

  1. 次の YAML 内容を使用して、登録済みクラスターに ServiceMonitor をデプロイおよび設定します。

    クリックして YAML 内容を表示

    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
      annotations:
        arms.prometheus.io/discovery: 'true'
      name: arms-prom-cadvisor-10250
      namespace: arms-prom
    spec:
      endpoints:
        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
          honorLabels: true
          port: https-metrics
          relabelings:
            - sourceLabels:
                - __metrics_path__
              targetLabel: metrics_path
          scheme: https
          tlsConfig:
            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
            insecureSkipVerify: true
        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
          honorLabels: true
          path: /metrics/cadvisor
          port: https-metrics
          relabelings:
            - sourceLabels:
                - __metrics_path__
              targetLabel: metrics_path
          scheme: https
          tlsConfig:
            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
            insecureSkipVerify: true
        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
          honorLabels: true
          path: /metrics/probes
          port: https-metrics
          relabelings:
            - sourceLabels:
                - __metrics_path__
              targetLabel: metrics_path
          scheme: https
          tlsConfig:
            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
            insecureSkipVerify: true
      jobLabel: k8s-app
      namespaceSelector:
        matchNames:
          - kube-system
      selector:
        matchLabels:
          k8s-app: kubelet

    15〜60 秒待ってから、収集されたデータを確認してください。

  2. ポートを切り替えた後、収集されたデータを確認してください。

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

    2. 左側のナビゲーションウィンドウで、Prometheusのマネージドサービス > インスタンス.

    3. Prometheus 監視 ページの上部のナビゲーションバーで、クラスターがデプロイされている リージョン を選択します。

    4. インスタンス ページで、対象インスタンスの名前をクリックして統合センターページを開きます。 左側のナビゲーションペインで、[メトリクス収集] をクリックし、次に セルフモニタリング タブをクリックします。

      [arms-prom/arms-prom-cadvisor-10250] 収集ジョブが存在し、そのステータスが正常であることを確認します。