【CPU リソース監視】

はじめに

CPU リソース表示エリア
CPU リソース表示エリア
GUIランチャーには、複数サーバーを同時に管理するための機能が多数搭載されていますが、その中でも「CPUリソース監視」は、運用者にとって非常に重要な判断材料となります。

本記事では、GUIランチャーにおけるCPU監視機能のうち、以下の2点に焦点を当てて解説します。
  • CPU使用率のリアルタイム表示(全体/論理CPU)
  • 設定ファイルによる閾値制御と通知メール設定

CPU監視の目的

サーバーの負荷状況を即座に把握し、必要に応じてサービスの再配置やリソース調整を行うためには、視覚的にわかりやすく、かつ通知可能な監視機構が不可欠です。

GUIランチャーでは、以下のような設計を施しています。
  • 全体CPU稼働率は、設定された閾値(warn/alert/critical)に応じて色が変化し、負荷の度合いを直感的に把握可能
  • 論理CPUごとの稼働率グラフは、物理サーバーの構成に応じて自動検出され、各コアの状態を個別に表示
    • グラフの背景色のみが変化することで、視認性を保ちつつ過剰な視覚ノイズを抑制
  • 通知メールは全体稼働率に対してのみ発火
    • 論理CPU単位での通知は行わず、通知の過剰発生を防止する設計

本記事の構成

  • 全体CPU稼働率の表示と色分け
  • 論理CPUごとの稼働率グラフ
  • 設定ファイルによる閾値と通知制御
それぞれのパートでは、スクリーンショットを交えながら、運用者視点での使い方と設計意図を解説していきます。

全体CPU稼働率表示と色分け

GUIランチャーでは、サーバー全体のCPU稼働率をリアルタイムで監視し、閾値に応じて色分けされた表示によって、運用者が即座に負荷状況を把握できるよう設計しています。

表示の特徴

  • 稼働率はパーセンテージで表示され、更新は一定間隔で自動反映されます。
  • 文字色が以下のように変化し、状態の深刻度を視覚的に伝えます。
状態 閾値 背景色 意味
通常 ~warn未満 緑系 安定稼働中
warn warn以上~alert未満 黄系 中程度の負荷(注意)
alert alert以上~critical未満 橙系 高負荷(警戒)
critical critical以上 赤系 過負荷(即対応推奨)

安定稼働状態
通常(安定稼働中)
注意レベル状態
warn(注意レベル)
警戒レベル状態
alert(警戒レベル)
即対応推奨レベル状態
critical(即対応推奨レベル)

通知メールについて

  • 通知メールは 全体CPU稼働率が各閾値に到達した瞬間(上昇時)にのみ 発火します。
  • 具体的には、稼働率が warn → alert → critical と上昇するタイミングで、それぞれ1回ずつ通知されます。
  • 稼働率が下降して閾値を下回っても、通知は発生しません(通知の過剰発生を防ぐため)。
  • 通知内容には、発生時刻・稼働率・対象サーバーなどが含まれます。
この色分けと通知設計により、運用者は「視覚的な警告」と「明示的な通知」の両方を活用して、負荷状況に応じた対応を迅速に行うことができます。

以下はメール内容の例です。
過負荷通知メール(critical)


メールの件名や本文は以下のファイルで変更できます。
/**
 * 通知メール関連
 */
return [

    /**
     * criticalレベル
     */
    'MAIL_SUBJECT_CRITICAL' => '【サーバー通知(critical)】:typeリソース使用率が閾値を超えました(:server)',
    'MAIL_BODY_CRITICAL' => '❌ :typeリソース使用率が閾値を超えました。即時対応が必要なレベルです::usage%(閾値::threshold%)'."\r\n\r\n".'発生元サーバー::server'."\r\n".'発生日時::timestamp',

    /**
     * alertレベル
     */
    'MAIL_SUBJECT_ALERT' => '【サーバー通知(alert)】:typeリソース使用率が閾値を超えました(:server)',
    'MAIL_BODY_ALERT' => '🚨 :typeリソース使用率が閾値を超えました。高負荷状態です::usage%(閾値::threshold%)'."\r\n\r\n".'発生元サーバー::server'."\r\n".'発生日時::timestamp',

    /**
     * warnレベル
     */
    'MAIL_SUBJECT_WARN' => '【サーバー通知(warn)】:typeリソース使用率が閾値を超えました(:server)',
    'MAIL_BODY_WARN' => '⚠️ :typeリソース使用率が閾値を超えたため注意が必要です::usage%(閾値::threshold%)'."\r\n\r\n".'発生元サーバー::server'."\r\n".'発生日時::timestamp'
];
                    

