データの監視とログ記録

適用対象: AKS on Azure Stack HCI 22H2、AKS on Windows Server

この記事では、Azure Kubernetes Service (AKS) のデプロイを監視し、Azure Arc で有効になっている AKS でログ データを収集する方法について説明します。と を使用してPrometheusオンプレミスの監視を設定してアクセスする方法と、および (EFK) を使用してログをFluent BitElasticsearch収集してKibana表示する方法について説明します。Graphana

次の表に示すように、2 種類の監視ソリューションとログ ソリューションを使用できます。

解決策 Azure 接続 サポートとサービス コスト デプロイ
Azure Monitor Azure Arc for Kubernetes を使用して Kubernetes クラスターを Azure に接続する必要があります。 Microsoft からの完全なサポートとサービス。 Azure Monitor サービスにサインアップする必要があります。 クラスターの監視には Azure Arc を使用します。
オンプレミスの監視とログ Azure 接続は必要ありません。 Microsoft (サポート 契約または SLA なし)、コミュニティ、外部ベンダーによってオープンソース ソフトウェアとしてサポートされます。 ベンダー依存。 顧客主導。 「 オンプレミスの監視を使用してクラスターを監視する」を参照してください。

Kubernetes クラスターで Azure Monitor を使用するには、 Azure Monitor の概要に関するページを参照してください。

オンプレミス監視を使用する

運用環境でアプリを実行するときは、クラスター上のコントロール プレーン ノードとワークロードの正常性、パフォーマンス、およびリソースの使用状況を監視することが重要です。 推奨されるこの監視ソリューションには、次の 2 つのツールが含まれています。

  • Prometheus は、コンテナー化されたワークロードの監視に使用できる監視およびアラート ツールキットです。 Prometheus は、さまざまな種類のコレクターおよびエージェントと連携することで、メトリックを収集し、データのクエリやレポート表示が可能なデータベースに格納します。 AKS Arc を使用すると、この記事で後述する Prometheus を簡単にデプロイできます。
  • Grafana は、Grafana ダッシュボード上でのメトリックの表示、クエリの実行、および視覚化に使用されるツールです。 Prometheus をデータ ソースとして使用するように Grafana を構成することもできます。 AKS Arc を使用する Grafana のライセンスされた独自のコピーが必要です。

監視ソリューションの概要

Arc で有効になっている AKS の Prometheus ソリューションの一部として、次のコンポーネントがデプロイされ、自動的に構成されます。

このデプロイは、一般公開されている Kube-Prometheus-stack Helm チャートに基づいています。これは、Windows エクスポーターをサポートするように拡張され、Prometheus とエージェント間のメトリック スクレイピングをセキュリティで保護します。 Prometheus ソリューションがデプロイされると、ノード エクスポーターは各 Linux ノードで実行され、Windows エクスポーターは各 Windows ノードで実行されます。

注意

Prometheus 演算子、Prometheus、および Kube 状態メトリック コンポーネントは Linux でのみサポートされているため、このソリューションをデプロイするには、AKS クラスターに少なくとも 1 つの Linux ノードをプロビジョニングする必要があります。

Prometheus ソリューションがスクレイピングするオブジェクトとエンドポイントには、次の項目が含まれます。

AKS Arc で使用できる Grafana ダッシュボードを表示するには、「AKS Arc で使用できる Grafana ダッシュボード」を参照してください。

PowerShell を使用して監視ソリューションをデプロイする

このセクションでは、ワークロード クラスターで監視をデプロイするために使用できる 2 つのオプションについて説明します。

オプション 1: ワークロード クラスターの作成時に監視ソリューションをデプロイする

監視を有効にするには、次の -enableMonitoring 例に示すように、 New-AksHciCluster を使用してワークロード クラスターを作成するときに パラメーターを指定します。

New-AksHciCluster -name mynewcluster -enableMonitoring

監視は、次の既定の構成でインストールされます。

  • メトリックを格納するためにプロビジョニングされる永続ボリュームのサイズ (storageSizeGB) は 100 GB です。
  • 収集されたメトリックの保持時間 (retentionTimeHours) は 240 時間 (つまり 10 日) です。

オプション 2: 既存のワークロード クラスターに監視ソリューションをデプロイする

Install-AksHciMonitoring コマンドを実行して、次のように監視ソリューションを既存のワークロード クラスターにデプロイします。

Install-AksHciMonitoring -Name mycluster -storageSizeGB 100 -retentionTimeHours 240

パラメーターは -storageSizeGB 、メトリックを格納するためにプロビジョニングされる永続ボリュームのサイズを設定し -retentionTimeHours 、パラメーターは収集されたメトリックが保持される時間を設定します。

監視ソリューションは と呼ばれる別の名前空間にインストールされ、 という monitoringmonitoring-scStorageClass を使用します。 Prometheus は、http://akshci-monitoring-prometheus-svc.monitoring:9090 のクラスター内でのみアクセス可能な内部エンドポイントで公開されます。

PowerShell を使用した監視ソリューションのアンインストール

次のように、 Uninstall-AksHciMonitoring PowerShell コマンドを実行して AKS Arc 監視ソリューションをアンインストールします。

Uninstall-AksHciMonitoring -Name <target cluster name>

アンインストール プロセスでは、名前空間、StorageClass、永続ボリュームの実際のデータとメトリックなど、すべてを削除します。

Grafana をデプロイし、Prometheus を使用するように構成する

一般公開されている Grafana をデプロイするための任意のガイダンスに従うことができます。 また、Grafana を使用するための Microsoft のデプロイ ガイダンスを確認することもできます。このガイダンスでは、Grafana をデプロイして AKS Prometheus インスタンスに接続するように構成する方法について詳しく説明しています。 この GitHub ページでは、Microsoft が Arc で有効になっている AKS で使用できるようにする Grafana ダッシュボードを追加する方法についても説明します。

オンプレミスのログ

トラブルシューティングと診断にはログが不可欠です。 AKS Arc のログ ソリューションは、Elasticsearch、Fluent Bit、Kibana (EFK) に基づいています。 これらのコンポーネントはすべて、コンテナーとしてデプロイされます。

  • Fluent Bit は、さまざまなソースからデータとログを収集するログ プロセッサとフォワーダーです。 次に、フォーマット、統合、および Elasticsearch に格納します。
  • Elasticsearch は、高速な検索および Data Analytics 用にログを一元的に保存できる分散検索および分析エンジンです。 
  • Kibana は、Web ダッシュボードで対話型の視覚化を提供します。 このツールを使用すると、Elasticsearch 内に格納されているログを表示し、クエリを実行して、グラフやダッシュボードを使って視覚化することができます。

オンプレミスのログ ソリューションを設定するには、Kibana にアクセスするためにログを設定する手順をご覧ください。 この記事には、クラスター全体でのコンテナー ログの収集、集計、およびクエリの実行に必要なすべてのコンポーネントが含まれています。

詳細な構成手順については、Windows ログに関するトピックをご覧ください。

次のステップ