Autonomous sentinel that watches endpoints, scrapes pages, polls APIs, and monitors inboxes — pushing alerts to Telegram, Slack, and Teams when conditions change.
A 60-second background worker continuously evaluates monitoring jobs without any LLM cost. Redis distributed locking ensures exactly-once execution across multiple agent instances, while SHA-256 content hashing detects even the smallest page changes.
// Create a monitoring job
POST /api/v1/agent/monitors
{
"name": "DatOps Health",
"checkType": "health_check",
"target": "https://www.datops.ai/health",
"intervalMinutes": 5,
"conditions": {
"statusCode": 200,
"responseTimeMs": 3000,
"bodyContains": "ok"
},
"maxConsecutiveAlerts": 5
}
// Worker cycle: every 60s
// → Redis lock (EX 120, NX)
// → batch 10 due jobs
// → execute checks
// → push alerts on failure
When a check fails or detects a change, alerts are pushed directly to your messaging channels via Redis reverse mapping chains. No polling required — you get notified instantly.
// Alert flow
Monitor check fails
→ telegramNotifier.pushAlert()
→ Redis reverse mapping chain:
dat:telegram:reverse:{agentDid}
→ telegramId
→ dat:telegram:mapping:{telegramId}
→ chatId
// Alert types with emoji
🔴 CHECK FAILED — endpoint down
🟡 CONDITION NOT MET — status != 200
🔵 CHANGE DETECTED — SHA-256 diff
📧 NEW EMAIL — inbox match
// Smart alerts
pushAlertWithAction()
→ sends alert message
→ creates diagnosis task automatically
The email_check type monitors connected inboxes for new messages matching your conditions. Uses seen_message_ids Redis Sets for deduplication — no false alerts from read-state changes or inbox reorganization.
// Email inbox monitor
POST /api/v1/agent/monitors
{
"name": "Client Emails",
"checkType": "email_check",
"target": "microsoft",
"intervalMinutes": 2,
"conditions": {
"from": "[email protected]",
"subject": "urgent",
"unreadOnly": true,
"maxCount": 10
}
}
// Diff detection:
// Redis Set: dat:monitor:seen_emails:{jobId}
// New message IDs → alert
// Already-seen IDs → skip
// No false alerts from read-state changes
Let your agent watch the world and alert you when things change.