{"skill":{"slug":"clawhub-skill-infra-watchdog","displayName":"Clawhub Skill Infra Watchdog","summary":"Self-hosted infrastructure monitoring with local checks for HTTP, TCP, Docker, resources, SSL, DNS, Proxmox, and alerts via WhatsApp, Telegram, or Discord.","description":"# Infra Watchdog — Infrastructure Monitoring & Health Alerts\n\nSelf-hosted infrastructure monitoring for OpenClaw agents. Zero external SaaS required — monitors everything locally and alerts via WhatsApp, Telegram, or Discord.\n\n## What It Does\n\n- **HTTP/HTTPS endpoint monitoring** — checks status codes, response time, SSL validity\n- **TCP port checks** — database, SSH, custom services\n- **Docker container status** — running, stopped, unhealthy\n- **System resources** — CPU, RAM, disk usage with configurable thresholds\n- **SSL certificate expiry** — alerts 30 days before expiry\n- **DNS resolution checks** — verifies domain → IP mappings\n- **Proxmox VM/CT status** — checks via local API\n- **Alerts via WhatsApp/Telegram/Discord** — with configurable cooldown\n\n## Quick Start\n\n```bash\n# Initialize data directory & config\ninfra-watchdog init\n\n# Add your first monitor\ninfra-watchdog add-monitor --type http --name \"My API\" --url https://myapi.example.com\n\n# Add a TCP port check\ninfra-watchdog add-monitor --type tcp --name \"PostgreSQL\" --host localhost --port 5432\n\n# Add a Docker container check\ninfra-watchdog add-monitor --type docker --name \"My App\" --container myapp\n\n# Run all checks now\ninfra-watchdog check\n\n# View current status dashboard\ninfra-watchdog dashboard\n\n# Install auto-check cron (every 5 min)\ninfra-watchdog cron-install\n```\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `infra-watchdog init` | Set up data directory and default config |\n| `infra-watchdog add-monitor` | Add a new monitor (http/tcp/docker/resource/ssl/dns) |\n| `infra-watchdog list` | List all configured monitors and their current state |\n| `infra-watchdog check` | Run all checks immediately |\n| `infra-watchdog check --name <name>` | Run a specific monitor |\n| `infra-watchdog status` | Summary: UP/DOWN/WARN counts |\n| `infra-watchdog dashboard` | ASCII dashboard with all monitors |\n| `infra-watchdog cron-install` | Install auto-check cron job |\n\n## Monitor Types\n\n### HTTP/HTTPS\n```bash\ninfra-watchdog add-monitor \\\n  --type http \\\n  --name \"Main API\" \\\n  --url https://api.example.com/health \\\n  --expected-status 200 \\\n  --timeout 5\n```\n\n### TCP Port\n```bash\ninfra-watchdog add-monitor \\\n  --type tcp \\\n  --name \"Postgres\" \\\n  --host 192.168.1.10 \\\n  --port 5432\n```\n\n### Docker Container\n```bash\ninfra-watchdog add-monitor \\\n  --type docker \\\n  --name \"Nginx\" \\\n  --container nginx-proxy\n```\n\n### System Resources\n```bash\ninfra-watchdog add-monitor \\\n  --type resource \\\n  --name \"Disk /\" \\\n  --resource disk \\\n  --path / \\\n  --warn-at 80 \\\n  --alert-at 90\n```\n\n### SSL Certificate\n```bash\ninfra-watchdog add-monitor \\\n  --type ssl \\\n  --name \"My Domain SSL\" \\\n  --host example.com \\\n  --port 443 \\\n  --warn-days 30\n```\n\n## Configuration\n\nEdit `~/.openclaw/workspace/infra-watchdog-data/config.json`:\n\n```json\n{\n  \"alert_channel\": \"whatsapp\",\n  \"alert_cooldown_minutes\": 15,\n  \"check_interval_minutes\": 5,\n  \"ssl_expiry_warning_days\": 30\n}\n```\n\n## Alert Channels\n\n| Channel | Config value |\n|---------|-------------|\n| WhatsApp | `\"whatsapp\"` |\n| Telegram | `\"telegram\"` |\n| Discord | `\"discord\"` |\n| None (log only) | `\"none\"` |\n\n## Use Cases\n\n### Homelab Monitoring\nTrack all your self-hosted services: Proxmox, Docker stacks, databases, Jellyfin, Home Assistant, etc. Get a WhatsApp alert the moment anything goes down.\n\n### API Uptime Monitoring\nIf you sell API services on RapidAPI, this skill monitors your endpoints 24/7 and pings you before customers notice an outage.\n\n### SSL Expiry Prevention\nNever let a certificate expire again. Get a WhatsApp warning 30 days before expiry.\n\n### Resource Alerts\nDisk full at 3am? Get alerted before it kills your services.\n\n## Data Storage\n\nAll data stored locally at `~/.openclaw/workspace/infra-watchdog-data/`. SQLite database, no cloud sync, no telemetry.\n\n## Requirements\n\n- Python 3.8+\n- Docker (optional, for container monitoring)\n- OpenClaw 1.0+\n\n## Source & Issues\n\n- **Source:** https://github.com/mariusfit/infra-watchdog\n- **Issues:** https://github.com/mariusfit/infra-watchdog/issues\n- **Author:** [@mariusfit](https://github.com/mariusfit)\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":923,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1771981170868,"updatedAt":1778993013848},"latestVersion":{"version":"1.0.0","createdAt":1771981170868,"changelog":"Initial release of Infra Watchdog 1.0.0:\n\n- Self-hosted monitoring for HTTP(S), TCP ports, Docker containers, system resources, SSL expiry, DNS, and Proxmox VMs/CTs\n- Local alerts via WhatsApp, Telegram, or Discord; no external SaaS required\n- CLI for adding monitors, running checks, viewing dashboards, and status summaries\n- Configurable alert cooldowns and thresholds\n- All data stored locally with no telemetry or cloud sync","license":null},"metadata":null,"owner":{"handle":"mariusfit","userId":"s17en27tt4m76ranka73sgtdfd884sb7","displayName":"mariusfit","image":"https://avatars.githubusercontent.com/u/53900085?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1779957701391}}