database - 在 InfluxDB 中使用 cURL 从文件写入时丢失数据点
问题描述
我试图通过执行命令按照本文档将数据插入 InfluxDB 数据库curl -i -XPOST 'http://localhost:8086/write?db=myDB' --data-binary @data.txt
。其中data.txt是一个包含 50 多个点的文件。
输出:
HTTP/1.1 100 Continue
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 93487c9c-a1a8-11ea-80bd-9829a645199e
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.8.0
X-Request-Id: 93487c9c-a1a8-11ea-80bd-9829a645199e
Date: Fri, 29 May 2020 12:33:18 GMT
我只能写 50 分myDB
,我认为这是由于HTTP/1.1 100 Continue
. 经过一番谷歌搜索,我找到了这篇文章,并按照我修改并执行了上面的命令,比如curl -H 'Expect:' -i -XPOST 'http://localhost:8086/write?db=myDB' --data-binary @data.txt
输出:
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 54b34ebd-a1bc-11ea-80ca-9829a645199e
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.8.0
X-Request-Id: 54b34ebd-a1bc-11ea-80ca-9829a645199e
Date: Fri, 29 May 2020 14:54:43 GMT
我成功绕过了HTTP/1.1 100 Continue
,但我仍然只写了 50 分myDB
。
我是InfluxDB和cURL的绝对菜鸟
解决方案
最近我发现了这个问题。问题在于data.txt
文件的内容。我正在编写没有 a 的每个数据点timestamp
,因此所有测量值都分配有相同的timestamp
.
例如,
temperature,tag=computer node="cpu",value=38
temperature,tag=computer node="gpu",value=45
temperature,tag=computer node="ram",value=40
data.txt
如果我在没有InfluxDB的文件中有上述三个测量值,timestamp
则只会接受最终值(覆盖以前的值,因为所有值都相同timestamp
)。
由于我对此不熟悉,因此我不了解 InfluxDB 的所有属性。
推荐阅读
- mongodb - 使用 C# 驱动程序获取 MongoDb 结果和聚合计数
- bash - 需要特定技巧来管理 bash eval cmd & <<< input
- javascript - 从 JS 项目数组构建 JSON 数组
- vhdl - 错误 (10454):fft_engine.vhd(151) 处的 VHDL 语法错误:范围的右边界必须是常数
- php - 如何从 1 个多维数组中创建 3 个数组,其中包含 2 个数组
- java - 将抓取的数据组织成一个数组并从数组中选择 1 或 2 个字符串
- python - Python - 如何制作参数化字符串工厂
- timezone - 将 microsoft graph 时区映射到时刻
- jquery - React js sidenav中的jQuery不起作用
- r - STAN 模型块中不存在变量“cholesky_factor_cov”