如何在将度量标准数据添加到流入数据库中时使用时间字段?

问题描述 投票:4回答:2

我正在使用以下代码行在influxDB中添加指标数据。

    def add_job_influx_db_metrics(tags_dict={}, values_dict={}, measurement='test'):
       influxdb_client = InfluxDB.get_connection()
       db_name = "mydb"
       influxdb_client.switch_database(database=db_name)
       current_time = time.strftime('%Y-%m-%dT%H:%M:%SZ',time.localtime(time.time()))
       json_body = [
        {
          "measurement": measurement,
          "tags": tags_dict,
          "time": current_time,
          "fields": values_dict
         }
       ]
      response = influxdb_client.write_points(points=json_body)
      print "write_operation response", response

当我将它与Grafana集成时,没有显示数据,但是当我在127.0.0.1:8083上对其进行检查时,它显示的时间为1970-01-01T00:00:00Z 。可能以开始时间为默认时间。我想使用格式为[[“ 2015-8-19T07:15:00Z”的时间。如何在influxdb(python客户端)中获取时间字段,什么是timePrecision?

python python-2.7 metrics influxdb grafana
2个回答
14
投票
from datetime import datetime current_time = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
并在json_body-中使用这样的“时间”

"time": current_time

有效。

4
投票
您需要UNIX时间戳,所以应该是:

"time": int(time.time())

编辑:

具有纳秒级时间精度的时间:

"time": int(time.time() * 1000000000)

最终,可以使用第二精度"time": int(time.time())并明确指定:

write_points(points, time_precision='s')

© www.soinside.com 2019 - 2024. All rights reserved.