https://blog.csdn.net/onlyellow/article/details/52847569
这里参考了螃蟹的学习笔记,在此特意提出感谢
!
螃蟹大神的blog地址如下:
http://www.pangxie.space/
Docker集群的监控工具不少。因为我考虑后续使用k8s做集群,所以就开始研究cAdvisor和heapster(后续会介绍)。
这里介绍cAdvisor的部署方法。
1. 部署influxdb
可以yum直接在物理机上安装。这里为了方便,我直接用influxdb的docker image启动,方便!
docker pull tutum/influxdb
docker run -d -p 8083:8083 -p 8086:8086 --name influxdb-test tutum/influxdb
如果用于生产环境,则必须用额外的数据存储:
--volume=/var/influxdb:/data
配置完成后进入influxdb容器,创建数据库:
docker exec -it influxdb-test /bin/sh
# influx
Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
Connected to http://localhost:8086 version 0.9.6.1
InfluxDB shell 0.9.6.1
> create database cadvisor <----- 创建名为cadvisor的数据库
> create user "root" with password 'root' with all privileges <------- 创建root/root用户
> show users
user admin
root true
> exit
# exit
2. 部署cAdvisor
# docker pull google/cadvisor
# docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest \
-storage_driver=influxdb \
-storage_driver_db=cadvisor \ <----- 步骤1中配置的influxdb的数据库名称
-storage_driver_host=192.168.0.23:8086 <------ 步骤1中influxdb的地址,可以跟cAdvisor不在同一个机器上
OK 搞定。
打开192.168.0.23:8083 (步骤一种已经把influxdb容器的端口映射到宿主机的对应端口了),可以看到influxdb提供的界面。
P.S.
1.4版本的cAdvisor直接启动会失败。
需要在物理机上执行下列命令:
mount -o remount,rw '/sys/fs/cgroup'
ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu
docker run --privileged=true --volume=/:/rootfs:ro --volume=/dev/kmsg:/dev/kmsg:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8085:8080 --detach=true --link influxsrv:influxsrv --name=cadvisor docker.io/google/cadvisor:latest -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=10.30.30.126:8086 -storage_driver_user=root -storage_driver_password=root