【CPU リソース監視】
はじめに
GUIランチャーには、複数サーバーを同時に管理するための機能が多数搭載されていますが、その中でも「CPUリソース監視」は、運用者にとって非常に重要な判断材料となります。
本記事では、GUIランチャーにおけるCPU監視機能のうち、以下の2点に焦点を当てて解説します。
GUIランチャーでは、以下のような設計を施しています。
本記事では、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回ずつ通知されます。 - 稼働率が下降して閾値を下回っても、通知は発生しません(通知の過剰発生を防ぐため)。
- 通知内容には、発生時刻・稼働率・対象サーバーなどが含まれます。
以下はメール内容の例です。

メールの件名や本文は以下のファイルで変更できます。
/**
* 通知メール関連
*/
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に負荷が集中している場合は、プロセスの affinity 設定やサービス分散の見直しを検討する材料になります。
この機能により、サービスの負荷分布やCPU割り当ての偏りを視覚的に把握でき、運用判断に役立てることが可能です。
表示の特徴
- 論理CPUは
CPU 0,CPU 1,CPU 2... のようにラベル付きで表示されます。 - 各CPUの稼働率は、黒背景のグラフ上に描画され、負荷状況が一目でわかります。
- 閾値(warn/alert/critical)に応じて、グラフの背景色のみが変化します。
- グラフ本体の色は固定されており、視認性とノイズ抑制のバランスを保っています。
背景色による状態把握
| 状態 | 閾値 | 背景色 | 意味 |
|---|---|---|---|
| 通常 | ~warn未満 | 黒 | 安定稼働中 |
| warn | warn以上~alert未満 | 黄系 | 注意レベルの負荷 |
| alert | alert以上~critical未満 | 橙系 | 高負荷(警戒) |
| critical | critical以上 | 赤系 | 過負荷(即対応推奨) |

左から
通常 ⇒ warn ⇒ alert ⇒ critical の順に推移します。通知との違い
- 論理CPUの状態変化は視覚的に表示されるのみで、通知メールは発火しません。
- 通知対象は「全体CPU稼働率」のみであり、論理CPU単位の通知は設計上除外されています。
- これにより、通知の過剰発生を防ぎつつ、運用者が画面上で状況を把握できるようになっています。
特定のCPUに負荷が集中している場合は、プロセスの affinity 設定やサービス分散の見直しを検討する材料になります。
閾値と通知の設定
GUIランチャーでは、CPUリソース監視に関する閾値と通知設定を、外部の設定ファイルによって柔軟に制御できます。
この設計により、運用者は環境やポリシーに応じて、負荷の検知タイミングや通知の発火条件を明示的に定義できます。
※ emailキーにnullを設定した項目は通知されません
また
※ 全キーにnullを設定すると通知されません。
この設計により、運用者は環境やポリシーに応じて、負荷の検知タイミングや通知の発火条件を明示的に定義できます。
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 キー内で以下のヘッダ情報を指定できます。| キー | 内容 |
|---|---|
| to | 宛先メールアドレス |
| from_address | fromヘッダのアドレス(fromヘッダを指定する時は必須) |
| from_name | fromヘッダの名前 |
| reply_to | replyヘッダのアドレス |
おわりに
このランチャーはクロスプラットフォーム対応なので、Windows上のWSLなどの仮想環境内でもご利用いただけますが、その場合は他の監視ツールと同様に、仮想環境内のリソースのみが監視対象となりますのでご注意ください。
Windows全体のリソースを監視する場合は、PowerShellなどを使用し、Windowsホスト上でのご利用をおすすめします。
Windows全体のリソースを監視する場合は、PowerShellなどを使用し、Windowsホスト上でのご利用をおすすめします。
