CheckmkはKubernetes監視を公式サポートしています。本記事では監視画面、監視項目についてなど、監視の概要をご紹介します。
Checkmkで監視できるオブジェクト
Kubernetesは、コンテナの管理に最も多く使われているツールです。CheckmkはKubernetes環境の監視をサポートしており、以下のKubernetesオブジェクトを監視することができます。
- クラスター
- Node
- Deployment
- Pod
- DaemonSet
- StatefulSet
- 永続ボリュームクレーム
- CronJob
※各オブジェクトについては、kubernetesドキュメントをご確認ください。
https://kubernetes.io/ja/docs/concepts/
サポートするKubernetesサービス
Checkmkは、以下のKubernetesサービスをサポートしています。
- Vanilla Kubernetes
- Amazon Elastic Kubernetes Service (Amazon EKS)
- Azure Kubernetes Service (AKS)
- Google Kubernetes Engine (GKE)
- Tanzu Kubernetes
- OpenShift (※Checkmk Cloud Editionのみ対応)
監視アーキテクチャと監視項目
CheckmkのKubernetes用のSpecialエージェントでは、クラスターのAPIサーバー経由で基本的な状態を取得することができます。Nodeやコンテナ、Pod、Deploymentなどが動作しているかどうか、といった状態を監視できます。しかし、それだけでは「詳細な監視」としてご紹介するには少し物足りなさを感じます。
そこで、Checkmk Nodeコレクタ(Node Collector)とCheckmkクラスターコレクタ(Cluster Collector)の登場です。Checkmkではこれらの監視アーキテクチャを使用することで、単純なそれぞれの状態を取得するだけでなく、Pod・DeploymentそれぞれがCPUに与えている負荷はどのくらいであるかといったことや、個々のDaemonSetがどのくらいのメモリを消費しているか、という詳細な状況を監視することが可能になります。
監視項目は、現在のステータスから、CPU、メモリ、…など各オブジェクトに対して複数監視項目を設定することができます。
監視できる項目の詳細一覧は、次に紹介する監視画面例、またはCheckmk公式サイトのプラグインリストをご確認ください。
監視画面
ダッシュボード
CheckmkはKubernetesホスト専用のダッシュボードを用意しています。この専用ダッシュボードは、オブジェクト毎に表示することが可能です。以下、様々なオブジェクトのダッシュボードを確認していきます。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/image-6-1024x838.png?resize=1024%2C838&ssl=1)
まず、モニター>”アプリケーション”>Kubernetes をクリックすると、図1のようなダッシュボードが表示されます。こちらはクラスターの一覧になっており、クリックすると深堀していくことができます。今はmyclusterというクラスターが1つ存在していますので、そのクラスター名をクリックします。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/image-7-1024x613.png?resize=1024%2C613&ssl=1)
クラスターをクリックすると、クリックした指定クラスターのみのダッシュボードが確認できます。この後、さらに図2画面にある「名前空間」の中の「checkmk-monitoring」をクリックします。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/image-8-1024x617.png?resize=1024%2C617&ssl=1)
すると指定した名前空間のダッシュボードを見ることができ、さらにその中のDaemonSetやデプロイを1つクリックします。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/image-9-1024x616.png?resize=1024%2C616&ssl=1)
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/image-10-1024x614.png?resize=1024%2C614&ssl=1)
このように、デフォルトの機能としてオブジェクトごとのダッシュボードも備えているため、状態を視覚的に確認しやすくなっています。もちろん各ダッシュボードのグラフなどの追加/削除/移動カスタムは自由に行うことが可能です。
監視項目(サービス)一覧
デフォルトで取得できるものを全て登録した、監視項目の一例となります。
Kubernetes全体の監視項目
クラスターコレクタの状態や、APIの状態、またNode、Podの数が監視されています。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/image-11-1024x539.png?resize=1024%2C539&ssl=1)
Podの監視項目
各PodごとのCPU、メモリ使用状況、またステータスや起動状態が確認できます。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/image-12-1024x650.png?resize=1024%2C650&ssl=1)
名前空間の監視確認
各名前空間ごとのCPU、メモリ使用状況、Pod数が確認できます。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/image-13-1024x467.png?resize=1024%2C467&ssl=1)
Deploymentの監視項目
各Deploymentごとの、CPU、メモリ使用状況、Pod数、レプリカ数が確認できます。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/image-14-1024x530.png?resize=1024%2C530&ssl=1)
DaemonSet の監視項目
各DaemonSetごとのCPU、メモリ使用状況、Pod数、レプリカ数が確認できます。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/image-15-1024x512.png?resize=1024%2C512&ssl=1)
Nodeの監視項目
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/image-16-1024x790.png?resize=1024%2C790&ssl=1)
設定方法
設定方法は別記事にて紹介しています。リンクよりご確認ください。
【Checkmk KB】コンテナKubernetesを監視する<設定編>
お問合せ
Checkmkにご興味のある方は、以下のリンクから弊社までお問合せください。
30日間無償でご利用いただける評価版を以下のダウンロードリンクにてご用意しております。簡単に検証が開始できますので、お気軽にお試しください。