> 文档中心 > 【云原生 • DevOps】influxDB、cAdvisor、Grafana 工具使用详解

【云原生 • DevOps】influxDB、cAdvisor、Grafana 工具使用详解

本章学习目标:

  • 掌握时间序列数据库 influxDB 的安装与使用;
  • 掌握容器监控工具 cAdvisor 的安装与使用;
  • 掌握图表工具 Grafana 的安装与使用。

目录

一、时序数据库 influxDB

1. 什么是 influxDB

2. influxDB 的安装

3. influxDB 常用操作

二、容器监控工具 cAdvisor

1. 什么是 cAdvisor

2. cAdvisor 的安装

三、图表工具 Granfana

1. 什么是 Grafana

2. Grafana 的安装

3. Grafana 的常用操作


一、时序数据库 influxDB

1. 什么是 influxDB

influxDB 是一个分布式时间序列数据库,运维常用。由于 cAdvisor 仅仅显示实时信息,但是不能存储监视数据。因此我们需要提供时序数据库用于存储 cAdvisor 组件所提供的监控信息,以便显示除实时信息之外的时序数据。

实时信息之外的时序数据:比如当前的内存大小、CPU 的占用情况等。

2. influxDB 的安装

第一步:下载镜像;

docker pull tutum/influxdb

第二步:创建容器;

docker run -di \    -p 8083:8083 \    -p 8086:8086 \    --expose 8090 \    --expose 8099 \    --name influxsrv \    tutum/influxdb

该容器中:8083 端口为 Web 访问端口,8086 端口为数据写入端口,8090 和 8099 是要求暴露出来的端口。

第三步:容器创建成功之后,在本地进行访问,显示如下界面即安装完成;

3. influxDB 常用操作

创建数据库

我们可以通过查询模板 “Query Templates” 快速输入相关命令;

输入命令后按下回车,即可创建成功;

创建用户并授权

--创建用户 majinjian,密码 990214,为该用户赋予所有权限CREATE USER "majinjian" WITH PASSWORD '990214' WITH ALL PRIVILEGES

此时搜索用户,可以看到我们创建的新用户;

用户授权语法如下:on 数据库名 to 用户名

--在 majinjian 数据库中为用户 majinjian 授予所有权限grant all privileges on majinjian to majinjian--在 majinjian 数据库中为用户 majinjian 授予写权限grant WRITE on majinjian to majinjian--在 majinjian 数据库中为用户 majinjian 授予读权限grant READ on majinjian to majinjian

查看采集的数据

查看采集数据需要使用指令 SHOW MEASUREMENTS;可以看到此时是没有内容的,因为我们的数据库刚刚创建,并没有产生数据。

二、容器监控工具 cAdvisor

1. 什么是 cAdvisor

cAdvisor 是 Google 开源的用于监控基础设施应用的工具,是一个强大的监控工具,不需要任何配置就可以通过运行在 Docker 主机上的容器来监控 Docker 容器,而且可以监控 Docker 主机。

该应用的主要作用就是监控,而监控所产生的数据均存储于时序数据库 influxDB 中。

2. cAdvisor 的安装

第一步:下载镜像;

docker pull google/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 --publish=8080:8080 --detach=true --link influxsrv:influxsrv --name=cadvisor google/cadvisor -storage_driver=influxdb -storage_driver_db=majinjian -storage_driver_host=influxsrv:8086

-storage_driver_db=majinjian -storage_driver_host=influxsrv:8086 语法为连接 influxDB 数据库,此处的 majinjian 是我在 influxDB 中创建的数据库名。

第三步:在本地使用 虚拟机/服务器 IP:8080/containers/ 进行访问,看到以下界面即 cAdvisor 安装成功;

此时 cAdvisor 就已经处于运行状态了,它也会将监控产生的数据存入 influxDB 当中。

再次查看 influxDB 中的采集数据,可以看到已有数据产生;

三、图表工具 Granfana

1. 什么是 Grafana

通过上一节可以看到,在 influxDB 中查看数据时,数据比较凌乱且不够直观,而 Grafana 正是来解决这个问题的。

Grafana 是一个可视化面板,有着非常好的图表和布局展示,包含功能齐全的度量仪表盘和图形编辑器。支持 Graphite、zabbix、influxDB 和 OpenTSDB 作为数据源。

它的主要特性为:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式的切换;支持多个数据源。

2. Grafana 的安装

第一步:下载镜像;

docker pull grafana/grafana

第二步:创建容器并连接 influxDB;

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

-e INFLUXDB_NAME=majinjian 数据库名称

-e INFLUXDB_USER=majinjian 数据库用户名

-e INFLUXDB_PASS=majinjian 数据库密码

第三步:本地浏览器进行访问,初始界面如下;

输入用户名和密码登录,默认用户名为 admin,密码为 admin,首次登录后需要修改密码;

3. Grafana 的常用操作

添加数据源

点击设置 --> “Data sources”;

点击 “Add date source” 添加数据源,然后我们这里选择 influxDB;

设置相关参数;

点击 “save & test”,如下添加成功;

添加仪表盘

选择 “Dashboards” --> “Browse”;

点击 “New Dashboards” 添加,然后选择一种图表类型添加;

接下来就进入了图表编辑页面,可以设置数据源、图表标题、X轴、Y轴等各种属性;

如下是我按照容器名称索取的数据;

设置完成之后,点击 “save” 进行保存,如下为添加成功后图表;

当微服务开始运行后产生的数据便会体现在此图表上。