🕸️
Azure の Container Insights という機能を使ってみる
はじめに
- Azureの Container insightsという機能を使ってみましたので、そのメモです。
- Application insightsは使ったことがあるのですが、Container Insightを有効にしたことがなかったので、今後のためにもなるかなーと
Azure Container insightsの概要
Azure Container insightsは、以下のような特徴を持っています。
- ノードやコントローラー、コンテナーなどのリソース使用率や正常性状態を確認できます。
- リソースのボトルネックやキャパシティニーズを特定できます。
- Prometheusと連携してアプリケーションやワークロードのメトリックを収集できます。
- Azure Monitorのメトリックスエクスプローラーやブックなどの機能を活用できます。
- CPUやメモリの使用率が閾値を超えたり、クラスターの正常性状態が変化したりした場合にアラートを作成できます。
Azure Container insightsは、以下の環境に対応しています。
- Azure Kubernetes Service (AKS)
- Azure Arc-enabled Kubernetes cluster
- Azure Stack or on-premises AKS engine
- Red Hat OpenShift version 4.x
Azure Container insightsの有効化方法
Azure Container insightsを有効化するには、以下の手順が必要です。
- Log Analyticsワークスペースを作成するか既存のものを使用します。
- AKSクラスターやAzure Arc-enabled Kubernetes ClusterなどのKubernetes環境にContainer insightsをインストールします。
- 必要に応じてPrometheusメトリックやコンテナーログなどの収集設定をカスタマイズします。
- 今回は初回なのでPortalから有効化してみます。
- 有効化した様子がこちら。Azure Monitor の Containers 欄から Monitores clustersに対象クラスタが反映されていればOKです。
- それぞれの項目から詳細な監視データが確認できます。
- GUIからk8s内の個々のコンポーネントに対して詳細なデータが見えるので運用やトラブルシュートの際に役立ちそうです。
Azure Container insightsの主な機能と利用シナリオ
Azure Container insightsを有効化すると、以下のような機能や利用シナリオが可能になります。
- Azure portalからContainer insightsにアクセスして、複数クラスターや単一クラスターのパフォーマンスグラフや正常性状態を確認できます。
- Log Analyticsからログクエリを実行して、Container insightsが収集したログデータを分析したり、WorkbooksやAlertsなどに組み込んだりできます。また、事前定義されたログクエリや例も参考にできます。
- Prometheusと連携してアプリケーションやワークロードのメトリックを収集できます。Prometheusはオープンソースの監視ツールで、Kubernetes上で動作するアプリケーションからメトリックを取得することができます。
- メトリックスエクスプローラーからContainer insightsから収集されたメトリックを視覚化したり、カスタムグラフを作成したりできます。
- WorkbooksからContainer insightsから収集されたデータを使って対話型レポートを作成したり表示したりできます。
- AlertsからContainer insightsから収集されたデータに基づいてアラートルールを作成したり通知したりできます。
以上がAzure Container insightsの概要と有効化方法、および主な機能と利用シナリオでした。
今後はPorometheusと連携した時の挙動や、HPAやKEDAと組み合わせた時の挙動なども時間があるときに検証したいと思います。
参考資料
- 実装するときに参考にできそうな資料をまとめています
- クエリを書くときによく参考にしそう
- カスタムメトリックを収集するときに参考にしそう
GitHubで編集を提案
Discussion