マネージド Prometheus を使用して、Azure Container Storage (バージョン 1.x.x) で実行されているステートフル ワークロードを監視できるようになりました。 Prometheus は、インフラストラクチャとワークロードのパフォーマンスを監視およびアラートするために Kubernetes 環境で広く使用されている、人気のあるオープンソースの監視およびアラート ソリューションです。
Important
この記事では、Azure Container Storage (バージョン 1.x.x) の監視について説明します。 Azure Container Storage (バージョン 2.x.x) を使用できるようになりました。 Azure Container Storage (バージョン 2.x.x) を既にインストールしていて、ワークロードを監視する場合は、 同様のマネージド Prometheus セットアップを使用できます。
Prometheus 用の Azure Monitor マネージド サービスは、Azure Monitor メトリックスのコンポーネントであり、Prometheus を実行するためのフル マネージドでスケーラブルな環境を提供します。 これにより、Azure Kubernetes Service (AKS) クラスターから Prometheus メトリックを収集してワークロードを監視できます。
Prometheus メトリックは Azure Monitor ワークスペースに格納され、PromQL と Azure Managed Grafana を使用して Azure Monitor メトリック ス エクスプローラーを使用してデータを分析および視覚化できます。
前提条件と制限事項
この機能は、Prometheus の Azure Monitor マネージド サービスのみをサポートします。 独自の Prometheus インスタンスがデプロイされている場合は、次の Azure CLI コマンドを実行して、Azure Container Storage の Prometheus インスタンスを無効にする必要があります。
<cluster_name> と <resource_group_name> を独自の値に置き換えます。
az k8s-extension update --cluster-type managedClusters --cluster-name <cluster_name> --resource-group <resource_group_name> --name azurecontainerstorage --config base.metrics.enablePrometheusStack=false
Azure Managed Grafana の既定のダッシュボード サポートは、現在 Azure コンテナー ストレージでは有効になっていません。
Azure コンテナー ストレージの Prometheus メトリックを収集する
Prometheus 用の Azure Monitor マネージド サービスを使用して、AKS クラスターから他の Prometheus メトリックと共に Azure コンテナー ストレージ メトリックを収集できます。 Azure コンテナー ストレージ メトリックの収集を開始するには、AKS クラスターで Managed Prometheus を有効にします。 AKS クラスターで Prometheus が既に有効になっている場合、そのクラスターに Azure コンテナー ストレージをインストールすると、Azure コンテナー ストレージ メトリックの収集が自動的に開始されます。
スクレイピングの頻度
すべての既定のターゲットとスクレイピングで、既定のスクレイピング頻度は 30 秒です。
既定のターゲットのために収集されるメトリック
次の Azure コンテナー ストレージ ターゲットは既定で有効になっています。つまり、これらのターゲットに対してスクイピング ジョブ構成を指定する必要はありません。
-
acstor-capacity-provisioner(記憶域プールのメトリック) -
acstor-metrics-exporter(ディスク メトリック)
Managed Prometheus ConfigMap を使用して、既定のターゲットのデータ収集をカスタマイズできます。 「Azure Monitor で Prometheus メトリックのスクレイピングをカスタマイズする」を参照してください。
記憶域プールのメトリック
Azure Container Storage には、 acstor-capacity-provisioner ターゲット (job=acstor-capacity-provisioner) から収集された次のストレージ プール メトリックが用意されています。
| Metric | 説明 |
|---|---|
storage_pool_ready_state |
これは、記憶域プールの状態を検出するためのゲージ メトリックです (0 = 準備ができていません、1 = 準備完了)。 |
storage_pool_capacity_provisioned_bytes |
バイト単位でプロビジョニングされた記憶域プールの容量。 |
storage_pool_capacity_used_bytes |
プロビジョニングされた記憶域プール容量からバイト単位で使用される記憶域プール容量。 |
storage_pool_snapshot_capacity_reserved_bytes |
ローカル スナップショットを格納するためにバイト単位で予約された記憶域プール容量。 |
ディスク メトリック
Azure コンテナー ストレージには、acstor-metrics-exporter ターゲット (job=acstor-metrics-exporter) から収集された次のディスク メトリックが用意されています。
| Metric | 説明 |
|---|---|
disk_pool_ready_state |
これは、ディスク プールの状態を検出するためのゲージ メトリックです (0 = 準備ができていません、1 = 準備完了)。 |
disk_read_operations_completed_total |
ディスクに対して正常に実行されたディスク読み取り操作の合計数。 |
disk_write_operations_completed_total |
ディスクに対して正常に実行されたディスク書き込み操作の合計数。 |
disk_read_operations_time_seconds_total |
読み取り操作の実行に費やされた合計時間 (秒)。 |
disk_write_operations_time_seconds_total |
書き込み操作の実行に費やされた合計時間 (秒単位)。 |
disk_errors_total |
ディスク エラーの数。 |
disk_read_bytes_total |
正常に読み取られた合計バイト数。 |
disk_written_bytes_total |
正常に書き込まれた合計バイト数。 |
disk_readonly_errors_gauge |
これは、読み取り専用ボリューム マウントを測定するためのゲージ メトリックです。 |
Azure コンテナー ストレージ メトリックにクエリを実行する
Azure コンテナー ストレージ メトリックは、Managed Prometheus に関連付けられている Azure Monitor ワークスペースに格納されます。 メトリックに対して、ワークスペースから直接、またはワークスペースに接続されている Azure Managed Grafana インスタンスを介してクエリを実行できます。
Azure コンテナー ストレージ メトリックを表示するには、次の手順に従います。
Azure portal にサインインし、AKS クラスターに移動します。
サービス メニューの [監視] で、[分析情報] を選択し、[監視設定] を選択します。
[Managed Prometheus] で、適切な Azure Monitor ワークスペース インスタンスを選択します。 インスタンスの概要ページで、[メトリックス] セクションを選択し、目的のメトリックにクエリを実行します。
または、Azure Managed Grafana インスタンスを選択し、インスタンスの概要ページでエンドポイント URL をクリックします。 これにより、メトリックにクエリを実行できる Grafana ポータルに移動します。 データ ソースは、関連付けられている Azure Monitor ワークスペースのメトリックにクエリを実行するように自動的に構成されます。
Azure Monitor ワークスペースから Prometheus メトリックにクエリを実行する方法の詳細については、「Grafana のデータ ソースとして Prometheus の Azure Monitor マネージド サービスを使用する」を参照してください。