monitの起動プロセスを理解してください。

monitの起動プロセスを理解してください。

今すぐモニターを学び始めました。マニュアルページで以下を見つけました。

Monitの動作は、コマンドラインオプションと実行制御ファイル〜/ .monitrcによって制御されます。その構文は後のセクションで説明します。コマンドラインオプションは.monitrc宣言をオーバーライドします。

次の内容で.monitrcファイルを生成してテストしたときにエラーが表示され、変更されましたが、すべてがうまくいきます。

➜  brt_client git:(master) ✗ monit -t                    
/home/jgu/.monitrc:2: Warning: Program does not exist: 'echo'
➜  brt_client git:(master) ✗ vim ~/.monitrc              
➜  brt_client git:(master) ✗ vim ~/.monitrc
➜  brt_client git:(master) ✗ monit -t      
➜  brt_client git:(master) ✗

しかし、これを行うと、service monit restart次のような結果が得られます。

➜  brt_client git:(master) ✗ service monit restart
 * Stopping daemon monitor monit                                                                                                                                                                      [ OK ] 
 * Starting daemon monitor monit                                                                                                                                                                             empty config, please edit /etc/monit/monitrc.

だから/etc/init.d/monitのコードをチェックし、次のことを見つけました。

CONFIG="/etc/monit/monitrc"
monit_check_config () {
  # Check for emtpy config.
  if [ "`grep -s -v \"^#\" $CONFIG`" = "" ]
  then
    echo "empty config, please edit $CONFIG."
    exit 0
  fi
}

したがって、私の記憶が正しい場合、このプログラムは-cや他のフラグを使用しません。ログインを確認しましたが、/var/log/monit.log表示されず再起動しました。もちろん、スクリプトによると、単にゼロで終了します(なぜゼロで終了するのですか?)。

そのため、ファイルを確認してみると読み取り権限がないことがわかりました/etc/monit/monitrc。したがって、moinitのsudo権限を取得して再試行してください。大丈夫。

今、本当の質問が出てきます。

/etc/monit/monitrc で "include ~/.monitrc" のような "~/.monitrc" に関連するエントリが見つかりませんでした。 conf.dのディレクトリのみが含まれています。 monitはどのように家にロードするのか分かりますか?ディレクトリ.monitrc? (魔法を使いますか?)

私がログアウトし、彼のアカウントで自分のコンピュータにログインすると仮定すると、私の設定は彼にまったく機能しないという意味ですか?

しかし、このようなことがmonit reload起こるでしょうか? (再ロードされない場合は、~/.monitrcを実行し続ける必要があります)

答え1

ユーザーのホームディレクトリにあるファイルは通常、一部のユーザー固有のデフォルトを.*rc提供するために使用されますが、システムレベルのデフォルトは通常同じ*rcアプリケーションのファイルに提供されます。/etc

man monitあなたにこれを言うべきです:

~/.monitrc基本実行制御ファイル

/etc/monitrcこのファイルは、制御ファイルがデフォルトの場所になく、そのファイルが/etc含まれている場合に使用されます。monitrc

./monitrcこのファイルは、最初の2つの場所で制御ファイルが見つからず、現在の作業ディレクトリにmonitrcファイルが含まれている場合に使用されます。

しかし、あなたが言うのはあなたの場合はデフォルトの実行制御ファイルではないので、開発者がマニュアルページに書いたものとは異なる偏差があるかもしれません/etc/monit/monitrc/etc/monitrcまたはマニュアルページが古くなっているか、あなたの質問かもしれません。ファイルパスが正しくありません)。

サービスとして実行されるコンテキストでは、上記のmonit内容は、デフォルトで.monitrcサービスが実行されているユーザーのホームディレクトリにファイルを保存し、そのファイルが見つからない場合/etc

関連情報