{"definition_raw":"---\nid: systemd-watchdog\ntitle: systemd Service Watchdog\nschedule: \"0 * * * *\"\ntimeout: 60\nretry: false\nenabled: true\nnotify_on: failure\nnotify_to: dm\nrun_as: shell\ncommand: \"python3 /home/lucienne/workspace/scripts/systemd_watchdog.py\"\ntags: [health, systemd, monitoring, services]\nruntime_profile: direct_anthropic_sdk\n---\n\n**OVERRIDES runtime profile:** runs systemd_watchdog.py directly (no claude CLI).\n\nHourly check for systemd units that have transitioned to 'failed'.\nAlerts via Telegram DM (\ud83d\udd34 critical) on new failures.\nSends recovery alert (\ud83d\udfe2) when previously failed units come back.\nState persisted in /tmp/luci-systemd-state.json.\n\nWatched services: ccgram, luci-dashboard, luci-token-dashboard, price-watch-dashboard, smart-money-dashboard.\nAlso catches any other system unit that appears in `systemctl --failed`.\n","id":"systemd-watchdog","last_run":{"duration_s":0.154626,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/414020.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-13T07:00:34.891652+02:00","status":"completed"},"next_run":"2026-06-13 08:00","next_run_iso":"2026-06-13T08:00:00+02:00","runs":[{"duration_s":0.154626,"finished_at":"2026-06-13T07:00:35.049652+02:00","id":414020,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/414020.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-13T07:00:34.891652+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.140099,"finished_at":"2026-06-13T06:01:08.196422+02:00","id":413844,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/413844.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-13T06:01:08.053040+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.158924,"finished_at":"2026-06-13T05:04:30.446497+02:00","id":413676,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/413676.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-13T05:04:30.284395+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.131641,"finished_at":"2026-06-13T04:04:41.485889+02:00","id":413500,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/413500.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-13T04:04:41.351616+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.134925,"finished_at":"2026-06-13T03:00:38.525920+02:00","id":413316,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/413316.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-13T03:00:38.387088+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.161376,"finished_at":"2026-06-13T02:02:24.750427+02:00","id":413142,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/413142.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-13T02:02:24.585562+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.170523,"finished_at":"2026-06-13T01:00:41.861013+02:00","id":412966,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/412966.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-13T01:00:41.687133+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.120417,"finished_at":"2026-06-13T00:00:50.806382+02:00","id":412790,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/412790.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-13T00:00:50.683866+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.196554,"finished_at":"2026-06-12T23:01:50.595027+02:00","id":412615,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/412615.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T23:01:50.394229+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.123195,"finished_at":"2026-06-12T22:00:36.207097+02:00","id":412440,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/412440.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T22:00:36.081275+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.136948,"finished_at":"2026-06-12T21:00:34.586216+02:00","id":412267,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/412267.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T21:00:34.446892+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.163431,"finished_at":"2026-06-12T20:00:32.675237+02:00","id":412092,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/412092.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T20:00:32.502501+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.163983,"finished_at":"2026-06-12T19:04:07.071639+02:00","id":411924,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/411924.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T19:04:06.904762+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.138122,"finished_at":"2026-06-12T18:01:21.502018+02:00","id":411749,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/411749.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T18:01:21.360890+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.165135,"finished_at":"2026-06-12T17:03:12.488027+02:00","id":411576,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/411576.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T17:03:12.320390+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.15608,"finished_at":"2026-06-12T16:02:05.916997+02:00","id":411403,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/411403.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T16:02:05.758104+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.171212,"finished_at":"2026-06-12T15:00:33.006526+02:00","id":411228,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/411228.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T15:00:32.832584+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.121284,"finished_at":"2026-06-12T14:00:46.692521+02:00","id":411055,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/411055.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T14:00:46.569666+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.141543,"finished_at":"2026-06-12T13:00:50.330382+02:00","id":410881,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/410881.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T13:00:50.186481+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"},{"duration_s":0.17345,"finished_at":"2026-06-12T12:09:17.493336+02:00","id":410723,"log_path":"/home/lucienne/workspace/logs/task-runs/systemd-watchdog/410723.log","output":"All watched services OK (0 total failed systemd units)\n","started_at":"2026-06-12T12:09:17.315976+02:00","status":"completed","task_id":"systemd-watchdog","task_name":"systemd Service Watchdog"}],"runs_limit":20,"schedule":"0 * * * *","schedule_label":{"description":"Every hour at :00","is_custom":false,"label":"Hourly","sort":2,"sort_time":""},"stats":{"avg_duration":0.14868983522727272,"completed":176,"failed":0,"timeout":0,"total":176},"task":{"_description":"**OVERRIDES runtime profile:** runs systemd_watchdog.py directly (no claude CLI).\n\nHourly check for systemd units that have transitioned to 'failed'.\nAlerts via Telegram DM (\ud83d\udd34 critical) on new failures.\nSends recovery alert (\ud83d\udfe2) when previously failed units come back.\nState persisted in /tmp/luci-systemd-state.json.\n\nWatched services: ccgram, luci-dashboard, luci-token-dashboard, price-watch-dashboard, smart-money-dashboard.\nAlso catches any other system unit that appears in `systemctl --failed`.","_file":"systemd-watchdog.md","_path":"/home/lucienne/workspace/tasks/systemd-watchdog.md","command":"python3 /home/lucienne/workspace/scripts/systemd_watchdog.py","enabled":true,"id":"systemd-watchdog","notify_on":"failure","notify_to":"dm","retry":false,"run_as":"shell","runtime_profile":"direct_anthropic_sdk","schedule":"0 * * * *","tags":["health","systemd","monitoring","services"],"timeout":60,"title":"systemd Service Watchdog"}}
