如何使用时间字段将指标数据添加到 influxdb?
How to use time field in adding metrics data to the influx db?
我正在使用以下代码行在 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 client)中的时间字段,timePrecision是什么?
您需要 UNIX 时间戳,所以它应该是:
"time": int(time.time())
编辑:
纳秒时间精度的时间:
"time": int(time.time() * 1000000000)
最终,可以使用秒精度 "time": int(time.time())
并明确指定:
write_points(points, time_precision='s')
from datetime import datetime
current_time = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
并在 json_body-
中像这样使用 "time"
"time": current_time
有效。
我正在使用以下代码行在 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 client)中的时间字段,timePrecision是什么?
您需要 UNIX 时间戳,所以它应该是:
"time": int(time.time())
编辑:
纳秒时间精度的时间:
"time": int(time.time() * 1000000000)
最终,可以使用秒精度 "time": int(time.time())
并明确指定:
write_points(points, time_precision='s')
from datetime import datetime
current_time = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
并在 json_body-
中像这样使用 "time""time": current_time
有效。