リソース(CPU、メモリ等)の監視について

お世話になります。

CPU使用率やメモリ使用率の監視についてですが、瞬間的に負荷が上がり閾値を超過するケースがあり
以下の様なトリガー条件式で瞬間的な負荷をエラーとして検知しない様にしております。

深刻度:警告
条件式:{perf_counter[\Processor(_Total)\% Processor Time].count(#3,70,"ge")}=3 and {perf_counter[\Processor(_Total)\% Processor Time].count(#3,90,"lt")}=3

深刻度:致命的な障害
{perf_counter[\Processor(_Total)\% Processor Time].count(#3,90,"ge")}=3

このトリガー条件式ですと以下の様なケースで警告・致命的な障害の
トリガーが出力されない状態となり、条件式の作成に難儀しております。

最新の値1:93
最新の値2:87
最新の値3:87
最新の値4:94
最新の値5:94
最新の値6:84
最新の値7:84

この様なリソース使用率の揺らぎの部分を対応または解決されている方々の
お知恵をお借り出来ればと思い、投稿させて頂きました。

以上、宜しくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー KAZ の写真

kazuyanさん

Zabbixのバージョンは2.4でしょうか?
質問の際にはマイナーバージョンまで書いて頂けると良かと。

この様なリソース使用率の揺らぎの部分を対応または解決されている方々の
お知恵をお借り出来ればと思い、投稿させて頂きました。

何をどう検知したいかなので、どう言う葉縁で検知したいかなのですが…A(^^;

3回中90以上が2回以上あれば検知したいのですか?
それとも3回中1回でも検知したいのですか?
それとも3回中70位上で且つ内1回が90位上を検知したいのですか?

ユーザー kazuyan の写真

KAZさん

色々情報が足りておらず申し訳ありません。
Zabbixのバージョンは2.4.5です。

自分自身で整理出来ていない所が多く、こちらで質問できるだけの
状態になっていませんでした・・・。

やりたい事は警告を「3回中70以上が3回且つ内90未満が1回」で出力させたいです。

冷静に考えれば.count(#3,90,"lt")=3を.count(#3,90,"lt")=1にすれば事足りる
様な気がしてきました。

変更前
条件式:{perf_counter[\Processor(_Total)\% Processor Time].count(#3,70,"ge")}=3 and {perf_counter[\Processor(_Total)\% Processor Time].count(#3,90,"lt")}=3

変更後
条件式:{perf_counter[\Processor(_Total)\% Processor Time].count(#3,70,"ge")}=3 and {perf_counter[\Processor(_Total)\% Processor Time].count(#3,90,"lt")}=1

お騒がせをしてしまい、申し訳ありませんでした。
次回以降は整理してから投稿致します。

ユーザー KAZ の写真

kazuyanさん

やりたい事は警告を「3回中70以上が3回且つ内90未満が1回」で出力させたいです。

冷静に考えれば.count(#3,90,"lt")=3を.count(#3,90,"lt")=1にすれば事足りる
様な気がしてきました。

ですね。A(^^;

監視条件は一度箇条書き等に書き出して
整理すると考えやすいかも知れません。

ユーザー kazuyan の写真

KAZさん

アドバイスありがとうございます。
条件の整理が曖昧でご迷惑をお掛けしました。

本筋とは少し逸れてしまうのですが、count(#3,90,"lt")の3回の値が見たいと思い
アラートメールにITEM.VALUEとITEM.LASTVALUEの値を表示する様に設定しました。

実際飛んできたアラートメールを見るとITEM.VALUE、ITEM.LASTVALUE共に
*UNKNOWN*が表示されてしまいました。

設定等に不備があればご指摘頂けますでしょうか。

以下アイテムとアラートメールの内容(該当箇所抜粋)を記載させて頂きます。

<アイテム設定>

タイプ:Zabbixエージェント
キー:perf_counter[\Processor(_Total)\% Processor Time]
データ型:浮動小数点
単位:%
更新間隔:100秒
ヒストリ保存期間:180日
トレンド保存期間:365日

<アラートメール設定(抜粋)>
最新データ1(ITEM.VALUE): {ITEM.VALUE1}
最新データ2(ITEM.VALUE): {ITEM.VALUE2}
最新データ3(ITEM.VALUE): {ITEM.VALUE3}

最新データ1(ITEM.LASTVALUE): {ITEM.LASTVALUE1}
最新データ2(ITEM.LASTVALUE): {ITEM.LASTVALUE2}
最新データ3(ITEM.LASTVALUE): {ITEM.LASTVALUE3}

<実際に飛んできたメール(抜粋)>

最新データ1(ITEM.VALUE): 90.44 %
最新データ2(ITEM.VALUE): 90.44 %
最新データ3(ITEM.VALUE): *UNKNOWN*

最新データ1(ITEM.LASTVALUE): 90.44 %
最新データ2(ITEM.LASTVALUE): 90.44 %
最新データ3(ITEM.LASTVALUE): *UNKNOWN*

ユーザー fripper の写真

kazuyan さん

ITEM.VALUEx
 →トリガー条件式内で x 番目に表記されているアイテムの、トリガー判定段階での最新収集値(発動のキッカケになった値)
ITEM.LASTVALUEx
 →トリガー条件式内で x 番目に表記されているアイテムの、通知アクション実行時段階での最新収集値

先のコメントで書かれているトリガー条件式には2つのアイテムキー表記があって
各々、processor time のアイテム(同じアイテムキー)を表記しておられるため、

通知メール内の VALUE1 / VALUE2・LASTVALUE1/LASTVALUE2 は
ともに同じ値(processor time アイテムの最新収集値)を表記したのだと思います

また、3つめのキー表記が無いので、unknown となっているのだと思います

残念ながら、n回前に収集した値 (いわゆる last(#n) に相当する値)を
メール本文に埋め込むようなマクロ表現はありません‥

ユーザー kazuyan の写真

fripperさん

ご教授頂きありがとうございます。

ITEM.VALUEとLASTVALUEの使い方を勘違いしていたようで
お恥ずかしい限りです。

last(#n)に該当するものをメール本文に埋め込むマクロが現状存在
していない旨、承知致しました。

長々とした質問をしてしまい、失礼いたしました。