Nagios が起動せず、停止もできなくなりました。

Nagios が起動せず、停止もできなくなりました。

Nagios を実行している CentOS サーバーでアップデートを実行しましたが、アップデート後、Nagios が起動しなくなりました。

ログ内のエラーは次のとおりです:

ファイル /var/run/nagios.pid のロックを取得できませんでした: 権限が拒否されました

そこで確認したところ、/var/run に Nagios の pid ファイルはありませんでした。ファイルを作成し、次の権限を付与しました。

-rwxr--r-- 1 nagios nagios 6 5月31日 11:58 nagios.pid

その後、Nagios が起動し、正常に動作しているようです。

唯一の問題は、今は停止を拒否しているため、再起動して監視対象の新しいサーバーとサービスを追加できないことです。

「service nagios stop」コマンドを実行すると、[FAILED] が表示されますが、ログには何も出力されず、サービスは稼働したままになります。

今すぐサービスを停止するにはどうすればいいでしょうか?

私は、RPMForge リポジトリから yum 経由でインストールされた RPM バージョンを実行しています。サーバーは CenotOS 5.5 です。

答え1

権限を変更したくない場合は、/var/runフォルダ自体に、以下の行を追加することで、システム上の任意の場所にロックファイルを保存するようにNagiosを設定できます。ナギオスファイル。ロックファイルnagios がファイルを作成、変更、削除できるディレクトリにオプションを追加すれば、準備は完了です。

次のようなディレクトリを作成して、Nagios インストール ディレクトリ内にロック ファイルを保存することもできます。var は /usr/lib/nagios/var です。

lock_file=/usr/lib/nagios/var

答え2

まず、プロセスpidが何でnagiosあるかを確認します。

$ ps aux | grep nagios

次に、次のコマンドを使用してサービスを再起動できます。

kill -HUP <nagios_pid>

そしてこれを停止します:

kill <nagios_pid>

nagios を自動的に停止するには、にチェックをpid入れます/var/run/nagios.pid

答え3

バートBが上で言ったように、ない実稼働システム上のディレクトリに対してchmod 777を実行することは、本当に正当な理由があり、何をしているのか分かっている場合を除いて、絶対に行わないでください。これは簡単な修正ですが、ないソリューション。

この問題の正しい解決策は、少なくとも私にとっては、nagios.cfg Nagios設定ファイル(私の場合は/etc/nagios/nagios.cfg)を更新し、変化この行:

   lock_file=/var/run/nagios.pid

これに:

   lock_file=/var/nagios/nagios.pid

ロックファイルは、/etc/init.d/nagios サービス設定ファイルで /var/nagios/nagios.pid に設定されていますが、nagios.cfg の上記の値によって上書きされているようです。

その後、Nagios サービス/デーモンを再起動します。

   service nagios restart

それで大丈夫でしょう。

答え4

CentOS 6.x で Nagios サーバーの起動/停止に問題がある場合は、次のコマンドを使用します。/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

私のNagiosサーバー上で動作します。

関連情報