サービスの状態を監視する必要がありますnagios
。これは、構成を変更して新しい構成を適用するたびにnagios
サービスが停止するためです。 「停止」状態であることが確認されたら、自動的に起動する必要があります。
小さなシェルスクリプトを作成して追加してみましたcron
が、サービスが実行されているにもかかわらず、毎回スクリプトが実行されることがわかりました。スクリプトは次のとおりです。
#!/bin/bash
service nagios status | grep running
if [ $? -ne 0 ]
then
service nagios start
fi
サービスが「停止」状態にあるたびに出力がservice nagios status
表示されますNo lock file found in /usr/local/nagios/var/nagios.lock
。/usr/local/nagios/var/nagios.lock
監視ファイルを使用する必要がありますかinotify-tools
、それともより良い選択肢がありますか?
答え1
より良い選択肢がありますか?
はい。適切なサービスマネージャを使用し、/etc/init.d/nagios
スクリプトを削除します。最良のシナリオは、upstartやsystemdなどの互換モードでSystem 5スクリプトを使用することですrc
。この場合、互換モードでは使用できない便利なサービス管理メカニズムを取得できません。AskFedoraのこの人はそうではないので。最悪のシナリオは、System 5で実行されており、rc
実際に半分のサービス管理にこのスクリプトを使用したくないということです。
様々なサービス管理システムが利用可能である。インストールの詳細については、この回答の範囲を超えているので説明しません。代わりに、nagiosデーモンを起動して実行する方法に集中します。
daemontools
家族
daemontools
サービス管理ツールセットスイートには、次のものが含まれます。
ここで最も必要なのはデーモンとなるプログラムです。 nagiosの場合は2〜3行です。人々はこれらのツールセットを混在させ、一致させることができます。以下は、いくつかのツールセットを使用するいくつかの適切な2つのライナーです。
run
noshツールセットを含むファイル:#!/bin/nosh
setuidgid nagios
nagiosrestart
無条件に自動再起動を引き起こすファイルは次のとおりです。#!/bin/sh
ただ楽しさのために、1.13リリースで利用可能な事前に構築されたnagios用のService Packを追加しました。これは、いくつかの標準的なアドオン(依存関係情報など)です。
実行真run
runitツールセットを含むファイル:#!/bin/sh -e
exec chpst -u nagios nagiosrun
s6ツールセットを含むファイル:#!/command/execlineb -P
s6-setuidgid nagios
nagiosrun
daemontools、daemontools-encore、またはfreedtツールセットを含むファイル:#!/bin/sh -e exec
setuidgid nagios nagiosrc.main
perpツールセットを含むファイル:#!/bin/sh -e
exec 2>&1
start() { exec runuid nagios nagios }
リセット() { 終了 0 }
"$1" "$@"
単一のサービスを実行するプログラムは、そのサービスの唯一の特別な点です。残りはサービスによって異なります。同じコマンドを使用すると、同じ方法ですべてのサービスのサービス状態を照会できますsvstat
。起動時に自動起動を有効または無効にすることはシンボリックリンクの問題です。サービスを手動で開始および停止することはsvc -u
問題ですsvc -d
。など。
systemctl status
noshには、などの複数のシム(必要な場合)がありますinitctl status
。重要なのはスペーサーがあるservice
ということです。本物service nagios status
使い続けてもいいようです。 ☺しかし、迷惑なロックされたファイルの問題全体と一時的な監視という概念全体を忘れてください。正しいサービス管理者であれば、このような問題に対処する必要はありません。サービスマネージャはデーモンを正しく監視して追跡します。
システム
ボックスに nagios のシステムサービスユニットファイルはありません。しかし、多くの人が自分自身の文章を書いています。
- デビッド・コビス
nagios.service
ソースメイジLinuxの場合 nagios.service
に追加するArch Linux用nagiosパッケージ2012年に
shimコマンドはsystemdには付属していませんが、service
一部のLinuxディストリビューションは他のソースから提供しています。