Basic Grafana
infrastructure
└── monitor
├── docker-compose.yml
└── grafana (Directory)
networks:
monitor-net:
name: monitor-net
driver: bridge
services:
grafana:
image: grafana/grafana
container_name: grafana
ports:
- '3000:3000'
environment:
GF_SECURITY_ADMIN_USER: 'default-user'
GF_SECURITY_ADMIN_PASSWORD: 'default-password'
volumes:
- ./grafana:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning
networks:
- monitor-net
restart: always
+Prometheus
infrastructure
└── monitor
├── docker-compose.yml
├── grafana (Directory)
└── prometheus
├── config
│ ├── prometheus.yml
│ └── query-log.log
└── prometheus-volume (Directory)
그라파나에 프로메테우스 & Redis Exporter & MySQL Exporter를 연결합니다. (Docker Prometheus)
networks:
mysql-net:
external: true
redis-net:
external: true
monitor-net:
name: monitor-net
driver: bridge
services:
prometheus:
image: prom/prometheus
container_name: prometheus
ports:
- '9090:9090'
command:
- '--storage.tsdb.path=/prometheus'
- '--config.file=/etc/prometheus/prometheus.yml'
volumes:
- ./prometheus/config:/etc/prometheus
- ./prometheus/prometheus-volume:/prometheus
restart: always
networks:
- monitor-net
mysql-exporter:
image: prom/mysqld-exporter
container_name: mysql-exporter
ports:
- '9104:9104'
command:
- '--mysqld.address=onsquad-mysql:3306'
- '--mysqld.username=exporter:password'
restart: always
networks:
- mysql-net
- monitor-net
depends_on:
- prometheus
redis-exporter:
image: oliver006/redis_exporter
container_name: redis-exporter
ports:
- '9121:9121'
environment:
REDIS_ADDR: redis://sentinel1:26379
REDIS_SENTINEL_MASTER: mymaster
restart: always
networks:
- redis-net
- monitor-net
depends_on:
- prometheus
grafana:
image: grafana/grafana
container_name: grafana
ports:
- '3000:3000'
environment:
GF_SECURITY_ADMIN_USER: 'default-user'
GF_SECURITY_ADMIN_PASSWORD: 'default-password'
volumes:
- ./grafana:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning
networks:
- monitor-net
depends_on:
- prometheus
- mysql-exporter
- redis-exporter
restart: always