CPU負荷時の原因調査について
いつもお世話になっております。
CentOS 5.7 zabbix1.6の環境にて監視先サーバのsystem.cpu.util[,system,avg1]、およびsystem.cpu.util[,user,avg1] を
10秒ごとに取得し、閾値にて警告が通知されるように設定しています。
監視先サーバが同様の構成のサーバであるにも関わらず、片側だけ瞬間的に100%になり引っかかることがあり、
原因を調査しております。
何かのアイテムの設定により、上記の原因を調査できるような良い方法等がありましたら、
教えていただけないでしょうか。
自分で考えた手段としまして、psコマンドで0%以上のものを取得するシェルをエージェント側で上記と同タイミングにて
動作させてアイテム値を取得しようとしましたが、警告時に特に出力がありませんでした。
fripper - 投稿数: 495
経験上ですが‥、cpu.util 系、しかも avg1 を利用した場合には、どうしてもシステム内の瞬間的な負荷を
捉えすぎてしまい、無用な警告になることが多いです
avg5 / avg15 などを利用されるのも1つの手かと。
また、avg1 を利用する場合には、トリガーを掛ける際に、last(0) だけで判定するのではなく、
過去一定時間の実績結果を踏まえた平均値 avg(xx) 等のトリガー関数を
併用されるのが良いかと思います
ちなみに、2.0等の新版でしたら、avg(#xx) とすることで、過去 xx 回の平均なども扱えるので
結構便利になっています
system / user / iowait など、各詳細要素の値を、ps で計上されている値から推測するのは
非常に難しいと感じます
恒常的に高負荷であれば、比較的追求しやすいのですが、瞬間的なゆらぎについては
絞りにくいのが現実かと。
tenma69 - 投稿数: 17
ご回答ありがとうございました。
確かに瞬間的ですぐ元に戻るのですが、サーバ、AP等まったく同じ構成で冗長化しているサーバで
まったく同じ監視を行っているのに関わらず、片サーバ側でしか発生しない状況です。
恒常ではありませんが、数日に1回程度の頻度で来ますので、同じ構成のサーバで
発生していないのが解せなく、調査しておりました。
iowait や分散状況 なども見てみたいと思います。