mirror of
https://github.com/Dvorinka/beszel.git
synced 2026-06-03 21:02:56 +00:00
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
This commit is contained in:
@@ -0,0 +1,216 @@
|
||||
# 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
|
||||
6. **Subdomain Tracking** - Track subdomains for each domain
|
||||
7. **Bulk Operations** - Bulk import/export for domains and monitors
|
||||
8. **Microsoft Teams** - Teams notification provider
|
||||
9. **Signal** - Signal messenger notifications
|
||||
10. **Multi-user Roles** - Better role-based access control
|
||||
11. **2FA/SSO** - Two-factor authentication and single sign-on
|
||||
12. **Prometheus Export** - Export metrics in Prometheus format
|
||||
|
||||
### Low Priority
|
||||
13. **Game Server Monitoring** - Steam, GameDig protocols
|
||||
14. **MQTT Monitoring** - IoT device monitoring
|
||||
15. **gRPC Monitoring** - gRPC health checks
|
||||
16. **RSS/iCal Feeds** - Calendar and feed exports
|
||||
17. **Heatmaps** - Visual calendar heatmaps for uptime
|
||||
18. **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)
|
||||
1. Email (SMTP)
|
||||
2. Webhook (Generic)
|
||||
3. Discord
|
||||
4. Slack
|
||||
5. Telegram
|
||||
6. Gotify
|
||||
7. Pushover
|
||||
|
||||
### Recommended Additions
|
||||
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.
|
||||
Reference in New Issue
Block a user