services:
grafana:
image: grafana/grafana-oss:11.1.0
container_name: do-grafana
restart: unless-stopped
ports:
- 9900:3000
volumes:
- ./data/grafana:/var/lib/grafana
user: root
docker-compose up -d grafana





* Grafana Datasource: Prometheus
Host CPU (%)
100 * (1 - avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[1m])))
Host Memory (%)
100 * (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes))
Host Storage (%)
100 * (1 - (node_filesystem_free_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"}))
Containers CPU (each %)
sum(rate(container_cpu_usage_seconds_total{job="cadvisor",name=~".+"}[1m])) by (name) * 100
Containers Memory (each GB)
sum(container_memory_usage_bytes{job="cadvisor",name=~".+"}) by (name) / (1024 * 1024 * 1024)


dashboard.json)을 ./conf/grafana/ 경로에 저장dashboard.yaml 파일 설정apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: 'file'
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards
datasource.yaml 파일 설정apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
url: http://172.17.0.1:9090
uid: fdsou8fqkjc4kc
isDefault: true
./conf/grafana/ 경로에 저장services:
grafana:
image: grafana/grafana-oss:11.1.0
container_name: do-grafana
restart: unless-stopped
ports:
- 9900:3000
volumes:
- ./conf/grafana/dashboard.yaml:/etc/grafana/provisioning/dashboards/dashboard.yaml
- ./conf/grafana/datasource.yaml:/etc/grafana/provisioning/datasources/datasource.yaml
- ./conf/grafana/dashboard.json:/var/lib/grafana/dashboards/dashboard.json
- ./data/grafana:/var/lib/grafana
user: root