プレースホルダの内訳
プレースホルダ 内容
:type CPU or メモリ or ディスク
:server サーバー名(<ホスト名>:<ポート番号>)
:usage 使用率(%)
:threshold 閾値(%)
:timestamp 発生日時

論理CPUグラフ表示

GUIランチャーでは、物理サーバー上の論理CPU(コア)を自動検出し、各コアごとの稼働率をリアルタイムでグラフ表示します。
この機能により、サービスの負荷分布やCPU割り当ての偏りを視覚的に把握でき、運用判断に役立てることが可能です。

表示の特徴

  • 論理CPUは CPU 0, CPU 1, CPU 2 ... のようにラベル付きで表示されます。
  • 各CPUの稼働率は、黒背景のグラフ上に描画され、負荷状況が一目でわかります。
  • 閾値(warn/alert/critical)に応じて、グラフの背景色のみが変化します。
    • グラフ本体の色は固定されており、視認性とノイズ抑制のバランスを保っています。

背景色による状態把握

状態 閾値 背景色 意味
通常 ~warn未満 安定稼働中
warn warn以上~alert未満 黄系 注意レベルの負荷
alert alert以上~critical未満 橙系 高負荷(警戒)
critical critical以上 赤系 過負荷(即対応推奨)

論理CPUグラフの背景色推移
左から 通常warnalertcritical の順に推移します。


通知との違い

  • 論理CPUの状態変化は視覚的に表示されるのみで、通知メールは発火しません。
  • 通知対象は「全体CPU稼働率」のみであり、論理CPU単位の通知は設計上除外されています。
    • これにより、通知の過剰発生を防ぎつつ、運用者が画面上で状況を把握できるようになっています。
このグラフ表示は、サービスごとのCPU割り当て設計や、負荷の偏り検出に非常に有効です。
特定のCPUに負荷が集中している場合は、プロセスの affinity 設定やサービス分散の見直しを検討する材料になります。

閾値と通知の設定

GUIランチャーでは、CPUリソース監視に関する閾値と通知設定を、外部の設定ファイルによって柔軟に制御できます。
この設計により、運用者は環境やポリシーに応じて、負荷の検知タイミングや通知の発火条件を明示的に定義できます。
return [

    ・
    ・
    ・

    //--------------------------------------------------------------------------
    // GUIモード用
    //--------------------------------------------------------------------------

    // 各種リソース設定
    'resources' => [

        // CPUリソース
        'cpu' => [

            // 警告レベルの設定
            'warn' => [

                // 閾値(設定値以上で通知)
                'threshold' => 50,

                // 通知メール設定(全てnullで無効設定)
                'email' => [
                    'to' => null,
                    'from_address' => null, // Fromヘッダを指定する時は必須
                    'from_name' => null,
                    'reply_to' => null
                ]
            ],

            // アラートレベルの設定
            'alert' => [ 'threshold' => 75, 'email' => null /* 'email'がnullでも無効設定 */ ],

            // クリティカルレベルの設定
            'critical' => [ 'threshold' => 90, 'email' => null ]
        ],
        ・
        ・
        ・
    ]
];
                    

設定ファイルのキー対応表
状態 閾値設定のキー 通知メール設定のキー
warn resources.cpu.warn.threshold resources.cpu.warn.email
alert resources.cpu.alert.threshold resources.cpu.alert.email
critical resources.cpu.critical.threshold resources.cpu.critical.email
※ emailキーにnullを設定した項目は通知されません

また email キー内で以下のヘッダ情報を指定できます。

設定可能なEmailのヘッダ情報
キー 内容
to 宛先メールアドレス
from_address fromヘッダのアドレス(fromヘッダを指定する時は必須)
from_name fromヘッダの名前
reply_to replyヘッダのアドレス
※ 全キーにnullを設定すると通知されません。

おわりに

このランチャーはクロスプラットフォーム対応なので、Windows上のWSLなどの仮想環境内でもご利用いただけますが、その場合は他の監視ツールと同様に、仮想環境内のリソースのみが監視対象となりますのでご注意ください。
Windows全体のリソースを監視する場合は、PowerShellなどを使用し、Windowsホスト上でのご利用をおすすめします。