起動後にNagiosが起動しない

起動後にNagiosが起動しない

先ほど、Nagios 4.1.1 の小規模なインストールを完了しました。Raspbian を使用して Raspberry Pi 上で実行しています。問題なくチェックされ、手動で起動すると/etc/init.d/nagios start正常に動作します。

私はいつも、次のようにして Debian システムにシステム起動時に開始するように指示してきました。ln -s /etc/init.d/nagios /etc/rcS.d/S99nagiosシンボリック リンクが正常に作成されたことがわかります。

しかし、起動時には起動しません。システム起動後に起動スクリプトを実行できるので、/etc/rcS.d/S99nagios startシンボリック リンクが正常であることがわかります (/ 考えます)。サーバーが起動すると、Apache が実行中で、Nagios ページも表示されますが、ホームページには「プロセス ステータスを取得できません」と表示されます。これは、Nagios サービスが実行されていない場合に予想されるものです。起動ログを調べて、試行中かどうかを確認する方法はありますか。または、起動時に起動するより良い方法はありますか。

更新: 実行したupdate-rc.dところ、次のようになりました:

update-rc.d: using dependency based boot sequencing
update-rc.d: warning: default start runlevel arguments (2 3 4 5) do not match resize2fs_once Default-Start values (2 3 4 5 S)
update-rc.d: warning: default stop runlevel arguments (0 1 6) do not match resize2fs_once Default-Stop values (none)
insserv: Script nagios is broken: incomplete LSB comment.
insserv: missing `Default-Start:'  entry: please add even if empty.
insserv: missing `Default-Stop:'   entry: please add even if empty.
insserv: Script nagios is broken: incomplete LSB comment.
insserv: missing `Default-Start:'  entry: please add even if empty.
insserv: missing `Default-Stop:'   entry: please add even if empty.
insserv: Default-Start undefined, assuming empty start runlevel(s) for script `nagios'
insserv: Default-Stop  undefined, assuming empty stop  runlevel(s) for script `nagios'

私は実際にこれを見たことがなく、どうしたらよいか分かりませんが、関連があるはずです。

更新 2: 調べてみると、これは init.d スクリプトのフォーマット方法に関係しているようです。そうだとすると、他のユーザーもこの問題を抱えている可能性があり、init.d スクリプトが Debian ベースのシステム上の Nagios に問題を引き起こしたのはこれが初めてではないでしょう。この件は終了し、Nagios バグトラッカーでチケットを開きます。

答え1

これは init.d スクリプトのフォーマットの問題のようです。私の場合はこれで問題は解決しました:

まず、nagios init.d スクリプトを編集します。

nano /etc/init.d/nagios

次のように始まって終わるブロックを置き換えます。

### BEGIN INIT INFO
#
# stuff in here
#
### END INIT INFO

これとともに:

### BEGIN INIT INFO
# Provides: nagios
# Required-Start: $local_fs $syslog $network
# Required-Stop: $local_fs $syslog $network
# Short-Description: Start and Stop Nagios monitoring server
# Description: Nagios is is a service monitoring system
# Default-Start: start
# Default-Stop: stop
### END INIT INFO

からここ

次に以下を実行します:

sudo update-rc.d nagios defaults

無視しても問題ない警告が表示されます。たとえば、次のようになります。

update-rc.d: warning: default start runlevel arguments (2 3 4 5) do not match nagios Default-Start values (start)

再起動して確認してください。私の場合は自動的に起動するようになりました。

したがって、全体的なフォーマットは必要な標準と一致しているように見えますが、INIT ブロックにいくつか欠けているものがあります。Nagios では、開発者の方が私よりもスクリプトをうまく管理していると思うので、他の人の init.d ファイルを使用するよりもこの方法の方が好みです。注意すべき点は、Nagios をソースから更新して実行すると、make install-initこのファイルが上書きされ、再度実行する必要があることです。代替案としては、init スクリプトを除外して必要なものをインストールすることです。

答え2

はい、正解です。init スクリプトのフォーマットが正しくありません。

ここで init スクリプトを試していただけますか:http://roger.steneteg.org/blog/installing-nagios-from-source/

関連情報