secubox-openwrt/package/secubox/secubox-app-watchdog/files/etc/config/watchdog
CyberMind-FR 66d9fbc6c0 feat(watchdog): Add service health monitor with auto-recovery
New packages for monitoring and auto-restarting critical services:

secubox-app-watchdog:
- watchdogctl CLI: status, check, check-recover, watch, restart-*
- Monitors LXC containers: haproxy, mitmproxy-in/out, streamlit
- Monitors host services: crowdsec, uhttpd, dnsmasq
- Checks HTTPS endpoints: gk2.secubox.in, admin.gk2, lldh360.maegia.tv
- Auto-recovery with alert cooldown and log rotation
- Procd service + cron fallback for redundancy

luci-app-watchdog:
- Real-time dashboard with 10s polling
- Container/service tables with restart buttons
- Endpoint health indicators
- Alert log viewer with refresh/clear
- RPCD backend: status, restart_*, check, get_logs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-12 06:46:53 +01:00

78 lines
1.7 KiB
Plaintext

config watchdog 'main'
option enabled '1'
option interval '60'
option alert_command ''
option log_file '/var/log/watchdog.log'
option max_log_lines '1000'
option alert_cooldown '300'
# LXC Containers to monitor
config container 'haproxy'
option enabled '1'
option name 'haproxy'
option critical '1'
option start_service '1'
option service_name 'haproxy'
config container 'mitmproxy_in'
option enabled '1'
option name 'mitmproxy-in'
option critical '1'
option start_service '0'
config container 'mitmproxy_out'
option enabled '1'
option name 'mitmproxy-out'
option critical '0'
option start_service '0'
config container 'streamlit'
option enabled '1'
option name 'streamlit'
option critical '0'
option start_service '0'
# Host services to monitor
config service 'crowdsec'
option enabled '1'
option name 'crowdsec'
option process 'crowdsec'
option critical '1'
option init_script '/etc/init.d/crowdsec'
config service 'uhttpd'
option enabled '1'
option name 'uhttpd'
option process 'uhttpd'
option critical '1'
option init_script '/etc/init.d/uhttpd'
config service 'dnsmasq'
option enabled '1'
option name 'dnsmasq'
option process 'dnsmasq'
option critical '1'
option init_script '/etc/init.d/dnsmasq'
# HTTPS endpoints to check
config endpoint 'gk2'
option enabled '1'
option name 'GK2 Hub'
option host 'gk2.secubox.in'
option expected_codes '200 301 302'
option critical '0'
config endpoint 'admin'
option enabled '1'
option name 'LuCI Admin'
option host 'admin.gk2.secubox.in'
option expected_codes '200 301 302'
option critical '0'
config endpoint 'lldh360'
option enabled '1'
option name 'HERMES 360'
option host 'lldh360.maegia.tv'
option expected_codes '200 301 302'
option critical '0'