web-dev-qa-db-ja.com

nagiosとmrtgで「MRTGログファイルを開くことができません」エラー

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またはicingaに所有権を付与します
  • ファイルにchmod777を与える
  • 別のディレクトリにファイルをコピーして、完全なアクセス許可を与えてください

同じエラー。奇妙なことに、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がインストールされていないシステムの問題、またはログファイルへの間違ったパスの問題のみが返されますが、これらは私たちの場合ではないようです。

私たちは立ち往生しています、誰かが助けることができますか?

2

私はこのようなコマンドの設定の問題を解決しました:

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
}
1
jackarian

「check_local_mrtgtraf」コマンドのコマンド定義を表示してください。 ARGとして渡したものと一致しない可能性があります。

また、nagios/icingaが(ENVなしで)どのように実行するかをシミュレートするために、「env-i」を介して実行してみることもできます。

0
Keith