问题标签 [influxdb-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
95 浏览

python - 如何对通过数据库查询的数据进行切片日期?

如何使用 std 输入函数对数据进行切片?

我的数据如下:

我从 influxdb 查询数据,然后转换为 Dataframe。SyntaxError: invalid token输入时给我一个错误Starting date :

我试图将time列拆分为单独dateTime

还是没有运气!!!

0 投票
0 回答
1590 浏览

tcp - Influxdb 不关闭 TCP 连接

1.1.1.1:8086我从我的电脑 ( )连接到我的 influxdb ( 2.2.2.2) 以执行一些查询。我发现,我的服务器保持连接打开:

当我在本地主机上尝试它时,当我停止发送查询或数据以几乎立即保存时,连接减少了。influxdb 也没有执行查询:

如何在 linux 中关闭此会话?我应该如何配置 influxdb 以自动关闭此会话(在本地主机上我有默认配置)。

版本:
Python lib influxdb (5.1.0)
OS Ubuntu 16.04.5 LTS

程序:

0 投票
1 回答
229 浏览

python-3.x - Dump series back into InfluxDB after querying with replaced field value

Scenario

I want to send data to an MQTT Broker (Cloud) by querying measurements from InfluxDB.

I have a field in the schema which is called status. It can either be 1 or 0. status=0 indicated that series has not been sent to the cloud. If I get an acknowlegdment from the MQTT Broker then I wish to rewrite the query back into the database with status=1.

As mentioned in FAQs for InfluxDB regarding Duplicate data If the information has the same timestamp as the previous query but with a different field value => then the update field will be shown.

In order to test this I created the following:

query:

provides

now if I want to overwrite the series I do the following:

which will overwrite the series

(Note: this is not possible via Tags currently in InfluxDB)

Usage

  1. Query some information using the client with "status"=0.
  2. Restructure JSON to be sent to the cloud
  3. Send the information to cloud
  4. If successful then write the output from Step 1. back into the DB but with status=1.

I am using the InfluxDBClient Python3 to create the Application (MQTT + InfluxDB)

Within the write_points API there is a parameter which mentions batch_size which require int as input.

I am not sure how can I use this with the Application that I want. Can someone guide me with this or with the Schema of the DB so that I can upload actual and non-redundant information to the cloud ?

0 投票
1 回答
232 浏览

python-3.x - 如何在python中创建一个混合“和”的字符串,用于对influxdb进行查询?

我正在尝试编写以下字符串语句来对 influx db 进行查询:

query=SELECT FIRST("price") ,LAST("price") ,MAX("price") ,MIN("price") ,SUM("amount") FROM "table name" WHERE time >= '2018-05-10T12:02:00Z' AND time <= '2018-06-10T12:03:00Z' GROUP BY time(1h)

但是,由于它在同一个字符串中混合了 " 和 ',因此我无法在 python 中正确解析。

当我尝试:

query='SELECT FIRST("price") ,LAST("price") ,MAX("price") ,MIN("price") ,SUM("amount") FROM "table name" WHERE time >= '2018-05-10T12:02:00Z' AND time <= '2018-06-10T12:03:00Z' GROUP BY time(1h)'

它说由于 ' 在关闭字符串的日期之前导致的无效语法。我也尝试删除或只放置“而不是”,但它没有用。最后我尝试了一些更脏的东西:

query='SELECT FIRST("price") ,LAST("price") ,MAX("price") ,MIN("price") ,SUM("amount") FROM 'tablename' WHERE time >='+"'2018-05-10T12:02:00Z'"+' AND time <= '+"'2018-06-10T12:03:00Z'"+'GROUP BY time(1h)'

但我得到一个空查询。感谢您对此的任何帮助,谢谢。

0 投票
1 回答
2144 浏览

influxdb - 您如何在指定的时间间隔内对 influxdb 数据进行采样?

我每 30 秒存储“块”数据。块的每一行上的时间戳是相同的。测量值和其中一个标签不同。有没有办法查询数据,以便我获取过去 24 小时的数据,但时间戳为每 x 分钟而不是 30 秒?我不需要那么好的分辨率。

0 投票
1 回答
382 浏览

python-3.x - 如何将变量放入json对象?

一个非常简单的菜鸟问题。如何在这个 json_body 变量中放置变量?问题在于所有引号。我不能为此使用 .format 字符串方法,因为 json_body 变量不包含简单的字符串。

来源:https ://github.com/influxdata/influxdb-python#examples

因此,例如,我如何在其中获取变量,例如

至:

在示例代码中,所有值都是硬编码的。

0 投票
0 回答
1300 浏览

influxdb - 如何在 Influx DB 中选择、修改和插入数据?

我是 InfluxDB 的新手。我目前有两个数据库在涌入。我现在想从数据库 1 中的测量中复制某些数据点,然后我想手动引入几个字段集并修改我复制的几个字段值,最后在不同的测量下将更改的数据点插入数据库 2 中。

我可以使用 select into 语句,但是这不允许我更改数据点。如果我使用插入命令,我将不得不单独键入所有字段集和标签集。

我有一个解决方案,我可以使用 python 并查询数据点并操作数据然后将其插入回来。然而,这将是一个漫长的过程。

有没有简单的方法来完成这项任务?

谢谢。

0 投票
0 回答
167 浏览

kapacitor - InfluxDB - Kapacitor udf 超时

我正在尝试使用 InfluxDBClient 从用 Python 编写的 kapcitor udf 中的 InfluxDB 获取数据。如果数据大小非常小,例如 2000 条记录,我可以获取数据,但是一旦数据大小超过它就会开始失败并显示以下错误消息: _ts=2018-10-22T11:19:32.535Z lvl= error msg="encountered error" service=kapacitor task_master=main task=batch_task1 node=func2 err="keepalive timeout, last keepalive received was: 2018-10-22 11:17:52.535771714 +0000 UTC_ _ts=2018-10-22T11 :19:32.536Z lvl=error msg="failed to snapshot task" service=kapacitor task_master=main task=batch_task1 err="keepalive timeout, last keepalive received was: 2018-10-22 11:17:52.535771714 +0000 UTC_ 我尝试在 kapacitor.conf 中为 udffunctions 更改超时,但没有成功。我什至尝试将超时时间提高到超过 1 小时,但仍然出现相同的错误。

任何帮助,将不胜感激。

提前致谢

0 投票
0 回答
304 浏览

python - 你应该使用 InfluxDBClient 的 close() 方法吗?

正如 InfluxDB Python 的 API 文档中提到的,InfluxDBClient 有一个方法 close()。您应该始终使用它还是自动关闭它?

0 投票
0 回答
4513 浏览

grafana - 如何将 HTML 数据填充到 Grafana Ajax 插件

我有一个动态生成的 html 内容,我想在 Grafana 中显示相同的内容。手动填充 Ajax 插件是不可行的。我知道 Ajax 插件也可以用于相同的用途。我如何将 html 内容发送到这个插件,以及必须更新哪些不同的参数(下图)才能正确获取数据?

在此处输入图像描述

我正在使用 Python 将数据推送到 Influxdb。下面的例子 -

变量 htmloutput 包含必须显示的 html 数据。

我得到的需要显示的示例 HTML 输出 -

在此处输入图像描述

HTML 代码 -

提前致谢。