パフォーマンスモニタリングの一元化
Cockpit は総合管制室として機能し、すべての物理サーバーと仮想マシンの CPU、メモリ、ネットワークの稼働状況を監視し、わかりやすい視覚的なグラフで表示します。
メトリクスの収集とテレメトリ 📈
💡 たとえ話:病室のバイタルモニター
稼働データ(テレメトリ)の収集は、病院のバイタルモニターに似ています:
- センサー (収集元): Cockpit のコレクターサービスは、各 Vapor サーバーに取り付けられた心電図や指先クリップのように動作し、稼働状態をリアルタイムで読み取ります。
- 脈拍チェック (間隔): システムは、すべてのサーバーと仮想マシンの状態(バイタル情報)を 10秒ごとに確認し、正常に動作しているか見守ります。
- 圧縮保存 (データリテンション): 秒単位の細かな記録をそのまま残すと、データベースがすぐにパンクしてしまいます。そのため、数日経ったデータは自動的に1時間ごと、1日ごとの平均値にギュッと圧縮(ダウンサンプリング)されます。これにより、データベースが重くなることなく、過去数週間〜数ヶ月分の履歴グラフをスムーズに表示できます。
3段階のダッシュボード
Cockpit は、集めた稼働データを以下の3つの読みやすいダッシュボードに整理します:
1. クラスター全体の概要 (病院のナースステーション画面)
システムインフラ全体の状況をまとめて表示します:
- 全体のリソース使用率: クラスター内の全 CPU コア数とメモリ総量、および現在それらの何パーセントが使用中かを表示します。
- ストレージ容量: すべてのハードディスクの残り空き容量を表示します。
- サーバー接続状態: 物理サーバーが正常稼働しているか (
connected)、切断されているかなどの一覧を表示します。
2. 各物理サーバーの詳細 (患者個人のカルテ)
選択した1台の物理サーバーの稼働データを示します:
- リアルタイムグラフ: CPU、メモリ、ディスクの読み書き速度のライブ推移。
- ハードウェア仕様: メーカー名、BIOS バージョン、OS カーネル情報、前回の起動からの経過時間(アップタイム)などの基本情報。
3. VM のスパークラインと詳細 (個人のバイタル値)
- VM リストのスパークライン (Sparkline):
- スパークラインとは? VM の名前のすぐ横に表示される超ミニサイズの折れ線グラフのことです。心電図の波のように見え、詳細ページを開くことなく、「どの VM が今がんばって動作しているか」をリスト画面で一目で把握できます。
- VM の詳細画面: 選択した仮想マシンの CPU/メモリの推移、ディスク使用帯域幅、ネットワーク通信量などの履歴グラフ。