鼎鼎知识库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

InfluxDB操作.md 3.9KB

5 yıl önce
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. >基本概念
  2. - database 数据库
  3. - measurement 数据库中的表
  4. - points 表里面的一行数据
  5. - point 由时间戳(Time)、数据(field)、标签(tags)组成
  6. - Time:每个数据记录时间,是数据库中的主索引(会自动生成)
  7. - fields:各种记录值(没有索引的属性)也就是记录的值
  8. - tags:各种有索引的属性
  9. - measurement看成是一个SQL表格,其中,时间戳始终是主索引,tag和field是表格中的列,tag会被建索引,而field则不会。与SQL表格的不同之处在于,使用TSDB For InfluxDB®,您可以有数百万的measurement,无需预先定义数据的schema,并且不会存储空值。
  10. > 具体操作
  11. >启动Influx
  12. - 执行命令语句
  13. ```
  14. ./influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242
  15. ```
  16. - 执行不需要制定数据库的查询
  17. ```
  18. influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -execute 'SHOW DATABASES'
  19. ```
  20. - 执行需要指定数据库的查询,同时,改变时间戳精度:
  21. ```
  22. influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -execute 'SELECT * FROM "h2o_feet" LIMIT 3' -database="NOAA_water_database" -precision=rfc3339
  23. ```
  24. - 使用-format指定服务器返回结果的格式
  25. - 默认的格式是column:
  26. ```
  27. influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=column
  28. ```
  29. - 将格式改为csv:
  30. ```
  31. influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=csv
  32. ```
  33. - 将格式改为json:
  34. ```
  35. influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=json
  36. ```
  37. - 将格式改为json并开启美观的输出:
  38. ```
  39. influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=json -pretty
  40. ```
  41. > 显示购买的数据库名称
  42. - 执行命令语句 show databases
  43. > 使用该数据库
  44. - 执行命令语句 use <该数据库的名称>
  45. - 显示 Using databases 数据库名称
  46. >往数据库中插入表(measurement)
  47. - 执行命令语句:
  48. ```
  49. insert cpu_usage,ip=192.168.0.1 value=30 15226580942111
  50. cpu_usage 代表表名,ip是tag索引,value=xx是记录值键值对,记录值可以有多个
  51. ```
  52. - 显示所有的表
  53. - 查询命令:show measurements
  54. - 查询插入的数据
  55. ```
  56. select * from cpu_usage
  57. ```
  58. - 输入命令后显示出的内容
  59. ```
  60. name: cpu_usage
  61. time ip value
  62. ---- -- -----
  63. 15226580942111 192.168.0.1 30
  64. ```
  65. > 往表中插入数据
  66. - 输入命令
  67. ```
  68. INSERT cpu,host=serverA,region=us_west value=0.64
  69. 一个measurement为cpu,tag为host和region,测量值value为0.64的数据点已经写入数据库
  70. ```
  71. - 查询刚插入的数据
  72. ```
  73. SELECT “host”, “region”, “value” FROM cpu
  74. ```
  75. - 输入命令后显示的界面
  76. ```
  77. > name: cpu
  78. time host region value
  79. 1564026380476736485 serverA us_west 0.64
  80. ```
  81. - 注释:前面我们在写入数据点的时候没有提供时间戳。如果写入没有带时间戳的数据点,TSDB For InfluxDB®会在获取该点时,把本地当前时间分配给该数据点,作为该数据点的时间戳。这意味着您的时间戳跟上面的会有所不同。
  82. - 写入另一种类型的数据,同一个measurement有两个field
  83. - 输入命令
  84. ```
  85. INSERT temperature,machine=unit42,type=assembly external=25,internal=37
  86. 创建了表temperature,machine为tag-key,type和external为field-key
  87. ```