【问题标题】:How to use time field in adding metrics data to the influx db?如何使用时间字段将指标数据添加到 influxdb?
【发布时间】:2015-08-19 08:58:13
【问题描述】:

我正在使用以下代码行在 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


    【解决方案1】:
     from datetime import datetime
     current_time = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
    

    并在 json_body 中像这样使用“时间”-

    "time": current_time
    

    有效。

    【讨论】:

      【解决方案2】:

      你需要 UNIX 时间戳,所以它应该是:

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

      编辑:

      纳秒时间精度的时间:

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

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

       write_points(points, time_precision='s')
      

      【讨论】:

      • 使用整数,正如 Jan Garaj 所建议的那样,避免了在执行诸如 datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ') 之类的操作时所需的字符串转换
      • 这不起作用,因为时间值不同 int(time.time()) 给出 1582753973,其中 db 需要 1582753928000000000
      • @PeterMoore 你是对的。所以int(time.time()) 可以乘以得到纳秒时间精度,或者write_points(points, time_precision='s') 可以用来指定秒时间精度。
      • 正确。您可能应该编辑您的帖子,以免人们感到困惑。哦,因为我采用这种方法 int(time.time() * 1000000000) 它确实保持微秒精度的时间
      猜你喜欢
      • 2021-10-25
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多