https://hub.docker.com/_/influxdb/
https://hub.docker.com/r/tutum/influxdb/
应用: db -> 添加服务: influxdb
镜像: tutum/influxdb:latest
环境变量:
ADMIN_USER = root
INFLUXDB_INIT_PWD = wdqdmm@i
卷:
/etc/localtime:/etc/localtime:ro
/data/db/influxdb:/data
/data/file:/data/file
端口:
http:8083-8083
tcp: 8086-8086
保存ip: 升级或替换 不变
主机名: 使用容器名称
===================================================
# 创建数据库
create database "telegraf"
# 创建用户
CREATE USER "telegraf" WITH PASSWORD 'metricsmetricsmetricsmetrics'
# 用户授权
grant all privileges on "telegraf" to "telegraf"
# 授予读写权限
grant WRITE on "telegraf" to "telegraf"
grant READ on "telegraf" to "telegraf"
选择数据库: telegraf
查看cpu:
select * from cpu
查看磁盘io:
select * from diskio
=========================================
时间序列数据库
在开始介绍Influxdb之前先简要介绍一下时间序列数据库。
何谓时间序列数据库?
什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU的使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间序列数据的更重要的一个属性是如何去查询它,包括数据的过滤,计算等等。
Influxdb
Influxdb是一个开源的分布式时序、时间和指标数据库,使用go语言编写,无需外部依赖。
它有三大特性:
- 时序性(Time Series):与时间相关的函数的灵活使用(诸如最大、最小、求和等);
- 度量(Metrics):对实时大量数据进行计算;
- 事件(Event):支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。
同时,它有以下几大特点:
- schemaless(无结构),可以是任意数量的列;
- min, max, sum, count, mean, median 一系列函数,方便统计;
- Native HTTP API, 内置http支持,使用http读写;
- Powerful Query Language 类似sql;
- Built-in Explorer 自带管理工具。
签名:这个人很懒,什么也没有留下!