有一点背景,我一直在与BCI(脑计算机界面)和多通道脑电图一起监测大脑活动.当用户启动具有BCI上限的会话时,来自每个通道的原始数据流存储在Influxdb中.
我可以通过将我的数据库集成在Influxdb中与Grafana实时成功实现这些数据的实现,如下面第1频道所示
但是,我的最终目标是创建一个Web应用程序,用户可以在该应用程序中实时登录或查看当前的流式会话或任何之前的会话.Grafana的问题在于,与现有的Web应用程序集成/嵌入并不容易.我查看了嵌入式面板,但这使我只能添加图表的快照,而我需要它实时地将数据连续流式传输到图表.
任何帮助将不胜感激,并提前感谢!
是否可以只查询查询结果的最后一个值(或第n个值)?
例如,在查询中:
SELECT value FROM response_times WHERE time > now() - 1h limit 1000;
Run Code Online (Sandbox Code Playgroud)
是否可以只得到最后一个值,即更远的时间(可能是第1000个元素)?
当然我可以全部检索它们然后跳到最后一个,但我不想以这种方式浪费带宽.
我正在浏览所有InfluxDB示例,它们似乎都插入了"现在时间"(插入时间).有一个明确定义的"时间"字段,但没有一个例子使用它.
将事件的时间记录为"将时间插入数据库"是一种糟糕的模式.最好让传感器连接到传感器值,了解当前时间,传递该记录,并插入具有该时间值的各种分析DB.(真正小的传感器可能有一个"控制器",它可以更好地了解时间,但这仍然不是数据库插入).
一个明显的例子是日志文件.每行都有一个时间戳,就在开头.喜欢或讨厌它,但这是你对事件发生时间的最佳看法.
我正在寻找使用指定时间值插入InfluxDB的示例,但还没有提出.时间似乎总是隐含的当前时间.
我正在使用java并使用批处理点写入InfluxDb.我的代码在下面提到,
BatchPoints batchPoints = BatchPoints
.database(dbName).retentionPolicy("autogen") .consistency(InfluxDB.ConsistencyLevel.ALL).build();
point = Point.measurement("cpu")...
batchPoints.point(point);
Run Code Online (Sandbox Code Playgroud)
我写了20到3000万点,过了一会儿得到例外:
.java.lang.RuntimeException: {"error":"partial write: max-values-per-tag limit exceeded (100708/100000): measurement=\"cpu\" tag=\"jkey\" value=\ .....
Run Code Online (Sandbox Code Playgroud)
想知道如何增加限额?或者我需要更改我的架构设计?
涌入shell有一个-version标志,但不是涌入服务器:
/path/to/bin/influx -version
InfluxDB shell version: 1.1.1
/path/to/bin/influxd -version
flag provided but not defined: -version
/path/to/bin/influxd -v
flag provided but not defined: -v
Run Code Online (Sandbox Code Playgroud)
我应该假设涌入shell和涌入服务器将始终具有相同的版本吗?
我有一个InfluxDB数据库.它存储有关多台机器的一个信息.我在带有标签的这些机器之间分配.我可以使用"按标签分组(机器)"子句一次显示所有三台机器的信息.传说的名称是"table.derivative {machine:1}","table.derivative {machine:2}"等等.如何将其更改为"机器1","机器2"等?
到目前为止,我发现这个建议使用$ groupby(或$ g?),但两者都是字面意思.
我已经通过指令从官方网站安装了包.默认情况下,数据库文件夹的物理目标是"/ opt/Influxdb/shared".
我试图更改配置文件的属性并正确编写它.但之后我无法启动涌入服务.
[存储]
dir ="/ media/alex/Second/InfluxStorage/data/db"//我的设置
我如何更改默认数据库目录?
我尝试安装InfluxDB客户端.但安装失败了.这是我的追踪:
go get -u -v -x github.com/influxdb/influxdb/client
github.com/influxdb/influxdb (download)
...
git remote -v
Fetching https://golang.org/x/crypto/bcrypt?go-get=1
[1] 6625 segmentation fault (core dumped) go get -u -v -x github.com/influxdb/influxdb/client
Run Code Online (Sandbox Code Playgroud)
我没有找到包golang.org/x/crypto/bcrypt到GOROOT和GOPATH.
当我尝试安装crypto/bcrypt时 出现此错误:
go get -u -v golang.org/x/crypto/bcrypt
Fetching https://golang.org/x/crypto/bcrypt?go-get=1
[1] 7667 segmentation fault (core dumped) go get -u -v golang.org/x/crypto/bcrypt
Run Code Online (Sandbox Code Playgroud)
我如何安装golang.org/x/crypto/bcrypt?
我的golang版本是go版本1.4.2 gccgo
我是涌入数据库的初学者,在阅读了Schema设计文档后,仍然存在一个问题.
如何决定是使用多个字段进行一次测量还是使用单个字段进行多次测量?
我有多个iot设备发送每个数据分钟(温度,湿度,压力).所有这些数据都具有完全相同的时间戳.
所以我想知道是否d创建一个这样的测量:
timestamp,iotid,temperature,humidity,pressure
-------------------------------------------------
1501230195,iot1,70, 45, 850
Run Code Online (Sandbox Code Playgroud)
或3次测量(每个值一次),标记相同但只有一个字段?
timestamp,iotid,temperature
----------------------------
1501230195,iot1,70
timestamp,iotid,humidity
-------------------------
1501230195,iot1,45
timestamp,iotid,pressure
-------------------------
1501230195,iot1,850
Run Code Online (Sandbox Code Playgroud)
查询方面,我只能检索一个值,但同时也可以检索3个值.