快速搭建Docker监控 作者: sujx 时间: 2018-11-29 分类: 教程 阅读:次 `以下内容均使用centos7为实施环境,使用root账户登陆` # 部署 为了方便演示以及避免错误,我采用脚本的方式来部署。演示环境采用3台虚机,IP为172.16.10.230/1/2. [](https://cdn.sujx.net/image/granafa_index.png "granafa") ## 监控节点以及应用准备 首先启动sysdig本地监控程序、Weave Scope图形化监控程序、cAdvisor监控脚本和prometheus监控节点 ```bash #!/bin/bash #Clean Env docker stop `docker ps -a -q` docker rm `docker ps -a -q` #Monitor Node scope launch 172.16.10.230 172.16.10.231 172.16.10.232 docker run -itd --name sysdig-$HOSTNAME -v /dev/:/host/dev -v /var/run/docker.sock:/host/var/run/docker.sock --privileged -v /proc:/host/proc:ro -v /boot:/boot:ro -v /usr:/host/usr:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro sysdig/sysdig docker run -itd --name cadivisor-$HOSTNAME --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 --net=host google/cadvisor:latest docker run -itd --name prom-node-$HOSTNAME -p 9100:9100 -v "/proc:/host/proc" -v "/sys:/host/sys" -v "/:/rootfs" --net=host prom/node-exporter --path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)" #Example Docker docker run -itd --name centos-$HOSTNAME centos docker run -itd --name httpd-$HOSTNAME httpd -p 80:80 #Show Dockers docker ps ```` 我们现在就能看到很多监控内容了 [](https://cdn.sujx.net/weavescope-docker.png "weavescope_docker") ## 服务端准备 在各个节点启动监控node之后,再在主host(172.16.10.230)上启动Prometheus服务端和Granafa前端展示程序。 ```bash #!/bin/bash cd /root #config touch prometheus.yml #ym编辑文件不允许使用tab表示空格 tee prometheus.yml <<- 'EOF' global: scrape_interval: 15s evaluation_interval: 15s external_labels: monitor: 'codelab-monitor' scrape_configs: - job_name: 'prometheus' scrape_interval: 5s static_configs: - targets: ['localhost:9090','localhost:8080','localhost:9100','172.16.10.232:8080','172.16.10.232:9100','172.16.10.231:8080','172.16.10.231:9100'] EOF #Prometheus Server docker run -itd --name prometheus -v /root/prometheus.yml:/etc/prometheus/prometheus.yml -p 9090:9090 --net=host prom/prometheus #Granafa docker run -itd --name grafana-$HOSTNAME -p 3000:3000 -e "GF_SERVER_ROOT_URL=http://grafana.server.name" -e "GF_SECURITY_ADMIN_PASSWORD=secret" --net=host grafana/grafana #Show Dockers docker ps -a ``` 就能看到服务端情况 [](https://cdn.sujx.net/prometheus_server.png "Prometheus") 然后就可以把监控数据导入granafa来进行前端展示。 至此,初步的docker监控搭建完成。 标签: Docker, 监控, Prometheus, Granafa 相关文章推荐 Docker Machine Docker初步 上一篇: Docker Machine 下一篇: 虚拟主机开启全站SSL