Service Watchdog

# Service Watchdog

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Service Watchdog" with this command: npx skills add mariusfit/service-watchdog

Service Watchdog

Lightweight service and endpoint monitoring for self-hosted infrastructure. Checks HTTP endpoints, TCP ports, SSL certificate expiry, and DNS resolution — then reports status in a clean, chat-friendly format.

What It Does

  • HTTP Health Checks — GET/POST with expected status codes, response time tracking, content matching
  • TCP Port Checks — Verify services are listening (databases, mail servers, game servers, etc.)
  • SSL Certificate Monitoring — Days until expiry, issuer info, auto-warn thresholds
  • DNS Resolution — Verify domains resolve correctly, detect DNS hijacking
  • Smart Summaries — One-glance status for all your services, with trend data
  • Alert Logic — Configurable thresholds, cooldowns, and severity levels to prevent alert fatigue

Quick Start

1. Create a watchlist

Create watchdog.json in your workspace root:

{
  "services": [
    {
      "name": "Home Assistant",
      "type": "http",
      "url": "http://192.168.1.100:8123",
      "expect_status": 200,
      "timeout_ms": 5000
    },
    {
      "name": "Proxmox",
      "type": "https",
      "url": "https://proxmox.local:8006",
      "expect_status": 200,
      "ssl_warn_days": 14,
      "timeout_ms": 5000
    },
    {
      "name": "PostgreSQL",
      "type": "tcp",
      "host": "db.local",
      "port": 5432,
      "timeout_ms": 3000
    },
    {
      "name": "My Domain",
      "type": "dns",
      "domain": "example.com",
      "expect_ip": "93.184.216.34"
    }
  ],
  "defaults": {
    "timeout_ms": 5000,
    "ssl_warn_days": 14,
    "alert_cooldown_min": 30,
    "history_retention_days": 30
  }
}

2. Run a check

bash skills/service-watchdog/watchdog.sh

Output example:

🟢 Home Assistant       — 200 OK (142ms)
🟢 Proxmox              — 200 OK (89ms) | SSL: 47 days
🟢 PostgreSQL           — port 5432 open (12ms)
🟢 My Domain            — resolves to 93.184.216.34 ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4/4 healthy | avg response: 81ms | checked: 2026-02-24 16:30 UTC

3. Detailed report

bash skills/service-watchdog/watchdog.sh --report

Shows trend data: uptime percentage, P95 response times, incident history.

4. JSON output (for cron integration)

bash skills/service-watchdog/watchdog.sh --json

5. Check SSL only

bash skills/service-watchdog/watchdog.sh --ssl-only

6. Alert summary (for messaging)

bash skills/service-watchdog/watchdog.sh --alerts-only

Only outputs services that need attention (down, slow, SSL expiring).

Cron Integration

Add to your OpenClaw cron for continuous monitoring:

Every 5 minutes (lightweight check):

Run `bash skills/service-watchdog/watchdog.sh --json` and report only if any service is unhealthy.

Daily SSL report:

Run `bash skills/service-watchdog/watchdog.sh --ssl-only` and report expiring certificates.

Configuration Reference

Service types

TypeRequired FieldsOptional Fields
http / httpsurlexpect_status, expect_body, method, headers, timeout_ms, ssl_warn_days
tcphost, porttimeout_ms
dnsdomainexpect_ip, nameserver

Global defaults

FieldDefaultDescription
timeout_ms5000Request timeout
ssl_warn_days14SSL expiry warning threshold
alert_cooldown_min30Min minutes between repeated alerts
history_retention_days30How long to keep check history
history_filewatchdog-history.csvPath for check history data

How the Agent Should Use This

When the user asks about service status, infrastructure health, or "are my services up?":

  1. Run bash skills/service-watchdog/watchdog.sh for a quick overview
  2. Run with --report for detailed trends and history
  3. Run with --alerts-only for just the problems
  4. Run with --ssl-only to check certificate status
  5. Run with --json when you need structured data for further analysis

For proactive monitoring, run checks in cron jobs and only alert the user when something is wrong.

Requirements

  • curl (for HTTP/HTTPS checks)
  • openssl (for SSL certificate checks)
  • nc or ncat (for TCP port checks) — falls back to bash /dev/tcp if unavailable
  • dig or nslookup (for DNS checks) — falls back to host command
  • jq (for JSON config parsing)

All standard on most Linux distributions. No external APIs or accounts needed.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Version Drift Publish

One command to check if your entire stack is up to date. SSHes into servers, queries APIs, and compares installed versions against latest — across every serv...

Registry SourceRecently Updated
230Profile unavailable
Coding

Clawhub Skill Infra Watchdog

Self-hosted infrastructure monitoring for HTTP, TCP, SSL, disk, memory, load, Docker, DNS, and custom commands with alerting via OpenClaw messaging.

Registry SourceRecently Updated
3900Profile unavailable
Coding

Self-Hosting Mastery

Complete self-hosting and homelab operating system. Deploy, secure, monitor, and maintain self-hosted services with production-grade reliability. Use when se...

Registry SourceRecently Updated
2520Profile unavailable
Security

Security Dashboard

Real-time security monitoring dashboard for OpenClaw and Linux server infrastructure. Monitors gateway status, network security, public exposure, system updates, SSH access, TLS certificates, and resource usage.

Registry SourceRecently Updated
1.2K2Profile unavailable