Dashboards Guide
Create custom visualizations for your observability data
Overview
Qorrelate dashboards are powered by Perses, an open-source dashboard framework from the CNCF. This means you get powerful, customizable visualizations with full PromQL support.
Key Features
- • PromQL queries for metrics visualization
- • Time series, gauges, tables, and more panel types
- • Dashboard variables for dynamic filtering
- • Share dashboards with your team
- • Import/export dashboard JSON
Creating a Dashboard
- Navigate to Dashboards in the sidebar
- Click + New Dashboard
- Enter a name and optional description
- Click Create
You can also create dashboards via the API:
curl -X POST https://qorrelate.io/v1/dashboards \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "API Metrics",
"description": "Monitor API performance",
"panels": []
}'
Adding Panels
Panels are the building blocks of dashboards. Each panel displays data from a query.
- Click + Add Panel on your dashboard
- Choose a panel type (Time Series, Stat, Table, etc.)
- Write your PromQL query
- Configure display options (title, legend, colors)
- Click Save
Writing Queries
Dashboard panels use PromQL (Prometheus Query Language) to query your metrics. Here are common examples:
Request Rate
rate(http_requests_total[5m])
Error Rate Percentage
100 * sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m]))
P99 Latency
histogram_quantile(0.99,
sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service)
)
Memory Usage by Service
sum by (service_name) (process_resident_memory_bytes)
Time Series Panel
The most common panel type. Displays metrics over time as line or area charts.
Configuration Options
- Display: Line, Area, Bars
- Line Width: 1-10 pixels
- Fill Opacity: 0-100%
- Legend: Bottom, Right, Hidden
- Unit: Bytes, Percent, Requests/sec, etc.
Stat / Gauge Panel
Display a single value prominently. Great for key metrics like uptime, error count, or current users.
# Current active users
sum(active_users)
# Uptime percentage
avg(up) * 100
# Total errors in last hour
increase(errors_total[1h])
Table Panel
Display data in tabular format. Useful for showing multiple series or detailed breakdowns.
# Top endpoints by request count
topk(10, sum by (endpoint) (rate(http_requests_total[5m])))
Logs Panel
Embed a log viewer directly in your dashboard. Filter logs relevant to the dashboard context.
Log Panel Query
service.name:api-gateway AND severity:ERROR
Dashboard Variables
Variables let you create dynamic dashboards that can filter data without editing queries.
Creating a Variable
- Click Dashboard Settings (gear icon)
- Go to Variables tab
- Click Add Variable
- Configure the variable type and query
Variable Types
- Query: Values from a PromQL query (e.g., all service names)
- Custom: Predefined list of values
- Interval: Time intervals (1m, 5m, 1h, etc.)
Using Variables in Queries
# Use $service variable in query
rate(http_requests_total{service="$service"}[5m])
# Use $interval variable
rate(http_requests_total[$interval])
Dashboard API
Manage dashboards programmatically via the API.
List Dashboards
curl https://qorrelate.io/v1/dashboards \
-H "Authorization: Bearer YOUR_API_KEY"
Get Dashboard
curl https://qorrelate.io/v1/dashboards/{dashboard_id} \
-H "Authorization: Bearer YOUR_API_KEY"
Update Dashboard
curl -X PUT https://qorrelate.io/v1/dashboards/{dashboard_id} \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Dashboard Name",
"panels": [...]
}'
Delete Dashboard
curl -X DELETE https://qorrelate.io/v1/dashboards/{dashboard_id} \
-H "Authorization: Bearer YOUR_API_KEY"
Pro Tip: AI Dashboard Assistant
Use the MCP integration with your AI assistant to create dashboards via natural language:
"Create a dashboard with request rate, error rate, and P99 latency for the checkout service"