Icinga/nagiosとmrtgのセットアップに奇妙な問題があります。
Icingaは正常に機能しており、問題はありません。基本的にすべてを問題なく監視できます。
ルーターとスイッチから帯域幅データを収集するようにmrtgをセットアップします。 MRTGは正常に機能しています。ログデータを/ var/www/mrtg /ディレクトリに保存し、ウェブ経由でグラフデータを表示します。 MRTGは順調に進んでいると思います。
Nagiosで帯域幅チェックを設定しようとしました:
define service{
use generic-service ; Inherit values from a template
Host_name zywall-agora
service_description ZYWALL AGORA TRAFFICO
check_command check_local_mrtgtraf!/var/www/mrtg/x.x.x.x_2.log!AVG!1000000,2000000!5000000,5000000!1000
check_interval 1 ; Check the service every 1 minute under normal conditions
retry_interval 1 ; Re-check every minute until its final/hard state is determined
}
ここで、/ var/www/mrtg /x.x.x.x_2.logは正しいログパスファイルです。
MRTGログファイルを開くことができません icingaWebインターフェイスのテスト結果でエラーが発生し続けます。
私たちはすべてを試しました:
同じエラー。奇妙なことに、nagiosがbashセッションで生成するコマンドを使用すると、コマンドは魅力のように機能します。
/usr/lib64/nagios/plugins/check_mrtgtraf -F /var/www/mrtg/x.x.x.x_2.log -a AVG -w 10,20 -c 5000000,5000000 -e 10
結果:
Traffic WARNING - Avg. In = 17.9 KB/s, Avg. Out = 5.0 KB/s|in=17.877930KB/s;10.000000;5000000.000000;0.000000 out=5.000000KB/s;20.000000;5000000.000000;0.000000
そのコマンドラインをroot、ユーザーnagios、ユーザーicingaとして実行し、3つすべてが正常に機能しました。 nagiosが実行するコマンドに何か問題があるのではないかと考えたので、nagiosをデバッグしましたが、nagiosから生成されたコマンドは上記と同じであることがわかりました。
グーグルでこの種の問題を検索すると、mrtgがインストールされていないシステムの問題、またはログファイルへの間違ったパスの問題のみが返されますが、これらは私たちの場合ではないようです。
私たちは立ち往生しています、誰かが助けることができますか?
私はこのようなコマンドの設定の問題を解決しました:
define command{
command_name check_local_mrtgtraf
command_line $USER1$/check_mrtgtraf $ARG1$ 10 AVG $ARG2$ $ARG3$ $ARG4$
}
次のようにサービスを定義します。
define service {
use ...
Host_name ....
...
check_command check_local_mrtgtraf!path_to_logfile!30,40!100,200!10
}
「check_local_mrtgtraf」コマンドのコマンド定義を表示してください。 ARGとして渡したものと一致しない可能性があります。
また、nagios/icingaが(ENVなしで)どのように実行するかをシミュレートするために、「env-i」を介して実行してみることもできます。