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!


