Managed Service for Prometheus は、Basic Edition と Pro Edition のコンテナモニタリングを提供します。このトピックでは、Pro Edition の有効化方法、課金モデル、Basic Edition との機能比較、サポートされているダッシュボード、およびデフォルトのアラートルールについて説明します。
Pro Edition のサポート対象クラスター
-
ACK Pro
-
ACK Lingjun クラスター
-
ACK Dedicated Cluster
前提条件
コンテナモニタリング Pro Edition を使用する前に、Managed Service for Prometheus (取り込みデータ量による課金 有効化リンク または取り込みサンプル数による課金 有効化リンク) を有効化し、次に コンテナモニタリング Pro Edition を有効化してください。
コンテナモニタリング Pro Edition の課金
|
課金項目 |
説明 |
課金方法 |
課金サイクル |
|
クラスター規模のモニタリング料金 |
OCU の使用量は、Kubernetes クラスターのノード数に基づいて計算されます。1 OCU は 10 クラスターノードに相当します。 説明
OCU:可観測性キャパシティユニット (OCU) は、Alibaba Cloud Native Observability の課金単位です。OCU の使用量は、1 時間あたりのリソース消費量に基づいて自動的に計算されます。価格は OCU あたり 0.023 米ドル です。 |
従量課金:1 日あたりのクラスター規模のモニタリング料金 = 1 時間あたりの OCU 数の合計 × OCU 単価 説明
1 時間あたりの OCU 数 = ceil (現在の課金サイクルにおける最大ノード数 / 10) |
課金サイクルは 1 時間ごとです。毎日 00:00 以降、Managed Service for Prometheus は、前日の 1 時間あたりの最大ノード数を特定し、各カウントを OCU に変換し、すべての時間単位の OCU を合計し、OCU 単価を乗じて日次料金を計算します。 |
|
Prometheus インスタンス料金 |
詳細については、「Prometheus インスタンスの課金」をご参照ください。 |
||
コンテナモニタリング Pro Edition の有効化
方法1:インテグレーション時にPro Editionを選択
-
[Integration Center] ページで、[Kubernetes Cluster Monitoring] を選択します。
-
[Kubernetes Cluster Monitoring] パネルで、対象の Container Service for Kubernetes (ACK) クラスターを選択し、[Container Monitoring Pro Edition] を選択して、[OK] をクリックします。
方法2:Pro Edition へのアップグレード
コンテナモニタリング Pro Edition にアップグレードした後は、Basic Edition にダウングレードすることはできません。
-
[Integration Management] ページで、[Integrated Environments] > [Container Service] を選択します。
-
アップグレードするコンテナモニタリングのインテグレーションを見つけ、その [Actions] 列で [Upgrade] をクリックします。表示される確認ダイアログボックスで、[OK] をクリックします。
アップグレード後に残存するアンマネージドコレクターエージェントの確認
コンテナモニタリング基礎版は、お客様のクラスターにアンマネージドコレクターエージェントである arms-prometheus-ack-arms-prometheus デプロイメントをデプロイします。Pro 版にアップグレードした後、このデプロイメントがクラスターに残ることがあります。残った場合、マネージドコレクターエージェントと並行して GPU メトリクスなどのメトリクスを収集します。その結果、単一のメトリクスが job ラベルのみが異なる 2 つの時系列として表示され、モニタリングデータが 2 倍になります。
残存するアンマネージドコレクターエージェントを検出して削除するには、次の手順を実行します。
-
arms-prom名前空間に、管理されていないコレクターエージェントが残っているかどうかを確認します:kubectl -n arms-prom get deployments.apps出力に
arms-prometheus-ack-arms-prometheusが含まれている場合、非管理対象のコレクターエージェントはまだ実行中です。 -
PromQL を使用して重複収集を検証します。Prometheus インスタンスのメトリクスクエリページまたは Grafana で、次のクエリを実行します。例として GPU フレームバッファ合計メトリクスを使用します。
count(DCGM_CUSTOM_DEV_FB_TOTAL)結果が 1 より大きい場合、そのメトリックには複数の時系列が存在し、重複収集が行われていることを示します。確認するには、各系列が同じ値を報告し、かつ異なる
jobラベルを持っていることを確認します。たとえば、job=gpu-exporterはマネージド型のコレクターエージェントであり、job=node-gpu-exporterはアンマネージド型のコレクターエージェントの収集パスです。同様の方法で、DCGM_FI_DEV_GPU_UTILなどの他の GPU メトリックも検証できます。 -
残存するアンマネージドコレクターエージェントのレプリカを
0にスケールダウンします。kubectl -n arms-prom scale deployment arms-prometheus-ack-arms-prometheus --replicas=0 -
メトリックのstale期間が経過するまで約 5 分間待機し、
countクエリを再度実行します。クエリが 1 を返し、マネージドコレクターエージェントの時系列のみが残っていることを確認します。モニタリングデータが正常に戻ったら、Deploymentを削除します:kubectl -n arms-prom delete deployment arms-prometheus-ack-arms-prometheus
Basic Edition と Pro Edition の比較
|
カテゴリ |
Basic Edition |
Pro Edition |
|
基本的なコンテナクラスターメトリクスに関するメトリクスの保持期間 |
7 日間 |
90 日間 |
|
Prometheus コレクター |
クラスター内で管理するエージェントをデプロイします。このエージェントはクラスターリソースを消費します (デフォルトではレプリカあたり 3 CPU コアと 4 GB のメモリ)。 |
フルマネージドのコレクターエージェントを使用します。これにより、クラスターのリソースコストが不要になり、99.95% の本番レベルの SLA が提供されます。 |
|
ダッシュボード |
基本的な組み込みダッシュボード。 |
包括的な組み込みダッシュボードセット。 |
|
|
サポートされています。 |
サポートされていません。Pro Edition はフルマネージドサービスで、コレクターエージェントは Alibaba Cloud によって管理されるため、基盤となるコンポーネントのパラメーターは変更できません。コンソールの Prometheus アラートルールページでアラートルールを管理できます。このページでは、静的しきい値とカスタム PromQL の 2 種類の検出タイプがサポートされています。 |
コンテナモニタリング Pro Edition でサポートされているダッシュボード
|
タイプ |
ダッシュボード |
|
モニタリング概要 |
クラスターモニタリング概要 |
|
クラスター名前空間ダッシュボード |
|
|
クラスターコアコンポーネント |
ACK Pro API サーバー |
|
ACK Pro ETCD |
|
|
ACK Pro スケジューラ |
|
|
ACK Pro Cloud Controller Manager |
|
|
ACK Pro Kube Controller Manager |
|
|
ノードモニタリング |
ノードプール概要 |
|
クラスターノードモニタリング詳細 |
|
|
アプリケーションモニタリング |
デプロイメントモニタリング |
|
StatefulSet モニタリング |
|
|
DaemonSet モニタリング |
|
|
クラスター Pod モニタリング |
|
|
ネットワークモニタリング |
CoreDNS コンポーネントモニタリング |
|
クラスター Ingress トラフィックモニタリング |
|
|
ストレージモニタリング |
CSI ストレージコンポーネントモニタリング (クラスターレベル) |
|
CSI ストレージコンポーネントモニタリング (ノードレベル) |
|
|
Pod IO モニタリング (Pod レベル) |
|
|
フロントエンドストレージ IO モニタリング (クラスターレベル) |
|
|
GPU モニタリング |
クラスター GPU モニタリング (クラスターレベル) |
|
クラスター GPU モニタリング (ノードレベル) |
|
|
クラスター GPU モニタリング (アプリケーション Pod 別) |
|
|
コスト分析/リソース最適化 |
リソースプロファイル |
|
その他 |
バックエンドストレージ IO モニタリング (クラスターレベル) |
|
k8s-reclaimed-resource |
|
|
クラスター Prometheus 自己監視 |
|
|
仮想ノード (ECI) 概要 |
デフォルトのアラートルール
|
アラートルール名 |
アラートグループ |
テンプレート |
|
ノードの CPU 使用率が 75% を超える |
node |
ノード {{ $labels.instance }} の CPU 使用率が 75% を超えています。現在の使用率:{{ printf "%.2f" $value }}% |
|
ノードの CPU 使用率が 85% を超える |
node |
ノード {{ $labels.instance }} の CPU 使用率が 85% を超えています。現在の使用率:{{ printf "%.2f" $value }}% |
|
ノードのメモリ使用率が 75% を超える |
node |
ノード {{ $labels.instance }} のメモリ使用率が 75% を超えています。現在の使用率:{{ printf "%.2f" $value }}% |
|
ノードのメモリ使用率が 85% を超える |
node |
ノード {{ $labels.instance }} のメモリ使用率が 85% を超えています。現在の使用率:{{ printf "%.2f" $value }}% |
|
ノード異常 |
node |
ノード {{ $labels.node }} が 10 分以上利用できません。 |
|
ディスク使用率が 95% を超える |
node |
ノード {{ $labels.instance }} のディスク {{ $labels.device }} の使用率が 95% を超えています。現在の使用率:{{ printf "%.2f" $value }}% |
|
デプロイメントの Pod 可用性が 50% 未満 |
ワークロード |
名前空間:{{ $labels.namespace }} / デプロイメント:{{ $labels.deployment }} の Pod 可用性が 50% 未満です。現在の利用不可 Pod 数:{{ $value }} |
|
ジョブの実行に失敗 |
ワークロード |
名前空間:{{ $labels.namespace }} / ジョブ:{{ $labels.job_name }} の実行に失敗しました。 |
|
Pod の起動タイムアウト |
ワークロード |
名前空間:{{ $labels.namespace }} / Pod:{{ $labels.pod_name }} が 15 分以上起動できていません。待機理由:{{ $labels.reason }} |
|
Pod のステータス異常 |
ワークロード |
名前空間:{{ $labels.namespace }} / Pod:{{ $labels.pod_name }} が {{ $labels.phase }} フェーズで 10 分以上経過しています。 |
|
Pod の頻繁な再起動 |
ワークロード |
名前空間:{{ $labels.namespace }} / Pod:{{ $labels.pod_name }} が過去 {{ $labels.metrics_params_time }} 分間に {{ $labels.metrics_params_value }} 回以上再起動しました。現在の再起動回数:{{ $value }} |
|
コンテナの CPU 使用率が 85% を超える |
ワークロード |
名前空間 {{ $labels.namespace }} 内の Pod {{ $labels.pod_name }} のコンテナ {{ $labels.container }} の CPU 使用率が 85% を超えています。現在の使用率:{{ printf "%.2f" $value }}% |
|
コンテナの CPU 使用率が 75% を超える |
ワークロード |
名前空間 {{ $labels.namespace }} 内の Pod {{ $labels.pod_name }} のコンテナ {{ $labels.container }} の CPU 使用率が 75% を超えています。現在の使用率:{{ printf "%.2f" $value }}% |
|
コンテナのメモリ使用率が 75% を超える |
ワークロード |
名前空間 {{ $labels.namespace }} 内の Pod {{ $labels.pod_name }} のコンテナ {{ $labels.container }} のメモリ使用率が 75% を超えています。現在の使用率:{{ printf "%.2f" $value }}% |
|
コンテナのメモリ使用率が 85% を超える |
ワークロード |
名前空間 {{ $labels.namespace }} 内の Pod {{ $labels.pod_name }} のコンテナ {{ $labels.container }} のメモリ使用率が 85% を超えています。現在の使用率:{{ printf "%.2f" $value }}% |