Zabbix 3-4. CPUのディスクI/O待ち 監視テンプレート設定

2014年12月23日  カテゴリー:Zabbix  タグ:
Pocket
LINEで送る

ディスクI/Oの負荷を把握するために、CPUのディスクI/O待ちを監視するテンプレートを作成します。ハードディスクはメモリと比べると、読み書きの性能に10万倍〜100万倍の速度差があります。扱うデータ量が多くなってくるとデータがメモリに載りきらないため、ディスクI/O待ちが発生することがあります。そのためディスクI/Oが多く発生するデータベースサーバなどではインメモリデータベースやフラッシュ ストレージがよく使われています。

ディスクI/O待ちは sar コマンドの %iowait 列などで確認することができます。

各列の指標

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

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

今回はこの指標の中から、iowait(CPUがディスクI/O待ちのためにアイドル状態で消費した時間の割合)を監視するアイテムを作成します。

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

アイテムの作成

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

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

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

---(設定箇所)---------------------------
名前:1013_ディスクI/O待ち(iowait)
タイプ:Zabbixエージェント
キー:system.cpu.util[,iowait,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-34-02

---(設定箇所)---------------------------
名前:{HOST.NAME} cpu iowait
条件式:{A_Template_OS_Linux:system.cpu.util[,iowait,avg1].last()}>90
深刻度:警告
------------------------------

トリガーの名前にはマクロが使用できます。上の設定 {HOST.NAME} はホストの表示名がトリガー名に表示されます。

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

今回設定したトリガー条件式は、CPUのI/O待ちが90%を超えたらトリガーが発生します。

▽ サポートされているトリガー関数 | 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-34-04

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

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

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

スポンサーリンク
Pocket
LINEで送る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です