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
2.3 Các file, thư mục cần lưu ý
| File/Thư mục | Mục đích |
| /home/monitor/prometheus | Volume của service Prometheus. Để cấu hình các Target mà Prometheus cần thu thập metric. |