Grafana logoDashboards & Observability

Grafana

Nền tảng dashboard và observability hàng đầu, kết nối nhiều nguồn dữ liệu để hiển thị metrics, logs và traces.

Ghi chú review

Grafana chỉ là lớp hiển thị, cần kết hợp với Prometheus, Loki hoặc InfluxDB để có dữ liệu. Nên cấu hình authentication và giới hạn quyền.

Hướng dẫn deploy

Chạy một container Docker đơn giản. Kết nối data source sau khi cài đặt.

  1. Tạo thư mục data cho Grafana để lưu dashboards và config.
  2. Chạy container với volume mount và port 3000.
  3. Đăng nhập với admin/admin và đổi mật khẩu ngay lập tức.
  4. Thêm data source (Prometheus, InfluxDB, hoặc khác).
  5. Import hoặc tạo dashboards để hiển thị metrics.
Backup:Backup thư mục data và database SQLite (hoặc PostgreSQL nếu dùng). Export dashboards quan trọng ra JSON.

Copy để chạy trên server

Dùng từng block riêng: lưu compose trước, hoặc copy script bash để tạo file và chạy 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