Files
Beszel/FEATURE_ANALYSIS.md
T
Tomas Dvorak 8011d487f1 Add public monitoring features and CI updates
- Add status pages, incidents, badges, maintenance, bulk ops, and metrics
- Add Docker packaging, env example, and frontend routes
- Refresh GitHub workflows and project metadata
2026-04-27 11:10:18 +02:00

7.3 KiB

Feature Analysis & Comparison

Chart Library Export

Created /chart-library.tsx - A standalone chart library that can be exported to other projects.

Components Included:

  • Base Charts: AreaChart, LineChart, BarChart, PieChart
  • Pre-built Monitoring Charts:
    • CpuUsageChart - CPU utilization with % formatting
    • MemoryUsageChart - Memory with byte formatting and stacking
    • DiskUsageChart - Disk I/O with read/write lines
    • NetworkTrafficChart - Network sent/received
    • ResponseTimeChart - Monitor response times
    • UptimeChart - Uptime percentage with SLA reference line
    • DomainExpiryChart - Domain and SSL expiry timeline
  • UI Components:
    • ChartCard - Container with title, description, and corner elements
    • StatCard - Statistics card with trend indicators (up/down/neutral)
    • StatusCard - Status indicator cards
  • Utilities: formatBytes, formatPercentage, formatDuration, formatShortDate

Feature Comparison Matrix

Domain Locker vs Our System vs Uptime Kuma

Feature Domain Locker Our System Uptime Kuma Priority
Domain Management
Domain expiry tracking -
Auto-fetch WHOIS data -
SSL certificate monitoring Partial -
Subdomain tracking Medium
DNS record tracking -
Domain valuation/cost tracking Partial Low
Domain tags/categories -
Bulk domain import Medium
System Monitoring
CPU/Memory/Disk/Network -
Docker container monitoring -
GPU monitoring -
SMART disk health -
Temperature sensors -
Service Monitoring
HTTP/HTTPS monitoring -
TCP port monitoring -
Ping/ICMP monitoring -
DNS monitoring -
Keyword monitoring -
JSON query monitoring -
Real browser monitoring High
gRPC monitoring Medium
Game server monitoring Low
MQTT monitoring Low
Notifications
Email notifications -
Webhook notifications -
Discord -
Slack -
Telegram -
Gotify -
Pushover -
Signal Medium
Microsoft Teams Medium
PagerDuty Low
Twilio/SMS Low
Features
Status pages High
Incident management Partial High
Maintenance windows Medium
Multi-user/roles Partial Medium
2FA/SSO Partial Medium
API access High
Prometheus export Medium
iCal/RSS feeds Low
Mobile app/push Partial Low
Charts & Visualization
System resource charts -
Domain expiry charts -
Response time charts -
Uptime statistics -
Multi-series charts -
Heatmaps/calendars Low
Data & Export
Import/export data Medium
API for data access Partial High
Backup/restore Medium

Missing Features (Priority Order)

High Priority

  1. Status Pages - Public-facing status pages for services
  2. Real Browser Monitoring - Monitor with headless browser for actual user experience
  3. Incident Management - Full incident tracking with status page integration
  4. API Access - REST API for external integrations
  5. Maintenance Windows - Schedule maintenance periods to suppress alerts

Medium Priority

  1. Subdomain Tracking - Track subdomains for each domain
  2. Bulk Operations - Bulk import/export for domains and monitors
  3. Microsoft Teams - Teams notification provider
  4. Signal - Signal messenger notifications
  5. Multi-user Roles - Better role-based access control
  6. 2FA/SSO - Two-factor authentication and single sign-on
  7. Prometheus Export - Export metrics in Prometheus format

Low Priority

  1. Game Server Monitoring - Steam, GameDig protocols
  2. MQTT Monitoring - IoT device monitoring
  3. gRPC Monitoring - gRPC health checks
  4. RSS/iCal Feeds - Calendar and feed exports
  5. Heatmaps - Visual calendar heatmaps for uptime
  6. Mobile Push - Native mobile push notifications

Based on user requests and gaps:

1. Status Pages (HIGH)

Public status pages showing:

  • Overall system status
  • Individual monitor status
  • Incident history
  • Uptime statistics
  • Custom branding/logo

2. Maintenance Windows (HIGH)

  • Schedule maintenance periods
  • Suppress alerts during maintenance
  • Pre/post maintenance notifications
  • Recurring maintenance schedules

3. API Endpoints (HIGH)

REST API for:

  • CRUD operations on monitors/domains
  • Fetching stats and history
  • Triggering manual checks
  • Managing notifications

4. Real Browser Monitoring (MEDIUM)

  • Puppeteer/Playwright integration
  • Full page load metrics
  • Screenshot on failure
  • Performance metrics (LCP, FCP, CLS)

5. Enhanced Notifications (MEDIUM)

  • Signal provider
  • Microsoft Teams provider
  • Twilio SMS provider
  • PagerDuty integration
  • Custom webhook templates

Chart Implementation Status

System Detail Page Charts (Complete)

  • CPU Usage Chart (Area with gradient)
  • Memory Usage Chart (Stacked area)
  • Disk I/O Chart (Line chart)
  • Network Traffic Chart (Line chart)
  • GPU Charts (Multi-metric)
  • Temperature Charts (Multi-sensor)
  • Load Average Chart

Domain Detail Page Charts (Updated)

  • Domain Expiry Timeline (Area chart with dual series)
  • 📊 Need: Domain health gauge
  • 📊 Need: SSL grade indicator

Monitor Detail Page Charts (Partial)

  • Response Time Chart (Area chart)
  • Uptime Chart (Area with SLA line)
  • 📊 Need: Status history heatmap
  • 📊 Need: Error rate chart

Notification Providers Status

Currently Implemented (7)

  1. Email (SMTP)
  2. Webhook (Generic)
  3. Discord
  4. Slack
  5. Telegram
  6. Gotify
  7. Pushover
  1. Signal - Growing privacy-focused messenger
  2. Microsoft Teams - Enterprise standard
  3. Twilio - SMS/voice calls
  4. PagerDuty - Enterprise alerting
  5. Matrix - Decentralized chat
  6. Ntfy - Simple pub/sub notifications
  7. Bark - iOS push notifications
  8. Pushbullet - Cross-platform push

Summary

Our system has strong system monitoring (Beszel heritage) and good domain monitoring (Domain Locker inspired). The gaps are primarily in:

  1. Public-facing features (Status pages)
  2. Enterprise integrations (SSO, 2FA, Teams)
  3. Advanced monitoring (Real browser, gRPC)
  4. API access for external integrations

The chart library is now exportable and can be used in other projects.