快速入门influxdb和grafana

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和grafana_第1张图片
执行查询
快速入门influxdb和grafana_第2张图片

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数据库
快速入门influxdb和grafana_第3张图片
添加图表
快速入门influxdb和grafana_第4张图片

错误解决

{"error":"partial write: max-values-per-tag limit exceeded (100000/100000): measurement=\"dustdetection\" tag=\"qn\" value=\"20200302103009140\" dropped=1"}

原因是tag的values值超过了100000条,把这个tag改为field即可

参考文档

InfluxDB中文文档

你可能感兴趣的:(数据库)