influxDB概念以及应用部署(适合初学者)
infulxDB是什么
infulxDB是一个时序数据库
概念:
1.数据价值
首先数据之间分为当前数据和冷数据(及之前的数据,如下图所示)我们没必要知道去年几月几号的机器节点或者温控是否正常。所以时序数据库对待冷数据的方式就是压缩&删除,而最近要用到的实时数据是要放在内存中的。(冷热数据分离)
2.时间无法倒流数据只写不改
时序数据描述的是一个机器节点&实体在不同时间所处的不同状态(类似于htop当前内存使用情况).
3.时序数据库不支持事务,并且不会删除某个数据
4.时序数据库也没有对应的更新事务
5.时序数据库主要在数据上做的操作:
数据采集(定期插入数据)
存储(定期查询数据)
查询(聚合操作)
报警
可视化类似于普罗米修斯
5.influxDB中有四个基本组件(TICK)
Telgraf数据采集组件,收集&发送数据到InfluxDB
InfluxDB 存储数据&发送数据到Chronograf
Chronograf 用户界面起到管理以及可视化的功能
Kapacitor 后台处理报警信息//定时任务等‘’
influx行协议:
influx行协议是influxdb数据库独有的一种数据格式,它由纯文本构成只要数据符合这种格式,就可以使用influxDB的HttpAPI写入数据库
与csv相似在influxDB行协议中一条数据和另一条数据之间使用换行符分隔,所以一行就是一条数据,这一行数据就包括以下:
1. measurement 测量名称:类似于数据库中的表名
2. tag Set 标签集:实质上是kv对为了方便做索引
3. field Set 属性字段集:就是表属性
4. Timestamp 时间戳
行协议对于属性类型的判断使用的是尾注的方式就比如 98989i代表的就是整数;
98989u代表无符号整数;字符串就是字符串用双引号就行但长度不可超过64KB;
布尔值就是T、t、true、TRUE等
简单运用
首先,先来安装
这里是influxdb的官网
https://docs.influxdata.com/influxdb/v2.6/install/?t=Linux
我这里选择了第二种下载方式(下载安装包)
直接下载之后使用influxd命令开启influxdb
然后在浏览器上登录localhost:8086/
第一次登录需要先注册
注册完成之后看到这样的界面登录即可
注意:这里如果登录半个小时没有操作会自动退出重新登陆就行
现在添加一个bucket(桶)
点击到这个按钮添加
这里要注意以下是设置桶中的数据何时删除左边是永不删除右边是设置多少时间删除冷数据
添加一条数据(行数据格式):
行数据的添加步骤如下
选择要添加数据的桶,然后点击手写录入写入一条数据,然后在write data就可以写入到influxdb之中
然后如下图点击
就可以查看到刚刚录入的数据信息被变成了可视化窗口
TeleGraf来采集数据
首先根据前面创建一个桶之后
这样点击创建一个采集数据的config
注意:这里是举个例子然后采集了cpu的信息
点击继续,看到可以给这个采集数据的任务命名而且可以修改定时任务配置
再点击保存
按照上面的步骤来操作
启动之后就可以看到telegraf在收集cpu数据到网页ui的监控平台上了