Influxdb 在XDB中插入多个带标记的值

Influxdb 在XDB中插入多个带标记的值,influxdb,Influxdb,我正在尝试收集smartctl指标,并将它们推送到XDB中。我很难为被推入的值添加标记,以便标记和值位于正确的位置 如果我这样做: curl -POST 'http://localhost:8086/write?db=test' --data-binary 'smartctl Raw_Read_Error_Rate=19243395i,Spin_Up_Time=0i,Start_Stop_Count=149i,Reallocated_Sector_Ct=25i,Seek_Error_Rate=4

我正在尝试收集smartctl指标,并将它们推送到XDB中。我很难为被推入的值添加标记,以便标记和值位于正确的位置

如果我这样做:

curl -POST 'http://localhost:8086/write?db=test' --data-binary 'smartctl Raw_Read_Error_Rate=19243395i,Spin_Up_Time=0i,Start_Stop_Count=149i,Reallocated_Sector_Ct=25i,Seek_Error_Rate=4735843653i,Power_On_Hours=41286i,Spin_Retry_Count=0i,Power_Cycle_Count=150i,End_to_End_Error=0i,Reported_Uncorrect=0i,Command_Timeout=12885098501i,High_Fly_Writes=0i,Airflow_Temperature_Cel=29i,G_Sense_Error_Rate=0i,Power_Off_Retract_Count=145i,Load_Cycle_Count=25668i,Temperature_Celsius=29i,Hardware_ECC_Recovered=19243395i,Current_Pending_Sector=0i,Offline_Uncorrectable=0i,UDMA_CRC_Error_Count=0i 1472412282915653274'
没有标签:

SHOW TAG KEYS FROM "smartctl" (empty result)
如何将标记添加到同一个curl命令中,以获得如下结果:

host=foo,disk_name="Seagate Blah"
select Temperature_Celsius from smartctl where host=foo
补充一些澄清:

如果使用逗号并设置值,则它们都是标记,而不是字段:

curl -POST 'http://localhost:8086/write?db=test' --data-binary 'smartctl,Raw_Read_Error_Rate=19243395i,Spin_Up_Time=0i,Start_Stop_Count=149i,Reallocated_Sector_Ct=25i,Seek_Error_Rate=4735843653i,Power_On_Hours=41286i,Spin_Retry_Count=0i,Power_Cycle_Count=150i,End_to_End_Error=0i,Reported_Uncorrect=0i,Command_Timeout=12885098501i,High_Fly_Writes=0i,Airflow_Temperature_Cel=29i,G_Sense_Error_Rate=0i,Power_Off_Retract_Count=145i,Load_Cycle_Count=25668i,Temperature_Celsius=29i,Hardware_ECC_Recovered=19243395i,Current_Pending_Sector=0i,Offline_Uncorrectable=0i,UDMA_CRC_Error_Count=0i value=0 1472412282915653274'
旁注:我也不知道我会为smartctl设置什么值

我需要的是将以上所有内容设置为一个字段,但要使用标记,以便确定它们报告的主机。所以我可以这样做:

host=foo,disk_name="Seagate Blah"
select Temperature_Celsius from smartctl where host=foo

测量值“smartctl”后有一个空格,而不是“,”。尝试:

curl -POST 'http://localhost:8086/write?db=test' --data-binary 'smartctl,Raw_Read_Error_Rate=19 value=0.64 1472412282915653274'
表明:

HTTP API是将数据放入XDB的主要方法。要写入数据,请向/write端点发送POST请求。下面的示例将单个点写入mydb数据库。数据包括测量cpu_load_short、标记值为server01和us west的标记键主机和区域、字段值为0.64的字段键值以及时间戳1434055562000000

 curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'

将标记放在测量名称后面,用逗号分隔,全线协议定义如下:

measurement,tag1=foo,tag2=bar value_a=1,value_b=2 timestamp
因此,在你的情况下:

curl -POST 'http://localhost:8086/write?db=test' --data-binary 'smartctl,host=foo,disk_name="Seagate Blah" Raw_Read_Error_Rate=19243395i,Spin_Up_Time=0i,Start_Stop_Count=149i,Reallocated_Sector_Ct=25i,Seek_Error_Rate=4735843653i,Power_On_Hours=41286i,Spin_Retry_Count=0i,Power_Cycle_Count=150i,End_to_End_Error=0i,Reported_Uncorrect=0i,Command_Timeout=12885098501i,High_Fly_Writes=0i,Airflow_Temperature_Cel=29i,G_Sense_Error_Rate=0i,Power_Off_Retract_Count=145i,Load_Cycle_Count=25668i,Temperature_Celsius=29i,Hardware_ECC_Recovered=19243395i,Current_Pending_Sector=0i,Offline_Uncorrectable=0i,UDMA_CRC_Error_Count=0i 1472412282915653274'

另请参见:

如果我这样做,那么我不会以smartctl的形式获取所有数据,而是每个数据都是一个单独的表。对不对?抱歉,请在插入“值”数据后重试?在web界面中进行测试,并运行一个查询select*from/smartctl.*/是,它已插入。但这并不是我在问题中补充澄清的方式