
実行時にsystemd watchdogにアプリケーションを登録する方法はありますか?たとえば、systemd APIを介してsystemdユニットファイルを使用しないでください。
システムリセット専用Linuxウォッチドッグ?アプリケーションのリセットに使用できますか?
答え1
Systemdの監視機能は、主に3つの作業に使用されます。
- ハードウェアのリセット (/dev/watchdog に公開された CPU ハードウェア監視機能を利用) これは、
RuntimeWatchdogSec=
次のオプションで有効になります。/etc/systemd/system.conf
- システム単位の定義では、これが予測されるたびにアプリケーションがリセットされます。
- システムリセットは、アプリケーションリセットが複数回失敗した場合に備えた代替アクションです。 systemd単位で定義されています
例ユニットファイル:
[Unit]
Description=My Little Daemon
Documentation=man:mylittled(8)
[Service]
ExecStart=/usr/bin/mylittled
WatchdogSec=30s
Restart=on-failure
StartLimitInterval=5min
StartLimitBurst=4
StartLimitAction=reboot-force
この例は、以下から得られます。http://0pointer.de/blog/projects/watchdog.html、ウォッチドッグサービスを使用できるターゲットと方法の完全な概要を提供します。
答え2
プロセスの修復または再起動に使用できる継続的なエラーに対して「回復バイナリ」を実行することもできますが、Linux監視デーモンはシステムリセット操作に使用する必要があります。通常、デーモンを監視して再起動するには、すでに回答されているinit / upstart / systemdサポート方法を使用し、最も深刻な「再起動が問題を解決する」状況について監視タスクをスケジュールする必要があります。
答え3
あなたの質問にはいくつかの問題や期待があります。
システム監視
Linuxサービス監視の場合、その目的はシステム(オペレーティングシステム、Linux)の問題(破損、停止...)を検出することであり、次のように動作します。
- 基本的に「すべてが大丈夫です。私は生きています!」と伝える特別なサービス(できるだけハードウェアサポート)を用意してください。
- 絶えず、定期的に教えてくれる
- 予想より長い間通知が届かない場合は、システムが応答しないと判断し、システムを再起動するオブザーバ(ハードウェアを好む)を置きます(ソフトウェアまたはハードウェアの再起動を介して)。
- 特定の停止と再起動の場合は、システムが回復することを願っています。
- 重大なエラーが発生すると、ウォッチドッグが再起動され、システムが繰り返し再起動します。
アプリケーションウォッチドッグ
一方、人々はアプリケーション/サービスの状態を観察することに興味があります。
- たとえば、アプリケーションが終了したことを確認して再起動できます(これを行うには、可能であれば次のようにサービスとして起動する必要があります)。
systemd
器具)または - アプリケーションが停止しないようにするには、アプリケーションが「すべてが大丈夫です。生きています」と報告する外部監視サービスが必要です。これらのアプリケーションでサポートされている監視装置の1つは次のとおりです。監視装置