influxdb是一个时序数据库,适合保存查询海量和时间有关的数据,不建议更新或者删除。
grafana主要用于大规模数据可视化展现
influxdb安装
docker pull influxdb
docker run -itd --restart always --name influxdb -p 8083:8083 -p 8086:8086 influxdb
influxdb简单使用
docker exec -it influxdb /bin/bash
cd /usr/bin
find | grep influx
// 查看版本
influx -version
//启动客服端
influx
show databases
create database detection
use detection
show measurements
//新增一条数据,会自动创建measurement
insert dustdetection,cn=2011,companyInfoId=28,monitoringFactor=a01002,flag=1,mn=81197463201055,qn=20200302105500003,st=39 dataTime=1583117700000,rtd=35
//查看tags
show tag keys from detection
//查看fields
show field keys from detection
//查询
select * from detction where time > now()-5m
influxdb客服端
InfluxDBStudio下载地址
配置连接
执行查询
influxdb结构
database 相当于常规数据库的database
measurement相当于常规数据库的table
point相当于常规数据的一行数据row
point 由时间戳time(唯一主键),tags(索引列),fields(非索引列)组成
influxdb保存策略
> show retention policies on dustdetection
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 true
>
每个db都有一个默认的策略,每个策略都有shardGroupDuration时间,检测的时间窗口,默认为7d
duration–持续时间,0代表无限制,如duration 1h,即只保留一小时内的数据
replicaN–全称是REPLICATION,副本个数
创建一条保存策略
create retention policy “rp_name” on “dustdetection” duration 3w replication 1 default
修改保存策略
alter retention policy “rp_name” on “dustdetection” duration 30d default
删除保存策略
drop retention policy “rp_name” on “dustdetection”
influxdb配置相关说明
grafana安装
docker pull grafana/grafana
docker run -itd --restart always --name grafana -p 3000:3000 grafana
浏览器可以直接访问3000端口,系统默认用户名和密码为admin/admin,登录即可
配置influxdb数据库
添加图表
错误解决
{"error":"partial write: max-values-per-tag limit exceeded (100000/100000): measurement=\"dustdetection\" tag=\"qn\" value=\"20200302103009140\" dropped=1"}
原因是tag的values值超过了100000条,把这个tag改为field即可