Dashboards & Observability
Grafana
A leading dashboard and observability platform connecting multiple data sources for metrics, logs, and traces.
Review notes
Grafana is only the visualization layer. Pair it with Prometheus, Loki, or InfluxDB for data. Configure authentication and permissions carefully.
Deployment guide
Run a simple Docker container. Connect data sources after installation.
- Create a data directory for Grafana to store dashboards and config.
- Run the container with volume mount and port 3000.
- Log in with admin/admin and change the password immediately.
- Add data sources (Prometheus, InfluxDB, or others).
- Import or create dashboards to visualize metrics.
Backup:Back up the data directory and SQLite database (or PostgreSQL if used). Export important dashboards as JSON.
Copy and run on your server
Use each block separately: save the compose file, or copy the bash script to create it and start the container.
docker-compose.ymlyaml
services:
grafana:
image: grafana/grafana-oss:latest
container_name: grafana
volumes:
- ./data:/var/lib/grafana
ports:
- "3000:3000"
environment:
GF_SECURITY_ADMIN_PASSWORD: "CHANGEME_admin_password" # CHANGE THIS
restart: unless-stoppedsetup.shbash
#!/usr/bin/env bash
set -euo pipefail
sudo mkdir -p /opt/grafana
sudo chown "$USER":"$USER" /opt/grafana
cd /opt/grafana
cat > docker-compose.yml <<'COMPOSE'
services:
grafana:
image: grafana/grafana-oss:latest
container_name: grafana
volumes:
- ./data:/var/lib/grafana
ports:
- "3000:3000"
environment:
GF_SECURITY_ADMIN_PASSWORD: "CHANGEME_admin_password" # CHANGE THIS
restart: unless-stopped
COMPOSE
docker compose up -d
echo "Grafana is running on http://SERVER_IP:3000"Stack
GoTypeScriptDocker