docker-compose 部署grafana,prometheus
从grafana和prometheus官网拿到docker-compose.yml(下面有链接,进入后直接搜docker-compose.yml 就可以找到),然后放一起,如下图,作为compose启动的配置文件docker-compose.yml
[root@kpc]# cat docker-compose.yml
version: "3"
services:
grafana:
image: grafana/grafana:5.1.0
ports:
- 3000:3000
user: "104"
prometheus:
image: prom/prometheus:latest
container_name: prometheus
ports:
- 9090:9090
command:
- --config.file=/etc/prometheus/prometheus.yml
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
depends_on:
- cadvisor
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
ports:
- 8080:8080
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
depends_on:
- redis
redis:
image: redis:latest
container_name: redis
ports:
- 6380:6379
https://grafana.com/docs/grafana/latest/installation/docker/
https://prometheus.io/docs/guides/cadvisor/#prometheus-configuration
只有docker-compose.yml还不够,启动会报错的,因为prometheus有个volumes配置
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
意思是把虚拟机当前目录下的prometheus.yml文件映射到prometheus服务容器里面的/etc/prometheus/prometheus.yml,所以,我们还要在当前目录建一个prometheus.yml,写入内容
scrape_configs:
- job_name: cadvisor
scrape_interval: 5s
static_configs:
- targets:
- cadvisor:8080
现在就齐活了,看一下当前目录都有啥?嗯, 就这2个文件
[root@kpc]# ls
docker-compose.yml prometheus.yml
现在我们再up,发现报错了,看报错是拉取cadvisor时连接超时了,这是因为国外源的原因,马上换一下docker源,换成aliyun的,怎么替换docker源?
sudo mkdir -p /etc/docker # 如果没有就新建,有的话直接进去然后下一步
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://tjtr2dh5.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
OK,源也换了,理论上没问题了。
docker-compose up启动,启动成功的日志太长就不贴了
docker-compose ps查看一下,如图,State都是up说明都成功了
[root@kpc]# docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------
kpc_grafana_1 /run.sh Up 0.0.0.0:3000->3000/tcp
cadvisor /usr/bin/cadvisor Up 0.0.0.0:8080->8080/tcp
prometheus /bin/prometheus --config.f ... Up 0.0.0.0:9090->9090/tcp
redis docker-entrypoint.sh redis ... Up 0.0.0.0:6380->6379/tcp
打开浏览器访问看看