![Nagios が起動せず、停止もできなくなりました。](https://rvso.com/image/515021/Nagios%20%E3%81%8C%E8%B5%B7%E5%8B%95%E3%81%9B%E3%81%9A%E3%80%81%E5%81%9C%E6%AD%A2%E3%82%82%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82.png)
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サーバー上で動作します。