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

Container Service for Kubernetes:登録済みクラスターの Prometheus への接続

最終更新日:Dec 05, 2025

Prometheus を使用して、登録済みクラスターのステータスをリアルタイムでモニターし、ダッシュボードでデータを表示し、リアルタイムのアラートを受信できます。この Topic では、Prometheus を登録済みクラスターに接続する方法について説明します。

前提条件

ステップ 1:ack-arms-prometheus コンポーネントへの Resource Access Management (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"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
  3. RAM ユーザーへの権限付与

  4. RAM ユーザーの AccessKey ペアの作成

    警告

    AccessKey のセキュリティを強化するために、「AccessKey ペアベースのポリシーを設定したネットワークアクセス制御」を行い、AccessKey の呼び出し元を信頼できるネットワーク環境に限定することを推奨します。

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

    次のコマンドを実行して、ack-arms-prometheus コンポーネントの 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 アラートルールの作成」をご参照ください。

ack-arms-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 秒から 1 分待ってから、収集されたデータを確認します。

  2. ポートを切り替えた後、収集されたデータを確認します。

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

    2. 左側のナビゲーションウィンドウで、[Prometheus マネージドサービス] > [インスタンス] を選択します。

    3. [Prometheus モニタリング] ページで、上部のメニューバーからクラスターが配置されているリージョンを選択します。

    4. [インスタンス] ページで、対象インスタンスの名前をクリックして統合センターページに移動します。 左側のナビゲーションウィンドウで [指標収集] をクリックし、[自己監視] タブをクリックします。

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