Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t将度量值推送到xdb_Python_Python 3.x_Influxdb - Fatal编程技术网

Python Can';t将度量值推送到xdb

Python Can';t将度量值推送到xdb,python,python-3.x,influxdb,Python,Python 3.x,Influxdb,我尝试通过以下方式将一些测试指标推送到XDB: import random import json from datetime import datetime from influxdb import InfluxDBClient test_client = InfluxDBClient("localhost", 8086, "myuser", "mypassword", "test") def generate_send_fake(measname): fake_point =

我尝试通过以下方式将一些测试指标推送到XDB:

import random
import json
from datetime import datetime

from influxdb import InfluxDBClient

test_client = InfluxDBClient("localhost", 8086, "myuser", "mypassword", "test")

def generate_send_fake(measname):

    fake_point = [{
        "measurement": measname,
        "fields": {"value": random.randint(0, 100)},
        "time": json.dumps((datetime.now().replace(minute=0, second=0, microsecond=0)).isoformat()).replace('"', '')
    }]

    return fake_point

test_client.write_points(generate_send_fake('test_meas_one'))
test_client.write_points(generate_send_fake('test_meas_two'))
此代码执行时没有错误/警告。但是,当我尝试通过XDB控制台检查数据时,我看到以下内容:

> use test
Using database test
> show measurements
name: measurements
------------------
name
test_meas_one
test_meas_two
> select * from "test_meas_one"
> select * from "test_meas_two"
"time": datetime.utcnow().replace(minute=0, second=0, microsecond=0)
换句话说,没有数据点,尽管度量本身是创建的。我使用Ubuntu 16.04(64位)和Python 3.5


如果这很重要,那么InfluxDB日志是空的。

实际上时间字段格式有问题。我把它改为:

> use test
Using database test
> show measurements
name: measurements
------------------
name
test_meas_one
test_meas_two
> select * from "test_meas_one"
> select * from "test_meas_two"
"time": datetime.utcnow().replace(minute=0, second=0, microsecond=0)
然后一切都开始按预期进行