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
Service Mục đích Port
Prometheus Thu thập metric bắn về từ các node exporter trên target 9090
Loki Sưu tầm log, nghe log từ promtail cài trên target 3100
Grafana Visualize 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