Grafana logoDashboards & 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.

  1. Create a data directory for Grafana to store dashboards and config.
  2. Run the container with volume mount and port 3000.
  3. Log in with admin/admin and change the password immediately.
  4. Add data sources (Prometheus, InfluxDB, or others).
  5. 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-stopped
setup.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