Skip to main content

Cài đặt Prometheus + Grafana

1. Điều kiện

  • Server linux: Đã cài docker

2. Cài Prometheus + Grafana

2.1 Các thành phần
ServiceMục đíchPort
PrometheusThu thập metric bắn về từ các node exporter trên target9090
LokiSưu tầm log, nghe log từ promtail cài trên target3100
GrafanaVisualize data (metric, show log)3000
2.2 Cài bằng docker

File docker-compose.yml như sau

version: "3.8"

services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    restart: unless-stopped
    ports:
      - "9090:9090"
    volumes:
      - /home/monitor/prometheus:/etc/prometheus
      - prometheus_data:/prometheus
    networks:
      - monitoring

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=admin
    volumes:
      - grafana_data:/var/lib/grafana
    networks:
      - monitoring
    depends_on:
      - prometheus
  loki:
    image: grafana/loki:latest
    container_name: loki
    restart: unless-stopped
    #command: -config.file=/etc/loki/loki-config.yml
    ports:
      - "3100:3100"   # Loki HTTP API (promtail -> loki)
    volumes:
      - /home/monitor/loki/loki-config.yml:/etc/loki/loki-config.yml:ro
      - /home/monitor/loki/loki-data/index:/loki/index
      - /home/monitor/loki/loki-data/chunks:/loki/chunks
      - /home/monitor/loki/loki-data/compactor:/loki/compactor
    environment:
      - TZ=Asia/Bangkok

volumes:
  prometheus_data:
  grafana_data:


networks:
  monitoring:
    driver: bridge