A beautiful Grafana panel plugin that displays service status information with a clean, modern design. Perfect for monitoring your services with an intuitive interface.
- π¨ Clean Design: Modern, intuitive interface for status monitoring
- π Two Display Modes:
- Minimal: Service name, status, and heartbeat bar only
- Full: Complete view with response times, uptime stats, and certificate info
- π« Interactive Heartbeat Bars: Hover to see timestamps for each status check
- π Instance Filtering: Filter services using Prometheus query labels
- π Real-time Data: Works with Blackbox Exporter and other Prometheus metrics
- π Theme Support: Automatically adapts to Grafana's light/dark themes
Clean, compact display showing just the essentials:
Complete monitoring dashboard with detailed statistics:
- Grafana 9.0.0 or later
- Prometheus with Blackbox Exporter (recommended)
- Download the latest release from the Releases page
- Extract the ZIP file to your Grafana plugins directory:
# Extract to Grafana plugins directory unzip minimal-status-panel-*.zip -d /var/lib/grafana/plugins/minimal-status-panel/
- Restart Grafana and enable the plugin in your configuration
-
Clone the repository:
git clone https://github.com/Perseus985/Minimal-Status-Panel.git cd minimal-status-panel -
Build the plugin:
npm install npm run build
-
Copy to Grafana plugins directory:
cp -r dist /var/lib/grafana/plugins/minimal-status-panel
-
Restart Grafana and enable the plugin in your configuration
For development with Docker (includes Prometheus + Blackbox Exporter):
npm install
npm run build
docker-compose up -dAccess Grafana at http://localhost:3001 (admin/admin)
- Add a new panel to your dashboard
- Select "Minimal Status Panel" as the visualization type
- Configure your data source (Prometheus recommended)
- Add your query, for example:
probe_success
Filter specific services using Prometheus labels:
# Show only GitHub
probe_success{instance="https://github.com"}
# Show multiple services
probe_success{instance=~"https://github.com|https://google.com"}
# Filter by job
probe_success{job="blackbox"}
- Display Mode: Choose between List, Grid, or Compact layout
- Display Level:
- Minimal: Service name, status badge, URL, and heartbeat bar
- Full: All above plus response times, uptime statistics, and certificate info
- Show Labels: Toggle service name display
- Show Last Check: Display last check timestamp
- Show Response Time: Display response time metrics
- Max Items: Limit number of services shown (1-100)
- Refresh Interval: Auto-refresh interval in seconds (5-300)
Use with Blackbox Exporter for HTTP/HTTPS monitoring:
# prometheus.yml
scrape_configs:
- job_name: 'blackbox'
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- https://google.com
- https://github.com
- https://your-website.com
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox-exporter:9115probe_success: Primary metric (1=up, 0=down)probe_duration_seconds: Response time data- Any metric with
instancelabel for service identification
Shows just the essentials - perfect for overview dashboards:
- Service name and status badge
- Clickable URL
- 50-bar heartbeat timeline with hover timestamps
Complete monitoring dashboard with:
- All minimal view features
- Current and average response times
- 24-hour, 30-day, and 1-year uptime statistics
- SSL certificate expiration info
Hover over any heartbeat bar to see:
- Status (UP/DOWN)
- Exact timestamp
- Visual indication of service health over time
# Development build with watch
npm run dev
# Production build
npm run build
# Type checking
npm run typecheck
# Linting
npm run lint
npm run lint:fix
# Testing
npm test
npm run test:cisrc/
βββ components/
β βββ StatusPanel.tsx # Main panel component
β βββ StatusIndicator.tsx # Individual service card
βββ utils/
β βββ dataUtils.ts # Data parsing utilities
βββ types.ts # TypeScript interfaces
βββ plugin.ts # Panel options configuration
βββ module.ts # Plugin entry point
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Found a bug or have a feature request? Please open an issue.
If this plugin helped you, please consider giving it a β on GitHub!


