Skip to Content
๐ŸŽ‰ EZMON v0.1.19 is released. Visit ezmon.web.id โ†’
Features

โœจ EZMON Core Features

๐Ÿ’“ Heartbeat Monitoring

Agents push a heartbeat payload to the Hub every 30 seconds (configurable). The Hub records the latest heartbeat timestamp and calculates the offline_deadline_at.

ParameterDefaultDescription
heartbeat_interval_sec30Push interval frequency
grace_multiplier3Grace period tolerance multiplier
Effective Grace Period90s30s ร— 3 = 90 seconds before flagged offline

โš™๏ธ Offline Detection & Internal Evaluator

EZMON uses a deadline-based detection model running directly within the serverless runtime without needing a separate worker service:

offline_deadline_at = last_seen_at + (heartbeat_interval_sec ร— grace_multiplier)
  • Next.js Internal Evaluator Route (/api/internal/evaluate): Integrated backend evaluator in the Next.js Serverless runtime, triggered periodically via Cron (such as cron-job.org or Upstash QStash).
  • Heartbeat & Recovery Detection: Checks agents past deadline, updates status to offline, creates incidents, and automatically marks incidents as resolved when agents recover.
  • Cloud Check Evaluation: Evaluates active Cloud Monitors (HTTP, TLS, Keyword) in parallel.
  • Automated Retention: Cleanly purges aged metric_buckets (> 7 days), alert_events (> 7 days), and cloud_check_results (> 30 days).

๐Ÿ›ก๏ธ Security & Agent Onboarding

  • One-Time Registration Token (reg_...): Temporary 5-minute TTL single-use registration tokens preventing project token leakage in terminal history.
  • SHA-256 Checksum Verification: The install.sh script automatically verifies SHA-256 binary checksum hashes against GitHub Releases before executing the binary.
  • Interactive Terminal Prompt (/dev/tty): Interactive prompt mode taking registration tokens via /dev/tty so tokens are not logged in .bash_history.

๐Ÿ–ฅ๏ธ Fleet Management & UI Customization

  • View Mode Toggle (List vs Card Grid): Interactive toggle on /dashboard/agents with localStorage preference persistence. Card Grid displays CPU/RAM progress bars, ONLINE/OFFLINE status pulse badges, Docker container count, OS/Arch metadata, and agent tags.
  • Outdated Agent Detection & Upgrade Modal: Automatic version comparison against Hub version (UpdateAgentModal) with 1-click upgrade snippet and auto-detection polling.
  • Visual Downtime Chart Breaking (connectNulls={false}): Metric charts for CPU, RAM, Disk, and Network visually break during agent/monitor downtime instead of drawing false continuous lines.

๐Ÿšจ Incident Management & Notifications

  • State Transition Alerts: Notifications are only dispatched upon actual status transitions (online โ†’ offline or offline โ†’ online).
  • Single & Bulk Incident Deletion: Support deleting individual incidents or bulk clearing resolved incidents from the dashboard.
  • Dedicated Notification Channels Page (/dashboard/notifications): Dedicated router for alert channels (Telegram, Discord, Webhook) supporting targetType filtering (all, agent, monitor).

โ˜๏ธ Cloud Monitors

Monitor external cloud endpoints without installing an agent:

TypeMechanismUse Case
HTTPHEAD request, status code verificationWebsite / API availability
TLSHEAD + crt.sh TLS expiry lookupSSL certificate expiration check
KeywordGET request, search body for keywordContent integrity monitoring

๐Ÿ”‘ Authentication & Navigation

  • 2-Step Registration Email OTP: New user registrations require 6-digit email OTP verification (10-minute expiry).
  • Raycast Spotlight Command Palette (CTRL + K): Global search modal querying across Agents Fleet, Cloud Monitors, Incidents Log, and status keywords (online, offline, error).
  • Public Status Page & API: Per-project public status page with customizable slug, featuring a JSON API endpoint GET /api/public/status/[slug].
Last updated on