mirror of
https://github.com/Dvorinka/beszel.git
synced 2026-06-03 21:02:56 +00:00
8011d487f1
- Add status pages, incidents, badges, maintenance, bulk ops, and metrics - Add Docker packaging, env example, and frontend routes - Refresh GitHub workflows and project metadata
7.3 KiB
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 % formattingMemoryUsageChart- Memory with byte formatting and stackingDiskUsageChart- Disk I/O with read/write linesNetworkTrafficChart- Network sent/receivedResponseTimeChart- Monitor response timesUptimeChart- Uptime percentage with SLA reference lineDomainExpiryChart- Domain and SSL expiry timeline
- UI Components:
ChartCard- Container with title, description, and corner elementsStatCard- 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
- Status Pages - Public-facing status pages for services
- Real Browser Monitoring - Monitor with headless browser for actual user experience
- Incident Management - Full incident tracking with status page integration
- API Access - REST API for external integrations
- Maintenance Windows - Schedule maintenance periods to suppress alerts
Medium Priority
- Subdomain Tracking - Track subdomains for each domain
- Bulk Operations - Bulk import/export for domains and monitors
- Microsoft Teams - Teams notification provider
- Signal - Signal messenger notifications
- Multi-user Roles - Better role-based access control
- 2FA/SSO - Two-factor authentication and single sign-on
- Prometheus Export - Export metrics in Prometheus format
Low Priority
- Game Server Monitoring - Steam, GameDig protocols
- MQTT Monitoring - IoT device monitoring
- gRPC Monitoring - gRPC health checks
- RSS/iCal Feeds - Calendar and feed exports
- Heatmaps - Visual calendar heatmaps for uptime
- Mobile Push - Native mobile push notifications
Recommended Next Features
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)
- Email (SMTP)
- Webhook (Generic)
- Discord
- Slack
- Telegram
- Gotify
- Pushover
Recommended Additions
- Signal - Growing privacy-focused messenger
- Microsoft Teams - Enterprise standard
- Twilio - SMS/voice calls
- PagerDuty - Enterprise alerting
- Matrix - Decentralized chat
- Ntfy - Simple pub/sub notifications
- Bark - iOS push notifications
- 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:
- Public-facing features (Status pages)
- Enterprise integrations (SSO, 2FA, Teams)
- Advanced monitoring (Real browser, gRPC)
- API access for external integrations
The chart library is now exportable and can be used in other projects.