-
-
Notifications
You must be signed in to change notification settings - Fork 0
Grafana Dashboards
Norm Brandinger edited this page Nov 20, 2025
·
1 revision
- Pre-configured Dashboards
- Creating Custom Dashboards
- Data Source Configuration
- Alert Setup
- Dashboard Sharing
- Panel Types
- Variables and Templating
Access: http://localhost:3001
Credentials: admin/admin
Available dashboards:
- Container Overview: Resource usage across all containers
- PostgreSQL Performance: Database metrics, connections, query rates
- Redis Cluster: Cluster health, memory usage, commands/sec
- RabbitMQ: Queue depths, message rates, consumers
- Application Metrics: Request rates, latencies, errors
Create new dashboard:
- Dashboards → New Dashboard
- Add Panel → Add Query
- Select data source: Prometheus
- Enter PromQL query
- Configure visualization
- Save dashboard
Example panel:
{
"title": "CPU Usage",
"targets": [{
"expr": "rate(container_cpu_usage_seconds_total[5m]) * 100"
}],
"type": "graph"
}Add Prometheus:
- Configuration → Data Sources
- Add data source → Prometheus
- URL:
http://prometheus:9090 - Save & Test
Add Loki:
- Add data source → Loki
- URL:
http://loki:3100 - Save & Test
Create alert:
- Edit panel → Alert tab
- Create Alert
- Conditions: WHEN avg() OF query() IS ABOVE 80
- Evaluate every: 1m
- For: 5m
- Notification: Select channel
- Save
Notification channels:
- Alerting → Notification channels
- Add channel
- Type: Email, Slack, etc.
- Configure settings
Export dashboard:
- Dashboard settings → JSON Model
- Copy JSON
- Save to file
Import dashboard:
- Dashboards → Import
- Upload JSON file or paste JSON
- Select data source
- Import
Share snapshot:
- Share dashboard → Snapshot
- Publish to snapshots.raintank.io
- Share link
Graph: Time series data Stat: Single value Gauge: Value with min/max Table: Tabular data Heatmap: Distribution over time Logs: Log entries from Loki
Example configurations:
# Graph panel
targets:
- expr: rate(http_requests_total[5m])
legendFormat: "{{ method }}"
# Stat panel
targets:
- expr: up{job="postgres"}
options:
colorMode: background
graphMode: none
# Table panel
targets:
- expr: container_memory_usage_bytes
format: table
transform:
- id: organize
options:
excludeByName:
- instanceCreate variable:
- Dashboard settings → Variables
- Add variable
- Name:
container - Type: Query
- Query:
label_values(container_name)
Use in query:
container_memory_usage_bytes{name="$container"}
Multi-select variable:
container_memory_usage_bytes{name=~"$container"}