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

  1. Navigate to Dashboards in the sidebar
  2. Click + New Dashboard
  3. Enter a name and optional description
  4. 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.

  1. Click + Add Panel on your dashboard
  2. Choose a panel type (Time Series, Stat, Table, etc.)
  3. Write your PromQL query
  4. Configure display options (title, legend, colors)
  5. 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

  1. Click Dashboard Settings (gear icon)
  2. Go to Variables tab
  3. Click Add Variable
  4. 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])

Sharing Dashboards

Share dashboards with your team or export for backup.

Share with Team

All dashboards in your organization are visible to all members. Use the dashboard URL to share directly.

Export/Import JSON

  1. Open the dashboard you want to export
  2. Click Dashboard Settings > JSON Model
  3. Copy the JSON or click Download
  4. To import, create a new dashboard and paste the JSON

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"