seemebaby 发表于 2019-2-22 06:38:41

docker_基础_4_监控

  接上篇12-20

21、监控

21.1、使用InfluxDB+cAdvisor+Grafana配置Docker监控
    cAdvisor: Google开源的用于监控基础设施应用的工具,它是一个强大的监控工具,不需要任何配置就可以通过运行在Docker主机上的容器来监控Docker容器,而且可以监控Docker主机。更多详细操作和配置选项可以查看Github上的cAdvisor项目文档。
  influxDB: 它是一个分布式时间序列数据库。cAdvisor仅仅显示实时信息,但是不存储监视数据。因此,我们需要提供时序数据库用于存储cAdvisor组件所提供的监控信息,以便显示除实时信息之外的时序数据。
  Grafana: Grafana可视化展示平台允许我们可视化地展示监控信息。它允许我们对influxDB进行查询,并通过强大的图表功能进行可视化展示。
  关系:cAdvisor容器数据采集->InfluxDB容器数据存储->Grafana可视化展示
  原文来源于简书, 链接


[*]  安装influxDB

docker run -d \
-p 8083:8083 \
-p 8086:8086 \
--expose 8090 \
--expose 8099 \
--name influxsrv \
tutum/influxdb
https://s1.运维网.com/images/blog/201804/15/80b345bbd98b29e71781377c9e54c9fe.png?x-ossprocess=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

  在登录influxdb后台数据库管理平台后, 创建cAdvisor数据库, 用于存储cAdvisor应用所获取的实时监控数据。在influxDB管理界面中的Querie s输入框中创建数据库和用户:

# 创建数据库用于cadvisor连接
create database 'cadvisor';
# 创建用户
CREATE USER 'cadvisor' WITH PASSWORD 'cadvisor'

[*]运行cAdvisor应用容器并与influxDB容器进行互联
docker run --volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
-p 8080:8080 \
--detach=true \
--link influxsrv:influxsrv \
--name=cadvisor \
google/cadvisor:latest \
-storage_driver=influxdb \
-storage_driver_db=cadvisor \
-storage_driver_host=influxsrv:8086
    cAdvisor应用容器启动成功后,通过Web浏览器访问地址http://docker-host-ip:8080,便可以查看cAdvisor监控工具所收集到的Docker主机和容器的资源统计信息。

https://s1.运维网.com/images/blog/201804/15/0d87ffb0106e4d9fdf1d544847ade0f8.png
  3.运行Grafana可视化平台并与influxDB容器进行互联

docker run -d -p 3000:3000 \
-e INFLUXDB_HOST=influxsrv \
-e INFLUXDB_PORT=8086 \
-e INFLUXDB_NAME=cadvisor \
-e INFLUXDB_USER=root \
-e INFLUXDB_PASS=root \
--link influxsrv:influxsrv \
--name grafana \
grafana/grafana

[*]登录Grafana管理平台
  通过Web浏览器访问地址http://docker-host-ip:3000登录Grafana管理平台。
  用户名:admin
密 码:admin
https://s1.运维网.com/images/blog/201804/15/655fedc2e431e3fd9c45371965a418c2.png
https://s1.运维网.com/images/blog/201804/15/222079200756248209faa6b5047a44f5.png
https://s1.运维网.com/images/blog/201804/15/87c77438de7c2ea2b457ec1ac5ae00c5.png
  添加一个graph
https://s1.运维网.com/images/blog/201804/15/65bcd7d0453f5efdff6eebd4ed74a549.png
https://s1.运维网.com/images/blog/201804/15/82d3ea5ef01b1a0adfbcffe1cec03117.png
  添加来自内存,这里是所有的容器内存信息
https://s1.运维网.com/images/blog/201804/15/e79f0f7f4d25f4c50efe91fde5a73c65.png
  单个容器的条目
https://s1.运维网.com/images/blog/201804/15/78194639451f9166baab20064278dcd9.png
  添加2个的效果
https://s1.运维网.com/images/blog/201804/15/f4dfd809c6ee1547975aad9353e47b24.png


21.2、portainer
    Portainer 的使用意图是简单部署。 它包含可以在任何 Docker 引擎上运行的单个容器(Docker for Linux 和 Docker for Windows)。
  Portainer 允许您管理 Docker 容器、image、volume、network 等。 它与独立的 Docker 引擎和 Docker Swarm 兼容。

  portainer详细介绍
  运行portainer工具

docker run -d -p 9000:9000   \
--restart=always   \
-v /var/run/docker.sock:/var/run/docker.sock   \
--name test   \
portainer/portainer
https://s1.运维网.com/images/blog/201804/15/cd7f8d0e86d5cf9f3ab32454ae10f722.png
这里也可以查看单个容器的监控状态
https://s1.运维网.com/images/blog/201804/15/1ede7a743f58f68224551d3dbe0be400.pnghttps://s1.运维网.com/images/blog/201804/15/d4b316d3dafb8a0c51e93ec20d53b3e5.png
  还能直接进入console界面
https://s1.运维网.com/images/blog/201804/15/85be81f606f7c66ce952f8b2e2e74213.png

21.3、Shipyard

这个官方已经不在维护了具体信息:https://github.com/shipyard/shipyard
21.4、docker ui
  docerui github地址

Run: docker run -d -p 9005:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
Open your browser to http://:9000
https://s1.运维网.com/images/blog/201804/15/b1c7074358564a90629306ef7e41a2a2.png
  网络连接关系图挺有意思
https://s1.运维网.com/images/blog/201804/15/bb0d1db17dea102a5ba90176cae0acfe.png
  容器的名称,基础镜像以及正在使用的命令还有状态,最后还能查看日志
https://s1.运维网.com/images/blog/201804/15/76a0aece80858a414c3aaf8b4263da48.png
  未完待续



页: [1]
查看完整版本: docker_基础_4_监控