influxDB是一个分布式时间序列数据库。cAdvisor仅仅显示实时信息,但是不存储监视数据。因此,我们需要提供时序数据库用于存储cAdvisor组件所提供的监控信息,以便显示除实时信息之外的时序数据。
何谓时间序列数据库?
什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU的使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间序列数据的更重要的一个属性是如何去查询它,包括数据的过滤,计算等等。
Influxdb是一个开源的分布式时序、时间和指标数据库,使用go语言编写,无需外部依赖。
它有三大特性:
(1)时序性(Time Series):与时间相关的函数的灵活使用(诸如最大、最小、求和等);
(2)度量(Metrics):对实时大量数据进行计算;
(3)事件(Event):支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。
同时,它有以下几大特点:
(1)schemaless(无结构),可以是任意数量的列;
(2)min, max, sum, count, mean, median 一系列函数,方便统计;
(3)Native HTTP API, 内置http支持,使用http读写;
(4)Powerful Query Language 类似sql;
(4)Built-in Explorer 自带管理工具。
(1)搜索镜像
(2)下载镜像
这里我们推荐下载带web界面的influxdb镜像(INFLUXDB_VERSION=1.0.0):tutum/influxdb
注: 这里下载的最新镜像版本为:INFLUXDB_VERSION=,
官方说明:
(3)创建容器
influxdb配置文件说明:
/etc/influxdb/influxdb.conf 默认的配置文件 修改连接参数,重启即可
/var/log/influxdb/influxd.log 日志文件
/var/lib/influxdb/data 数据文件
/usr/lib/influxdb/scripts 初始化脚本文件夹
/usr/bin/influx 启动数据库
/var/run/influxdb/influxd.pid 服务启动的进程id
/var/cache/yum/influxdb 缓存处理数据说明: 端口:web访问端口; 端口:数据写入端口。
执行创建容器命令:
(4)浏览器访问influxDB
访问地址:http://192.168.116.161:8083
(1)创建数据库
我们可以使用web页面提供的模板创建(如下图),也可以自行输入influxdb相关SQL,回车创建完成。
CREATE DATABASE “cadvisor”
(2)查看数据库
SHOW DATABASES
(1)创建用户
CREATE USER “root” WITH PASSWORD ‘1234’ WITH ALL PRIVILEGES
(2)查看用户列表
SHOW USERS
(3)用户授权
这里授予root用户数据库cadvisor的所有操作权限。
grant all privileges on cadvisor to root
附单独授权:
(1)grant WRITE on cadvisor to root
(2)grant READ on cadvisor to root
切换到cadvisor数据库,使用以下命令查看采集的数据:
SHOW MEASUREMENTS