天天看点

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

一、 cAdvisor+influxDB+Grafana介绍

框架名

特点、作用

角色

Cadvisor

Google开源的用于基础设施应用的工具,可以零配置运行在docker主机上来监控docker主机及docker容器。其为单节点监控,只能监控一个主机。多点监控可参考Google的Kubernetes

作为docker服务的监控数据收集器,提供给influxdb

Influxdb

Influxdb是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖、提供管理界面。提供基于时间序列,基于事件的可度量的实时计算功能

作为数据存储器以及分析函数支持,与elk中的elasticsearch作用类似,但此数据库偏向存储实时数据。

Grafana

Grafan可视化大型测量数据的开源程序,有灵活丰富的图形化选项,可以混合多种风格,多个数据源例如:Graphitle、zabbix、influxdb、Prometheus、mysql和openTSDB详见配置页面

作为数据分析的可视化展示,与influxdb配合实现监控目的。与elk中的kibana类似,但此可视化偏向实时监控数据展示。

架构图:

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

备注:

1.每个docker主机上均部署多个tomcat容器,以及docker主机的监控服务cadvisor

2. .influxdb以及grafana根据监控压力配置

3.数据流向:docker主机+docker容器àcadvisoràinfluxdbàgranfanaàweb页面

二、环境搭建

1、安装influxdb,我们使用下面的缺省设置,并命名容器influxsrv,稍后将使用它来进行链接

docker run -d -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 --name influxsrv influxdb

备注:-d:守护线程运行

--name:容器名influxdb

-p: 主机端口(自己分配):容器端口 8083为infuxdb后台控制端口,8086是infuxdb的数据端口

安装完成后登陆web,访问一下是否正确安装,访问:http://dockerIP:8083

登陆成功后,添加管理员角色,创建数据库(作为后续存储)

① 添加管理员角色

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

② 创建数据库

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

2、部署cAdvisor

①部署命令

docker run --privileged=true --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker:/var/lib/docker:ro --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro -p 8087:8080 --detach=true --link influxsrv:influxsrv --name=cadvisor google/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086

备注:上诉语句请勿换行

docker run

--privileged=true :设置挂载目录权限为最大 否则挂载出错

--volume=/:/rootfs:ro :将容器/rootfs目录挂载到docker /

--volume=/var/run:/var/run:rw :将容器/var/run 挂载到docker /var/run

--volume=/sys:/sys:ro :rw表示读写 ro表示只读

--volume=/var/lib/docker:/var/lib/docker:ro

--volume=/sys/fs/cgroup:/sys/fs/cgroup:ro

-p 8087:8080 :设置cadvisor端口映射 由于8080被我使用oracle 我分配8087

--detach=true :是否后台运行容器服务

--name=cadvisor google/cadvisor :容器服务名 为cadvisor 从docker默认仓库 下载google/cadvisor镜像

-storage_driver=influxdb :绑定存储驱动 为 influxdb

-storage_driver_db=cadvisor :数据库为 cadvisor 请对应

-storage_driver_host= influxsrv:8086 :绑定数据库管理地址 容器名:容器端口

② 验证是否成功

http://docker主机的ip:容器映射出来host 本来为8080 修改为8087

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

② 查看cAdvisor是否将数据推送到influxdb

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

3、部署grafana

①部署命令

docker run -d --name grafana -p 3000:3000 grafana/grafana

备注:docker run

-d :后台运行

--name grafana :容器别名

-p 3000:3000 :端口映射

grafana/grafana :默认docker仓库下载grafana镜像

② 验证是否成功

http://docker主机的ip:3000 默认帐号admin admin

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

4、简单使用

①登陆grafana

②设置数据源

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

home主页

左到右分别是

安装grafana 添加数据源 添加面板 设置用户权限 安装插件

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署
docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署
docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署
docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

② 建立dashboard

单击“New dashboard”

选择“Graph”->点击“Panel Title”->“Edit”

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署
docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署
docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署
docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

备注:可添加多个,以及使用混合模式 将cadvisor与influxdb在同一图标展示

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

执行效果

docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署

继续阅读