您能否帮助解决以下错误 -
INSERT 块,颜色=蓝色数字=90 1547095860 错误:{“错误”:“部分写入:超出保留策略的点数已下降=1”}
注意 - 1547095860 是 - 2019 年 1 月 10 日上午 10:21:00 标准时间
我试图在今天(即 2019 年 1 月 25 日)插入此数据。
我的数据库设置如图所示, 在此处输入图像描述
谢谢!
import time
print(time.time())
Run Code Online (Sandbox Code Playgroud)
这给了我输出:
1590683242.8507078
Run Code Online (Sandbox Code Playgroud)
所需的输出是 19 位长的纳秒 Unix 时间戳。
我们搭建了一个Grafana云+InfluxDB 2.0(Flux语言)云实例。作为其中的一部分,我们创建了一个带有“设备 ID”的自定义变量列表,名为devices.
在面板中,我们希望显示参数数据,用户可以从列表中选择一个或多个设备 IDdevices以将其显示在面板中。这适用于单个设备 ID 选择,但不适用于多个设备。
应如何修改查询以根据 Grafana 下拉列表中的多选条目显示来自可变数量设备的数据?
from(bucket: "test-bucket-new")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "${devices}")
|> filter(fn: (r) => r["_field"] == "Speed")
|> aggregateWindow(every: v.windowPeriod, fn: mean)
|> yield(name: "mean")
Run Code Online (Sandbox Code Playgroud) 我配置了一个名为“product”的变量,其中包含以下值:
prod1,prod2,prod3,prod4
Run Code Online (Sandbox Code Playgroud)
我已经选择了多值选项,如下图所示:
influxdb 中的测量是这样的:
col1 col2 col3
A prod1 10
B prod2 20
C prod3 30
D prod1 40
E prod4 50
Run Code Online (Sandbox Code Playgroud)
所以我没有将 col2 设置为 的行prod1+prod2。当我尝试在仪表板变量上选择prod1和时,我得到prod2No Data
是否有不同的方法来配置仪表板的变量,以便我可以正确选择多值?或者我是否必须在 Influxdb 测量中创建 rows prod1+prod2, ?prod2+prod3
我有一个 grafana 仪表板,其中有 2 个流入查询,它们计算单个值 (A和B)
我现在需要计算它们之间的差异A - B。这在 influx 或 grafana 中是否有可能?
请注意,这两个值来自同一数据库但来自不同的测量
我想做类似的事情:
SELECT * FROM surface limit 1000-2000;
Run Code Online (Sandbox Code Playgroud)
即仅从“表面”表中选择记录1000-2000。
嗨,我是Telegraf和Influxdb的新手。我知道我们可以使用Telegraf尾随(监视)本地文件(在安装Telegraf的同一台机器上),并使用Telegraf的[[inputs.tail]]和[[outputs.influxdb]]插件将输出发送到Influxdb。
但是我想拖尾一个日志文件,该文件位于安装Telegraf之外的其他服务器上。
一种方法是将Telegraf安装在日志文件所在的服务器上:但是我不能这样做,因为该服务器无法将数据发送到Influxdb。它无权访问存在Influxdb的服务器。
因此,我必须使用中间服务器才能将数据发送到InfluxDb。
因此,有一种方法可以拖尾远程文件或其他任何方法。欢迎任何类型的建议。
tail influxdb telegraf telegraf-inputs-plugin telegraf-output-plugins
我正在尝试发布此数据:
my_tests,SNR=533033200650344358002D00,TNR=test HelloWorld=123 1495179651177999872
my_tests,SNR=533033200650344358002D00,TNR=test HelloWorld=444 1495179651203000064
Run Code Online (Sandbox Code Playgroud)
该帖子的网址看起来像
http://influx.local:8086/write?db=testdb&u=myuser&p=myasswd
Run Code Online (Sandbox Code Playgroud)
原始回应:
HTTP/1.1 400 Bad Request
Content-Type: application/json
Request-Id: 4a1802d2-3ebd-11e7-8030-000000000000
X-Influxdb-Version: 1.1.4
Date: Mon, 22 May 2017 07:07:17 GMT
Content-Length: 147
{"error":"partial write:\nunable to parse 'my_tests,SNR=533033200650344358002D00,TNR=test HelloWorld=123 1495179651177999872\r': bad timestamp"}
Run Code Online (Sandbox Code Playgroud)
时间戳对我来说似乎有效。
如果我只发布一行(而不是上面的示例中的两行),那么效果很好!
我还想知道时间戳记之后错误日志的末尾“ \ r”在做什么。因为我写的是“ \ n”。
有趣的是,直到最近我才对InfluxDB进行写操作没有任何问题。不涉及版本升级。
我正在运行InfluxDB 1.x(不确定确切的版本)
为了解决这个问题,如果我完全省略了时间戳(出于测试目的),它仍然不起作用:
{"error":"partial write:\nunable to parse 'my_tests,SNR=533033200650344358002D00,TNR=test HelloWorld=123\r': invalid number"}
Run Code Online (Sandbox Code Playgroud)
更新:出于测试目的,我安装了InfluxDb 1.2.7(Windows Standalone)
有效负载与以前相同
my_tests,SNR=533033200650344358002D00,TNR=test HelloWorld=123 1439856000
my_tests,SNR=533033200650344358002D00,TNR=test HelloWorld=444 1439856001
Run Code Online (Sandbox Code Playgroud)
大量报告返回:
HTTP/1.1 400 Bad Request
Content-Type: application/json
Request-Id: eca5283a-3ec4-11e7-8029-000000000000 …Run Code Online (Sandbox Code Playgroud) 我做了很多研究,但没有找到任何好的答案。我想以纳秒为单位获取当前日期和时间。我发现System.nanoTime()它将提供纳秒级的时间,但这与系统耗用的时间有关。表示它将在系统启动时提供时间。我需要使用当前的日期和时间(以纳秒为单位)。
我需要这样做以避免InfluxDB中的点重复,请参阅InfluxDB如何处理重复的点?因此,当我使用毫秒时,我将面临数据联合的问题。因此需要决定使用纳秒级,但问题是在使用毫微秒级生成的秒System.nanoTime()中不包含当前日期和时间数据。它给了我JVM正常运行时间,这对我来说毫无用处。