配置 Docker 监控系统,采集数据(cAdvisor) -> 存储数据(InfluxDB) -> 显示数据(Grafana)
InfluxDB
一系列 InfluxDB
学习文章,可查看 等英博客、Linux 大学相关文章
一. docker 拉取镜像
docker pull tutum/influxdb:0.9
版本可以根据需要定义,此处默认为 0.9
二. 启动运行
docker run -d -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 --name influxsrv tutum/influxdb
参数说明
-d
:容器在后台运行-p
:将容器内端口映射到宿主机端口,格式为 宿主机端口:容器内端口;8083
是 influxdb 的 web 管理工具端口,8086
是 influxdb 的 HTTP API 端口--expose
:可以让容器接受外部传入的数据--name
:容器名称- 最后是
镜像名称:tag
,镜像为tutum/influxdb
,tag 的值如果不填默认为latest
,也可以指定版本如tutum/influxdb:0.8.8
可以使用 docker ps -a
可以查看正在运行的 influxsrv
容器
如图
可以打开浏览器输入http://localhost:8083
访问
三. 登入管理
输入用户名 root
密码 root
,Host
可以自定这里默认localhost
,点击保存。
四. 命令行操作
可以使用命令行进行容器管理,启动容器
docker run -i -t tutum/influxdb bin/bash
进入容器操作 influxdb
,可以进行一系列操作,可看教程 InfluxDB学习之InfluxDB的基本操作
cAdvisor
五. web 端操作
在登录 influxdb
后台数据库管理平台后, 创建 cAdvisor
数据库, 用于存储 cAdvisor
应用所获取的实时监控数据。在 influxDB
管理界面中的 Queriy 输入框中创建数据库和用户。其中界面的右下角的 Query Templates
可以快速使用相关操作语句。
1. 创建 cadvisor
数据库
create database 'cadvisor'
查看这个数据库的状态
2. 安装 cAdvisor 容器并将其链接到 InfluxDB 容器
sudo 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 --link influxsrv:influxsrv --name=cadvisor google/cadvisor:latest -storage_driver_db=influxdb -storage_driver_host=influxsrv:8086
如图
安装成功后,浏览器输入 http://localhost:8080/
访问,成功访问后就可以看到在 Docker 主机和容器上收集统计信息的 cAdvisor
Grafana
六.安装 Grafana 仪表板并将其链接到 InfluxDB 容器
sudo docker run -d -p 3000:3000 -e HTTP_USER=admin -e HTTP_PASS=admin -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
如图
安装成功后,浏览器输入 http://localhost:3000/
访问 Grafana
1.登录到 Grafana 并配置数据源
登入界面,Username 输入admin
,Password 输入 admin
,点击登入即可以进入
2. 将 InfluxDB 连接到 Grafana 仪表板
成功登入后,点击界面左上角的 Grafama 图标,弹出菜单栏点击数据源
3. 在 Data Source Settings 界面填写相关信息
Data Sources /New 界面
填写以下信息
Data Sources / New
Settings
Name:influxDB Default:yes
Type:InfluxDB
HTTP
URL:http://influxsrv:8086/
Access:proxy
Auth
Basic Auth:yes With Credentials: no
TLS Client Auth:no With CA Cert:no
Skip TLS Verification (Insecure):no
Basic Auth Details
User:admin
Password:admin
Advanced HTTP Settings
Whitelisted Cookies:none
InfluxDB Details
Database:cadvisor
User:root
Password:root
Min time interval:60s
如图
当点击 Save&Test
返回 Data source is working
信息的时候,表示 grafana 已经正确连接到相应的容器
七. Grafana 配置完成可视化监控
新建监控面板
填写相关信息
关于 Grafaba 上的配置选项可查看官网教程 Using InfluxDB in Grafana
八. 使用 docker compose.yml 配置文件部署 Docker 监控系统
这里有一份现成的 Docker 监控配置文件 docker-compose.yml
下载该文件
weget https://github.com/SCAULUG/docker-moitoring/blob/master/docker-compose.yml
在安装目录下执行
docker-compose -f docker-compose.yml up -d
具体可查看 Docker-monitoring
相关链接
Grafana: Grafana Tutorial
Grafana Play :Grafana Play Home