← All products
n8n Workflow
n8n Infrastructure Monitor Pack
Five production-ready workflows that keep your self-hosted stack from going dark.
Stop finding out your services are down when your users do. The n8n Infrastructure Monitor Pack is 5 battle-tested workflows built from a real self-hosted production stack — service heartbeats, Docker container health, disk and resource pressure, SSL certificate expiry, and a daily Telegram digest that tells you exactly what needs attention. Runs on any self-hosted n8n instance. Import, configure your endpoints, and you're monitoring in under 10 minutes. Designed to pair with n8n AI Core for alert routing, but works standalone out of the box.
What's included
- Service Heartbeat — polls every service on a configurable schedule, alerts on 2+ consecutive failures (flap suppression built in)
- Docker Container Monitor — checks container status, restart loops, and unhealthy health checks across your entire stack
- Disk & Resource Pressure — tracks disk utilization and memory pressure, alerts before you hit a wall
- SSL Certificate Expiry — scans all your domains weekly, alerts at 30 days and again at 14 days
- Daily Alert Digest — one Telegram message every morning with yesterday's alerts, current anomalies, and open issues
- Telegram notifications — all alerts go to a single configurable chat, no third-party monitoring service required
- Flap suppression — requires 2 consecutive failures before alerting, eliminates false positives from transient blips
- Alert deduplication — digest tracks which alerts have fired, no repeat noise for unresolved issues
- Configurable thresholds — edit one settings node to change check intervals, endpoints, and alert windows
- Zero cloud dependencies — runs entirely on your n8n instance, no webhooks to external services
Requirements
- n8n self-hosted (v1.0+)
- Telegram bot token and chat ID (free — create via BotFather in under 2 minutes)
- Services accessible on your local network or via public URLs
- Optional: Docker socket access for container health checks
service-heartbeat.js
// Flap suppression: 2 consecutive failures before alerting.
// Eliminates false positives from transient blips.
const failures = $node["State"].json.failures ?? {};
const threshold = 2;
for (const service of services) {
const key = service.name;
const healthy = service.status === 200;
if (!healthy) {
failures[key] = (failures[key] ?? 0) + 1;
} else {
failures[key] = 0; // reset on recovery
}
service.alert = failures[key] >= threshold;
service.failCount = failures[key];
}
// Only fire Telegram for services that crossed the threshold.
// First failure is tracked silently.