「CPU使用率が高い」と言われても、最初は何を見ればよいのか分からない。

監視運用を始めたばかりの頃は、こう感じる人が多いです。

実際の運用現場では、CPU監視はかなり重要です。
CPU負荷の上昇は、サーバ性能低下やサービス遅延の原因になるためです。

ただし、単純にCPU使用率を監視するだけでは不十分です。

・どの値を監視するのか
・どの閾値でアラートを出すのか
・誤検知をどう減らすのか

ここまで考えないと、運用負荷が増えてしまいます。

この記事では、ZabbixでCPU監視を設定する方法を、初心者向けに分かりやすく解説します。

実務でよくある失敗例や、運用現場で注意されるポイントも含めて説明するので、監視運用の基礎理解にも役立ちます。

ZabbixでCPU監視が重要な理由

CPU監視は、サーバ監視の基本です。

CPU使用率が高くなると、処理性能が低下します。
その結果、Webサイト表示遅延やバッチ処理停止などにつながります。

特に以下のような環境では重要です。

  • Webサーバ
  • DBサーバ
  • 仮想サーバ
  • バッチ処理サーバ

CPU監視が必要になる場面

実務では、以下のようなケースでCPU監視が役立ちます。

  • 急なアクセス増加
  • 無限ループによるCPU高騰
  • バッチ処理暴走
  • ウイルス対策ソフト負荷
  • 仮想基盤側のリソース不足

CPU監視がないと、障害発見が遅れます。

ユーザーから「画面が遅い」と問い合わせが来て初めて気付くケースもあります。

CPU高負荷で発生しやすい障害

CPU高負荷になると、以下が起こりやすくなります。

  • サービス応答遅延
  • SSH接続遅延
  • タイムアウト増加
  • アプリ停止

特に新人エンジニアが勘違いしやすいのが、「CPU使用率100%=即障害」ではない点です。

バッチサーバでは一時的にCPU100%になることもあります。
そのため、「継続時間」も重要です。

ZabbixのCPU監視で取得できる主な項目

Zabbixでは、CPU関連のさまざまな情報を取得できます。

CPU使用率

もっとも基本的な監視です。

主に以下を確認します。

  • user使用率
  • system使用率
  • idle率

Linuxでは、CPU idle率を利用してCPU使用率を計算するケースが多いです。
例えば以下のようなアイテムがあります。

system.cpu.util[,idle]

これはCPUの待機率です。

つまり、

100 - idle率

でCPU使用率を判断できます。

Load Average

Load Averageは、Linuxでよく使われる負荷指標です。
初心者はCPU使用率と混同しやすいですが、意味が違います。

Load Averageは、

「CPU処理待ちのプロセス数」

に近い考え方です。

CPU使用率が低くても、Load Averageが高い場合があります。
これはディスクI/O待ちなどが原因です。

先輩エンジニアとの会話でもよく出ます。

ずきんちゃん

CPU使用率は低いのに重い…

ぬこさま

Load Averageを見てみよう。I/O待ちかもしれないね

CPU待機時間(iowait)

iowaitは、ディスク待ち時間です。
DBサーバで重要になります。

CPU問題に見えて、実際はストレージ性能不足だった、というケースもあります。
CPU使用率だけを見ると原因を見誤ります。

ZabbixでCPU監視を設定する方法

ホストを登録する

まず監視対象サーバを登録します。

基本的には以下を設定します。

  • ホスト名
  • IPアドレス
  • テンプレート
  • エージェント接続情報

Linuxサーバなら、Zabbix Agentを導入する構成が一般的です。

CPU監視アイテムを設定する

代表的なCPU監視アイテムはこちらです。

system.cpu.util[,idle]

更新間隔は1分〜5分程度がよく使われます。
初心者は「短いほど良い」と考えがちですが、監視負荷も増えます。

監視対象が多い環境では注意が必要です。

よくある失敗

  • 更新間隔を10秒にする
  • 不要なCPU項目を大量取得する
  • テスト用アイテムを残す

これでZabbix Server負荷が上がることがあります。

トリガーを設定する

例えばCPU使用率80%以上を5分継続した場合に通知します。

例:

avg(/Linux server/system.cpu.util[,idle],5m)<20

これは、

「5分平均のidle率が20%未満」

つまりCPU使用率80%以上を意味します。

初心者はここで混乱しやすいです。
idle監視なので、数字が低いほど負荷が高い点に注意してください。

グラフで確認する

設定後は必ずグラフを確認します。
ここを省略する新人はかなり多いです。

確認ポイントはこちらです。

  • 値が取得できているか
  • 急激な変動がないか
  • 異常値が出ていないか

設定ミスだと、常に100%表示になるケースもあります。

ZabbixのCPU監視設定で初心者がハマりやすいポイント

閾値を低く設定しすぎる

CPU70%ですぐ通知。
これは実務ではかなり危険です。

通知が多発します。

結果として、

「またいつものアラートか」

となり、本当に危険な通知を見逃します。
これは“アラート疲れ”と呼ばれます。

一時的な高負荷で誤検知する

CPUは瞬間的に上がることがあります。

そのため、

  • 5分平均
  • 10分平均

を使うケースが多いです。
特にバッチサーバでは重要です。

CPU使用率だけを見てしまう

実務ではCPUだけで障害判断しません。

一緒に確認するもの:

  • メモリ
  • ディスクI/O
  • Load Average
  • プロセス数

CPUだけで判断すると、原因切り分けを誤ります。

Zabbixの実務でよく使うCPU監視の考え方

平均値で監視する

瞬間値だけだと誤検知しやすいです。

そのため、

  • avg()
  • min()
  • max()

などを使います。
実務では平均監視がかなり多いです。

サーバ用途ごとに閾値を変える

WebサーバとDBサーバでは負荷傾向が違います。

例えば:

サーバCPU閾値
Webサーバ80%
DBサーバ70%
バッチサーバ90%

一律設定は危険です。

障害対応時はCPU以外も確認する

CPU高負荷だけでは原因特定できません。

Linuxコマンドも重要です。

よく使うコマンド:

top
vmstat
iostat

監視だけではなく、OS調査もセットで覚えると実務で役立ちます。

ZabbixでCPU監視設定後に確認すべきポイント

正しくデータ取得できているか

まず最新データを確認します。
ここで値が取得できていなければ意味がありません。

アラートが多発していないか

通知頻度は重要です。
通知が多すぎると運用負荷が増えます。

「本当に通知が必要か」を考えましょう。

運用チームで基準を統一しているか

運用現場では、

  • CPU80%で通知
  • CPU90%で障害扱い

など基準を決めることがあります。

個人判断だけで設定しないことも大切です。

まとめ

ZabbixのCPU監視は、監視運用の基本です。

ただし、

「CPU使用率を見るだけ」

では実務では不十分です。

重要なのは以下です。

  • 適切な閾値設定
  • 誤検知を減らす
  • サーバ用途に合わせる
  • CPU以外も確認する

初心者のうちは、まず「なぜその設定をするのか」を意識してください。

そこを理解すると、単なる手順暗記ではなく、運用設計として考えられるようになります。

ABOUT ME
はつゆき
はじめまして、はつゆきと申します。 なんやかんやでシステムエンジニアとして10年務めています。 特に監視系やサーバ関連などを多く携わっています。 初めて監視系の案件に携わるよーって方へなるべくわかってもらえるようにこれまで経験してきたことなど伝えていければと思っています。