Zabbix 3-3. CPU使用率 監視テンプレート設定

Zabbix
Zabbix
スポンサーリンク

CPUの負荷を把握するために、CPU使用率を監視するテンプレートを作成します。CPU負荷が高い主な原因はプログラムの暴走です、この場合は psコマンドや topコマンドでCPUに負荷をかけているプログラムを特定して対処します。また、ディスクI/Oやメモリ不足など他の部分がボトルネックでは無く、CPU負荷のみが高い場合は理想的な状態と言われています。この場合は単純にCPUの性能を上げるか、サーバ台数を増やして負荷分散する対応が考えられます。

CPU使用率は sar コマンドなどで確認することができます。

$ sar
Linux 2.6.32-504.el6.x86_64 (lamp) 	2014年12月19日 	_x86_64_	(2 CPU)

06時00分01秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
06時10分01秒     all      1.54      0.00      0.62      4.74      0.00     93.10
06時20分01秒     all     53.94      0.20      1.09      2.16      0.00     42.62
06時30分01秒     all     19.90      0.00      0.73      3.60      0.00     75.76
06時40分01秒     all      1.46      0.00      0.61      4.67      0.00     93.25

各列の指標

userユーザモードでCPUが消費された時間の割合
niceniceでスケジューリングの優先度を変更していたプロセスが、ユーザモードでCPUを消費した時間の割合
systemシステムモードでCPUが消費された時間の割合
iowaitCPUがディスクI/O待ちのためにアイドル状態で消費した時間の割合
stealXenなどのOSの仮想化を利用している場合に、ほかの仮装CPUの計算で待たされた時間の割合
idleCPUがディスクI/Oなどで待たされることなく、アイドル状態で消費した時間の割合

※「[Web開発者のための]大規模サービス技術入門」より引用

今回はこの指標の中から user、system、idle の CPU使用率を監視する設定を行います。iowait(CPUのディスクI/O待ち)も重要な指標ですので、次の記事「3-4. CPUのディスクI/O待ち 監視テンプレート設定」で設定します。

もし「A_Template_OS_Linux」テンプレートと「cpu」アプリケーションを作成していない場合は、こちらを参考にして作成しておきましょう。

アイテムの作成

[設定]→[テンプレート] 「A_Template_OS_Linux」行の「アイテム」をクリックします。
zabbix-lamp-33-06

「アイテムの作成」をクリックします。
zabbix-lamp-33-07

下記を設定し「追加」をクリックすればアイテムが作成されます。
zabbix-lamp-33a-01

---(設定箇所)---------------------------
名前:1010_CPU使用率(user)
タイプ:Zabbixエージェント
キー:system.cpu.util[,user,avg1]
データ型:数値(浮動小数)
単位:%
アプリケーション:cpu
------------------------------

同様に system、idle のCPU使用率監視アイテムを作成します。

---(設定箇所)---------------------------
名前:1011_CPU使用率(system)
タイプ:Zabbixエージェント
キー:system.cpu.util[,system,avg1]
データ型:数値(浮動小数)
単位:%
アプリケーション:cpu
------------------------------

---(設定箇所)---------------------------
名前:1012_CPU使用率(idle)
タイプ:Zabbixエージェント
キー:system.cpu.util[,idle,avg1]
データ型:数値(浮動小数)
単位:%
アプリケーション:cpu
------------------------------

アイテムキー system.cpu.util のパラメータ

system.cpu.util[<cpu>,<type>,<mode>]

cpu - CPU番号(デフォルトは全CPU)

type - 可能な値:
idle, nice, user(デフォルト)、system (Windowsでのデフォルト)、 iowait, interrupt, softirq, steal

mode - 可能な値:
avg1 (1分間の平均、デフォルト)、avg5 (5分間の平均)、avg15 (15分以内の平均)

詳細は公式マニュアル 1 Zabbixエージェント | Zabbix Documentaion 2.2 を参照してください。

トリガーの作成

[設定]→[テンプレート] 「A_Template_OS_Linux」行の「トリガー」をクリックします。
zabbix-lamp-33-10

「トリガーの作成」をクリックします。
zabbix-lamp-33-11

下記を設定し「追加」をクリックすればトリガーが作成されます。
zabbix-lamp-33a-02

---(設定箇所)---------------------------
名前:{HOST.NAME} cpu idle
条件式:{A_Template_OS_Linux:system.cpu.util[,idle,avg1].last()}<10 深刻度:警告 ------------------------------ トリガーの名前にはマクロが使用できます。上の設定 {HOST.NAME} はホストの表示名がトリガー名に表示されます。

条件式は、{<テンプレート名>:<アイテムキー>.<トリガー関数>}=<値> の形式です。手入力してもかまいませんが、なかなか複雑な書式ですので、条件式の「追加」ボタンをクリックして対象のアイテムを選択し、関数を選択して「挿入」ボタンをクリックすれば条件式を生成してくれます。
zabbix-lamp-33a-03

今回設定したトリガー条件式は、CPUの未使用率が10%を下回ったらトリガーが発生します。

▽ サポートされているトリガー関数 | Zabbix Documentaion 2.2
https://www.zabbix.com/documentation/2.2/jp/manual/appendix/triggers/functions

グラフの作成

[設定]→[テンプレート] 「A_Template_OS_Linux」行の「グラフ」をクリックします。
zabbix-lamp-33-14

「グラフの作成」をクリックします。
zabbix-lamp-33-15

「グラフ」タブを選択し、アイテムの「追加」をクリックします。
zabbix-lamp-33-16

グラフに表示したいアイテムを選択し「選択」をクリックします。
zabbix-lamp-33a-04

下記を設定してアイテムが追加されていることを確認し「追加」をクリックすればグラフが作成されます。
zabbix-lamp-33a-05

---(設定箇所)---------------------------
名前:cpu
Y軸の最小値:固定 0
Y軸の最大値:固定 100
------------------------------

最後に作成した監視テンプレートの動作確認をして作業完了です。

コメント

タイトルとURLをコピーしました