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
打開瀏覽器訪問看看