Watchdogサービスを有効化して起動する
Watchdogサービスを構成するポリシーの例

この例では、ConfigurationUpdateポリシーを1本使い、Watchdogサービスの設定を構成し、OSサービスとして起動するジョブを展開する方法を示します。これらは1回のポリシー配信で完了します。
概要
Watchdogは、KeeperPrivilegeManager の稼働状態を監視する独立したサービスです。別のOSサービスとして動作し、定期的に /health エンドポイントで状態を確認し、メインサービスが応答しなくなった場合は自動的に再起動します。
Watchdogを有効にする場合、通常は2本のポリシーが必要です。Watchdogの構成を appsettings.json に書き込む SettingsUpdate と、OSサービスを起動する JobUpdate です。PolicyType が ConfigurationUpdate のポリシーでは、これらを1本にまとめられます。設定とジョブの両方が含まれる場合、先に設定が適用され、その後ジョブが作成・実行されるため、Watchdogサービスが構成を読み取る時点では、設定はすでにディスク上に書き込まれています。
ポリシー (JSON)
各要素の役割
設定部分: TargetFile と SettingsJson は appsettings.json を対象とし、Watchdog 構成セクションをマージします。Update アクションはファイル内の既存キーをすべて保持し、SettingsJson に含まれるキーのみを追加または上書きします。
Watchdogセクションでは、以下の3つのキーを任意で指定できます。
CheckIntervalSec
int
10
ヘルスチェックの間隔 (秒)。2~300の範囲に収められます
AutoRemediate
bool
true
true のとき、Watchdogは失敗時にサービスを再起動します。false のときは監視のみです
StartupDelaySec
int
90
Watchdog起動後、最初のヘルスチェックまで待つ秒数 (最小 30)
ジョブ部分: JobId と JobJson はジョブファイルを Jobs/start-watchdog-service.json に書き込み、ジョブの再読み込みをトリガーします。ジョブは PolicyPreprocessingCompleted イベントで実行され、このポリシーを配信するのと同じ同期サイクル内で動作します。ジョブにはフォールバック付きの2つのタスクがあります。Windowsでは sc start KeeperWatchdog を実行し、最初のタスクが失敗した場合はLinuxおよびmacOS向けに systemctl start keeper-watchdog に切り替わります。
エンドポイントで起きること
ポリシーを受信すると、以下の順序で処理されます。
バリエーション
監視のみ (自動再起動なし): AutoRemediate を false にします。Watchdogは障害を検知してログに記録しますが、サービスは再起動しません。
ヘルスチェックを低頻度にする: 負荷の高いハードウェアでは CheckIntervalSec を大きくします (最大 300)。障害検知を速くしたい場合は小さくします (最小 2)。
エージェントの起動のたびにWatchdogを起動する: イベントトリガーを PolicyPreprocessingCompleted から Startup に置き換えます。ポリシー同期時だけでなく、エージェントが起動するたびにWatchdogサービスが起動します。
後からWatchdogを無効にする: 2本目の ConfigurationUpdate ポリシーをプッシュし、SettingsJson 内で AutoRemediate を false にし、JobId に対して Action を Delete に設定してエンドポイントから起動ジョブを削除します。
最終更新

