InfluxDB简介
InfluxDB是一个时序性数据库,适用场景数据分析,IoT设备数据采集,监控告警等。InfluxDB是采用GO语言编写,底层提供了大量的HTTP协议的API 其他语言的SDK都采用访问HTTP接口的形式对InfluxDB进行操作
InfluxDB官方一共有3个版本OSS单机开源版(官方不支持集群,国内有大神开源了InfluxDB Proxy非官方集群解决方案) Cloud云平台版 Enterprise付费企业版
InfluxDB 主流版本有1.X 和 2.X 1.X以1.8为主流,主要区别在于1.X 拆分为了TICK 四个组件分别对应Telegraf数据采集,InfluxDB数据存储,Chronograf WebUI数据可视化,Kapacitor 告警,在2.X的时候InfluxDB省略了Chronogra和Kapacitor整合到了InfluxDB中,2.X功能更多支持的Flux语法更丰富,建议选的2.X
官网https://www.influxdata.com/
下载安装与启动
# InfluxDB Server
wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.5.1-linux-amd64.tar.gz
# 解压
tar -zxvf influxdb2-2.5.1-linux-amd64.tar.gz -C /usr/local
# 启动
./influxd
# 客户端链接工具
wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.5.0-linux-amd64.tar.gz
tar xvfz influxdb2-client-2.5.0-linux-amd64.tar.gz
访问InfluxDB机器8086 看到如下页面表示安装成功
基本使用
-
创建用户 首次访问influxDB会让你创建一个用户 输入用户名 密码 公司名称 和初始化桶名称
-
插入一条数据 Load Data 支持各种方式的数据导入 可以上传CSV文件 InfluxDB自定义的行协议 CLI命令行 各种客户端工具
为方便演示使用Influx自带的行协议
行协议语法
# 行协议模板 使用空格分割不同的组成部分 measurementName,tagKey=tagValue fieldKey="fieldValue" 1465839830100400200 # measurementName,tagKey=tagValue 检测项 类似关系型数据库的表 用,隔开可以选择使用TAG类似关系型数据库的索引,不宜过多 # fieldKey="fieldValue" 字段值 类似关系型数据库中的字段和字段值 # 1465839830100400200 时间戳 默认nano级别 可省略 省略则使用当前时间 # 实例 检测项名停车数据,停车场编号 停车数量 时间戳 parkingData,parkingNo=0 parkingNum=50 1669691100000 parkingData,parkingNo=0 parkingNum=30 1669690620000 parkingData,parkingNo=0 parkingNum=40 1669690980000
-
可视化展示 选择DataExplore 选择自己的Bucket即可展示 也可以点击View Raw Data查看源数据
Dashboard 功能简介
- Load Data 加载数据 可以通过csv 行协议 SDK等方式
- Data Explorer 数据查询 展示
- Notebooks 帮助编写查询 展示工具
- Tasks 定时任务
- Alerts 告警
- Settings 配置