Skip to content
GDPR compliant. Hosted in DE.
14-day free trial →
Module · XICTRAQ

Heartbeat & cronjob monitoring

Dead-man's switch for cron jobs, backups, queue workers and internal services. The ping stops — you get alerted.

Included in free tier
No credit card Servers in Germany 3 EU probe nodes 14-day pro trial GDPR compliant
Live status
Heartbeat & cronjob monitoring
ACTIVE
Heartbeat slugs
One unique ping endpoint per job via slug. `curl https://api.xictraq.com/api/heartbeat/<slug>/ping` at the end of your cron script — done.
Per-job grace period
Set expected interval and tolerance: "every 24h ±1h". If the ping arrives later, the alert fires. Ideal for backup scripts with variable runtime.
Duration & output anomaly
Append optional metrics to the ping — items, exit_code, duration_ms. XICTRAQ then additionally detects empty runs (ran but did nothing), runtime outliers (adaptive, mean + 3σ per hour-of-week, opt-in) and error exit codes. Auto-recovers on the next healthy ping.
TCP & protocol monitoring
Checks for any TCP port (25, 587, 465 for SMTP · 3306 for MySQL · 6379 for Redis) plus SMTP banner verification and custom protocols.
Last check just now
What it does

Not every system exposes a public endpoint. Nightly backups, cron jobs, queue workers or internal integrations run in the background — and when they fail, you usually find out when something else breaks. Heartbeats flip monitoring around: your job pings an HTTPS endpoint at defined intervals. If the ping stops, we alert immediately. Plus: TCP/port-based service monitoring for SMTP, FTP, databases and custom protocols. And on-call schedules with automatic rotation so the wrong person doesn't get woken up at night.

Heartbeat & cronjob monitoring features

Heartbeat slugs

One unique ping endpoint per job via slug. `curl https://api.xictraq.com/api/heartbeat/<slug>/ping` at the end of your cron script — done.

01 / 07

Per-job grace period

Set expected interval and tolerance: "every 24h ±1h". If the ping arrives later, the alert fires. Ideal for backup scripts with variable runtime.

02 / 07

Duration & output anomaly

Append optional metrics to the ping — items, exit_code, duration_ms. XICTRAQ then additionally detects empty runs (ran but did nothing), runtime outliers (adaptive, mean + 3σ per hour-of-week, opt-in) and error exit codes. Auto-recovers on the next healthy ping.

03 / 07

TCP & protocol monitoring

Checks for any TCP port (25, 587, 465 for SMTP · 3306 for MySQL · 6379 for Redis) plus SMTP banner verification and custom protocols.

04 / 07

Dead-man alert

No ping = alert. On all configured channels (email, Slack, Teams, Discord, Telegram, webhook). Deduplicated so no alert flood hits you.

05 / 07

On-call schedules

Weekly or daily rotation between team members with automatic handoff notifications. Vacation overrides supported.

06 / 07

Incident management

Every alert can escalate to an incident: acknowledge, comments, resolve, post-mortem link. Full audit trail per incident.

07 / 07
Process

How it works

1

Create a heartbeat

In the dashboard: enter name, expected interval and grace period. XICTRAQ generates a unique ping URL.

2

Ping at the end of the job

Add the ping call at the end of a successful cron script — backup, queue worker, deployment. A one-line curl is enough.

3

Get alerted when nothing arrives

If the ping does not arrive within the grace period, the alert fires immediately on all configured channels. On-call schedule decides who gets it.

FAQ

Frequently Asked Questions

How do heartbeats differ from classical uptime monitoring?
Uptime monitoring asks actively: "Does the website respond?" Heartbeats wait passively: "Did the job check in?" This is how you monitor cron jobs and backup scripts that are not reachable from outside. Use both: uptime for the site, heartbeats for the processes behind it.
What does a heartbeat cost?
Heartbeats have their own per-plan quota — independent of the number of your websites. Starter includes 10 heartbeats, Business 100, Agency unlimited. Pings themselves are unlimited — you do not pay per call.
What if my backup runs but backs up 0 files?
That is exactly what output detection is for. Append the number of saved objects to the ping — e.g. `?exit_code=$?&items=$(wc -l < export.csv)` — and enable “expect_output” on the heartbeat (optionally with a minimum count min_items). If the job then pings with items=0 or below the minimum, we treat the run as empty and alert, even when the exit code was 0. We also detect via adaptive runtime anomaly when a run takes clearly longer or shorter than usual.
Which ports can I monitor with service monitoring?
Any TCP port. Predefined: SMTP (25, 465), IMAP (143, 993), POP3 (110, 995), FTP (21), SSH (22), MySQL (3306), PostgreSQL (5432), Redis (6379), MongoDB (27017). For custom protocols, you can define an expected response pattern that gets verified. Ping (ICMP) works without a port: it checks whether the host itself responds and reports round-trip time and packet loss.
How does on-call rotation work?
You define a rotation rhythm (daily/weekly/fixed) and a team member order. XICTRAQ sends a handoff notification to the new on-call at each shift change. Vacation overrides can be set per person — the rotation automatically skips the affected period.
Are pings slowed down when the server is busy?
No. The ping endpoint on api.xictraq.com responds within milliseconds. Even under load spikes, pings do not noticeably impact your job runtime.
Can incidents automatically become tickets in Jira or Linear?
Yes, via webhooks. Every triggered incident sends a JSON payload to the configured webhook. In Jira, an automation rule can create a ticket from it; in Linear via native webhook integration. Zapier/Make work too.
Start in 60 seconds

Let XICTRAQ watch your website.

Permanent free plan available. No credit card, no installation, no hidden fees.