设为首页收藏本站

追梦Linux

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 284|回复: 0

InfluxDB学习之InfluxDB的HTTP API查询操作

[复制链接]

482

主题

485

帖子

16万

积分

CEO

Rank: 9Rank: 9Rank: 9

积分
168202

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2017-6-15 16:56:32 | 显示全部楼层 |阅读模式
一、使用curl操作InfluxDB API
使用HTTP API在InfluxDB进行查询主要是发送 GET 请求到 InfluxDB的 /query 端,调用示例如下所示:
[AppleScript] 纯文本查看 复制代码
curl -GET 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb"
--data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west'"

参数db指定了需查询的数据库,q代表了需执行的查询语句。
在页面中也提供了生成HTTP 请求URL的方法,如下所示:

在界面上输入语句后,点击生成url就会生成http请求URL。
在浏览器执行后,会返回json格式的串。
如果查询出错的话,则会返回关键词“error”+错误信息。
二、InfluxDB进行HTTP API查询多条数据
我们可能需要用InfluxDB进行多条查询,HTTP API提供的多条查询的格式如下所示:
[AppleScript] 纯文本查看 复制代码
curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west';
SELECT count(value) FROM cpu_load_short WHERE region='us-west'"

格式与单条查询相同,只是在多条语句之间要用分号“;”分隔。
返回值也是包含结果的json串。
三、InfluxDB HTTP 查询的格式化输出
1)规定时间格式
在使用HTTP查询时可以使用 epoch 参数指定输出的时间格式。可选值有 epoch=[h,m,s,ms,u,ns]。
例如:
c
[AppleScript] 纯文本查看 复制代码
url -G 'http://localhost:8086/query' --data-urlencode "db=mydb"
--data-urlencode "epoch=s" --data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west'"

这样会获取到以秒为单位的时间数据。
2)指定每次查询数据大小
可以使用 chunk_size 参数来指定每次结果的大小。比如,我要结果每次返回200个点的数据,则如下所示:
[AppleScript] 纯文本查看 复制代码
curl -G 'http://localhost:8086/query' --data-urlencode "db=mydb" --data-urlencode "chunk_size=200" --data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west'"

这样查询结果就会返回200个点的数据。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

QQ|小黑屋|手机版|Archiver|追梦Linux ( 粤ICP备14096197号  点击这里给我发消息

GMT+8, 2019-5-19 20:16 , Processed in 0.251789 second(s), 31 queries .

Powered by 追梦Linux! X3.3 Licensed

© 2015-2017 追梦Linux!.

快速回复 返回顶部 返回列表