daemontools家族

daemontools家族

サービスの状態を監視する必要があります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つのライナーです。

  • runnoshツールセットを含むファイル:
    #!/bin/nosh 
    setuidgid nagios
    nagios
    restart無条件に自動再起動を引き起こすファイルは次のとおりです。
    #!/bin/sh
    実行真
    ただ楽しさのために、1.13リリースで利用可能な事前に構築されたnagios用のService Packを追加しました。これは、いくつかの標準的なアドオン(依存関係情報など)です。
  • runrunitツールセットを含むファイル:
    #!/bin/sh -e 
    exec chpst -u nagios nagios
  • runs6ツールセットを含むファイル:
    #!/command/execlineb -P 
    s6-setuidgid nagios
    nagios
  • rundaemontools、daemontools-encore、またはfreedtツールセットを含むファイル:
    #!/bin/sh -e exec 
    setuidgid nagios nagios
  • rc.mainperpツールセットを含むファイル:
    #!/bin/sh -e 
    exec 2>&1
    start() { exec runuid nagios nagios }
    リセット() { 終了 0 }
    "$1" "$@"

単一のサービスを実行するプログラムは、そのサービスの唯一の特別な点です。残りはサービスによって異なります。同じコマンドを使用すると、同じ方法ですべてのサービスのサービス状態を照会できますsvstat。起動時に自動起動を有効または無効にすることはシンボリックリンクの問題です。サービスを手動で開始および停止することはsvc -u問題ですsvc -d。など。

systemctl statusnoshには、などの複数のシム(必要な場合)がありますinitctl status。重要なのはスペーサーがあるserviceということです。本物service nagios status使い続けてもいいようです。 ☺しかし、迷惑なロックされたファイルの問題全体と一時的な監視という概念全体を忘れてください。正しいサービス管理者であれば、このような問題に対処する必要はありません。サービスマネージャはデーモンを正しく監視して追跡します。

システム

ボックスに nagios のシステムサービスユニットファイルはありません。しかし、多くの人が自分自身の文章を書いています。

shimコマンドはsystemdには付属していませんが、service一部のLinuxディストリビューションは他のソースから提供しています。

追加読書

おすすめ記事