はじめに
環境
Zabbixサーバ
OS:CentOS 8.2.2004
Apache:2.4.37
PHP:7.2.25
MariaDB:10.3.17
Zabbix Server:5.0.2
Zabbix Agent:5.0.2
検証サーバ
OS:CentOS 8.2.2004
監視内容
CPUの監視項目は、以下の値を取得します。なお、1分/5分/15分の平均値を監視できます。
監視項目 | 説明 |
---|---|
user | ユーザレベルでCPUが消費された時間の割合 |
nice | 優先度(ナイス値)によるユーザーレベルでCPUが消費された時間の割合 |
system | システムレベル(kernel)でCPUが消費された時間の割合 |
iowait | CPUがディスクI/O待ちのためにアイドル状態で消費した時間の割合 |
steal | XenなどのOSの仮想化を利用している場合に、ほかの仮装CPUの計算で待たされた時間の割合 |
idle | CPUのアイドル時間の割合(ディスクI/Oの待機時間は除く) |
操作手順
Zabbixの管理コンソールにサインインします。
テンプレートを作成する
左サイドバーから [設定] - [テンプレート] をクリックします。
「テンプレートの作成」ボタンをクリックします。
以下の通り入力します。
テンプレート名:T_CPU_05
グループ:Templates
説明:user/nice/system/iowait/steal/idle
「追加」ボタンをクリックします。
アイテムを作成する
テンプレートの「アイテム」をクリックします。
user
右上の「アイテムの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:05.CPU使用率(user)
タイプ:Zabbixエージェント
キー:system.cpu.util[,user,avg1]
データ型:数値(浮動小数)
単位:%
監視間隔:1m
アプリケーション:CPU
「追加」ボタンをクリックします。
nice
右上の「アイテムの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:10.CPU使用率(nice)
タイプ:Zabbixエージェント
キー:system.cpu.util[,nice,avg1]
データ型:数値(浮動小数)
単位:%
監視間隔:1m
アプリケーション:CPU
「追加」ボタンをクリックします。
system
右上の「アイテムの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:15.CPU使用率(system)
タイプ:Zabbixエージェント
キー:system.cpu.util[,system,avg1]
データ型:数値(浮動小数)
単位:%
監視間隔:1m
アプリケーション:CPU
「追加」ボタンをクリックします。
iowait
右上の「アイテムの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:20.CPU使用率(iowait)
タイプ:Zabbixエージェント
キー:system.cpu.util[,iowait,avg1]
データ型:数値(浮動小数)
単位:%
監視間隔:1m
アプリケーション:CPU
「追加」ボタンをクリックします。
steal
右上の「アイテムの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:25.CPU使用率(steal)
タイプ:Zabbixエージェント
キー:system.cpu.util[,steal,avg1]
データ型:数値(浮動小数)
単位:%
監視間隔:1m
アプリケーション:CPU
「追加」ボタンをクリックします。
idle
右上の「アイテムの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:30.CPU使用率(idle)
タイプ:Zabbixエージェント
キー:system.cpu.util[,idle,avg1]
データ型:数値(浮動小数)
単位:%
監視間隔:1m
アプリケーション:CPU
「追加」ボタンをクリックします。
トリガーを作成する
テンプレートの「トリガー」をクリックします。
右上の「トリガーの作成」ボタンをクリックします。
トリガーの作成画面では、監視したい項目に合わせて設定します。
名前:CPU使用率の閾値超え
深刻度:警告
条件式:{T_CPU_05:system.cpu.util[,user,avg1].last()}>90
条件式は、「CPU使用率が90パーセントを超えた時」という意味です。
「追加」ボタンをクリックします。
テンプレートをホストにリンクする
左サイドバーから [設定] - [ホスト] をクリックします。
作成したテンプレートをリンクするホストを選択します。ここでは「CentOS8-2」を選択しています。
「テンプレート」をクリックします。
新規テンプレートをリンク欄で、「T_CPU_05」をリンクします。
動作確認
「stress」ツールでCPU負荷を増やしたり減らしたりして変動を確認します。
$ stress -c 1 -t 30s
stressプロセスを1個起動し30秒負荷を与えます。
[監視データ]-[最新データ]をクリックします。
ホストは「CentOS8-2」を選択し、「適用」ボタンをクリックします。
設定例
条件
- CPU使用率は5分ごとにデータを収集する。
- CPU使用率の閾値は90パーセントとする。
- 6回連続で閾値を超えたらアラートメールを送信する。
- 閾値を超えている限り、2時間毎にアラートメールを送信する。
アイテムの作成
名前:CPU使用率
タイプ:Zabbixエージェント
キー:system.cpu.util[,user,avg1]
データ型:数値(浮動小数)
単位:%
監視間隔:5m
アプリケーション:CPU
トリガーの作成
名前:CPU使用率
深刻度:警告
条件式:{CentOS8-2:system.cpu.util[,user,avg1].min(#6)}>90
※6回連続で最小値が90パーセントを超えていたらという意味です。
min関数以外にもcount関数を使うことも可能です。
条件式:{CentOS8-2:system.cpu.util[,user,avg1].count(#6,90,gt)}=6
アクションの設定
「メールを送信する」の設定が完了しているものとします。
デフォルトのアクション実行ステップの間隔:2h