influxdb基础---http参考
程序员文章站
2022-07-13 15:38:00
...
基于influxdb1.6.2、centOS
influxdb HTTP API提供了与数据库交互的简单方法。它使用HTTP响应代码、HTTP认证、JWT令牌和基本身份验证,并以JSON形式返回响应。
InfluxDB HTTP地址参考
地址路径 | 描述 |
---|---|
/debug/pprof | /debug/pprof为故障诊断生成概要文件 |
/debug/requests | /debug/requests/ 跟踪HTTP客户端对/write和/query地址的请求 |
/debug/vars | /debug/vars收集统计信息 |
/ping | /ping检查influxdb实例的状态和版本 |
/query | /query查询数据和管理数据库、保留策略和用户 |
/write | /write将数据写入已存在的数据库 |
假设influxdb没有修改端口、没有开启https
/debug/pprof
生成一个内置概要文件和超链接列表的HTML页面
概要 | 描述 |
---|---|
block | 堆栈跟踪同步阻塞 |
goroutine | 堆栈跟踪堆叠所有当前goroutines |
heap | 堆栈跟踪堆分配的采样 |
mutex | 堆栈跟踪争用互斥锁 |
threadcreate | 堆栈跟踪创建新的OS线程 |
all | 是一个自定义/debug/pprof,influxdb支持的主要的概要文件。生成profile.tar.gz包含文本文件,其中包含标准分析信息和其他调试数据,使用该cpu=true选项时会生成可选的CPU配置文件(默认值为false) |
- 浏览器访问
http://10.255.254.25:8086/debug/pprof/all
http://10.255.254.25:8086/debug/pprof/all?cpu=true
- curl访问
curl -o profiles.tar.gz "http://10.255.254.25:8086/debug/pprof/all?cpu=true"
/debug/requests
使用此地址来跟踪客户端/write和/query的HTTP请求。该/debug/requests返回写入和查询的数量每用户名和IP地址InfluxDB
有一个参数:seconds 默认是10s
- 浏览器访问
http://10.255.254.25:8086/debug/requests
http://10.255.254.25:8086/debug/requests?seconds=60
- curl访问
curl http://10.255.254.25:8086/debug/requests
或
[root@test25 ~]# curl http://10.255.254.25:8086/debug/requests?seconds=120
{
"172.17.0.1": {"writes":1,"queries":0}
}
[root@test25 ~]#
/debug/vars
InfluxDB通过/debug/vars地址公开有关其运行时的统计信息和信息
- 浏览器访问
http://10.255.254.25:8086/debug/vars
- curl访问
curl http://10.255.254.25:8086/debug/vars
/ping
ping地址接受两个GET和HEAD HTTP请求。使用此地址检查InfluxDB实例的状态以及InfluxDB的版本
- 浏览器访问
需要配合控制台查看
http://10.255.254.25:8086/ping
- curl访问
curl -I http://10.255.254.25:8086/ping
/query
/query地址接受GET和POST HTTP请求。使用此地址可以查询数据并管理数据库,保留策略和用户
定义
GET http://10.255.254.25:8086/query
POST http://10.255.254.25:8086/query
方法 | 类型 |
GET | SELECT |
SHOW | |
POST | ALTER |
CREATE | |
DELETE | |
DROP | |
GRANT | |
KILL | |
REVOKE |
这里比较特殊的是:select 如果使用into关键字,select需要用post请求
- 浏览器访问
http://10.255.254.25:8086/query?db=mydb&q=SELECT%20*%20FROM%20cpu_load_short
http://10.255.254.25:8086/query?db=mydb&q=SELECT * INTO newmeasxx FROM cpu_load_short
- curl访问
[root@test25 ~]# curl -G 'http://10.255.254.25:8086/query?db=mydb' --data-urlencode 'q=SELECT * FROM "cpu_load_short"'
{"results":[{"statement_id":0,"series":[{"name":"cpu_load_short","columns":["time","direction","host","region","value"],"values":[["2015-01-29T21:55:43.702900257Z","in","server01","us-west",2],["2015-01-29T21:55:43.702900257Z",null,"server02","us-west",0.55],["2015-06-11T20:46:02Z",null,"server01","us-west",0.64],["2018-09-10T11:34:31.011551389Z",null,"server02",null,0.67],["2018-09-12T09:28:02.958458452Z",null,"server01","us-west",0.65]]}]}]}
[root@test25 ~]#
[aaa@qq.com ~]# curl -XPOST 'http://10.255.254.25:8086/query?db=mydb' --data-urlencode 'q=SELECT * INTO "newmeas" FROM "cpu_load_short"'
{"results":[{"statement_id":0,"series":[{"name":"result","columns":["time","written"],"values":[["1970-01-01T00:00:00Z",5]]}]}]}
[aaa@qq.com ~]#
查询字符串参数 | 可选/必需 | 定义 |
---|---|---|
chunked = [true| <NUMBER_OF_POINTS>] | 可选的 | 批量返回流中的点而不是单个响应中的点。如果设置为true,InfluxDB会按系列或每10,000个点(以先发生者为准)分组响应。如果设置为特定值,InfluxDB按系列或按点数分组响应 |
db=<database_name> | 数据库相关查询所必需的(大多数SELECT查询和SHOW查询都需要此参数) | 设置查询的目标数据库 |
epoch=[ns,u,μ,ms,s,m,h] | 可选的 | 返回具有指定精度的纪元时间戳。缺省情况下,InfluxDB以RFC339格式返回时间戳,精度为纳秒级。双方u并μ表示微秒。 |
p = <password> | 可选的,如果没有启用身份验证。如果已启用身份验证,则必需 | 如果已启用身份验证,请设置身份验证的密码。与查询字符串参数一起使用u。 |
pretty=true | 可选的 | 启用漂亮的JSON输出。虽然这对于调试很有用,但不建议用于生产,因为它会消耗不必要的网络带宽 |
q=<query> | 需要 | 要执行的InfluxQL字符串 |
u=<username> | 可选的,如果没有启用身份验证。如果启用了身份验证,则必需。 | 如果已启用身份验证,请设置身份验证的用户名。用户必须具有对数据库的读访问权限。与查询字符串参数一起使用p |
pretty参数使用
- 浏览器访问
http://10.255.254.25:8086/query?db=mydb&pretty=true&q=SELECT * FROM cpu_load_short
- curl访问
curl -G 'http://10.255.254.25:8086/query?db=mydb&pretty=true' --data-urlencode 'q=SELECT * FROM "cpu_load_short"'
epoch使用
- 浏览器访问
http://10.255.254.25:8086/query?db=mydb&epoch=s&q=SELECT * FROM cpu_load_short
- curl访问
[root@test25 ~]# curl -G 'http://10.255.254.25:8086/query?db=mydb&epoch=s' --data-urlencode 'q=SELECT * FROM "cpu_load_short"'
{"results":[{"statement_id":0,"series":[{"name":"cpu_load_short","columns":["time","direction","host","region","value"],"values":[[1422568543,"in","server01","us-west",2],[1422568543,null,"server02","us-west",0.55],[1434055562,null,"server01","us-west",0.64],[1536579271,null,"server02",null,0.67],[1536744482,null,"server01","us-west",0.65]]}]}]}
[root@test25 ~]#
用户和密码使用
- 浏览器访问
http://10.255.254.25:8086/query?db=mydb&u=yueling&p=123456&q=select * from cpu_load_short
- curl访问
[root@test25 ~]# curl -XPOST 'http://10.255.254.25:8086/query?db=mydb&u=yueling&p=123456' --data-urlencode 'q=select * from "cpu_load_short"'
{"results":[{"statement_id":0,"series":[{"name":"cpu_load_short","columns":["time","direction","host","region","value"],"values":[["2015-01-29T21:55:43.702900257Z","in","server01","us-west",2],["2015-01-29T21:55:43.702900257Z",null,"server02","us-west",0.55],["2015-06-11T20:46:02Z",null,"server01","us-west",0.64],["2018-09-10T11:34:31.011551389Z",null,"server02",null,0.67],["2018-09-12T09:28:02.958458452Z",null,"server01","us-west",0.65]]}]}]}
[root@test25 ~]#
/write
/write地址接受POST HTTP请求。使用此地址将数据写入预先存在的数据库
定义
POST http://localhost:8086/write
查询字符串参数 | 可选/必需 | 描述 |
---|---|---|
consistency=[any,one,quorum,all] | 可选,仅适用于InfluxDB Enterprise群集 | 设置该点的写入一致性。InfluxDB假定写入一致性是one未指定的consistency |
db=<database> | 需要 | 设置写入的目标数据库 |
P = <password> | 可选的,如果你还没有启用身份验证。如果您已启用身份验证,则必需 | 如果已启用身份验证,请设置身份验证的密码。与查询字符串参数一起使用u |
precision=[ns,u,ms,s,m,h] | 可选的 | 设置提供的Unix时间值的精度。InfluxDB假设您没有指定时间戳以纳秒为单位precision |
rp= | 可选的 | 设置写入的目标保留策略。DEFAULT如果您未指定保留策略,InfluxDB会写入保留策略 |
u=<username> | 可选的,如果你还没有启用身份验证。如果您启用了身份验证,则必需。 | 如果已启用身份验证,请设置身份验证的用户名。用户必须具有对数据库的读访问权限。与查询字符串参数一起使用p |
precision精度的使用
[root@test25 ~]# curl -i -XPOST "http://localhost:8086/write?db=mydb&precision=s" --data-binary 'mymeans,mytag=1 myfield=90'
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: a99623a9-b714-11e8-8113-000000000000
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.6.1
X-Request-Id: a99623a9-b714-11e8-8113-000000000000
Date: Thu, 13 Sep 2018 05:20:00 GMT
You have new mail in /var/spool/mail/root
[root@test25 ~]#
用户和密码使用
[root@test25 ~]# curl -i -XPOST "http://localhost:8086/write?db=mydb&u=yueling&p=123456" --data-binary 'mymeas,mytag=1 myfield=91'
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: d2d96ef9-b714-11e8-8114-000000000000
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.6.1
X-Request-Id: d2d96ef9-b714-11e8-8114-000000000000
Date: Thu, 13 Sep 2018 05:21:09 GMT
[root@test25 ~]#
使用文件
[aaa@qq.com ~]# cat data.txt
mymeas,mytag1=1 value=21
mymeas,mytag1=1 value=34
mymeas,mytag2=8 value=78
mymeas,mytag3=9 value=89
[aaa@qq.com ~]# curl -i -XPOST "http://localhost:8086/write?db=mydb" --data-binary @data.txt
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 109a7b74-b715-11e8-8115-000000000000
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.6.1
X-Request-Id: 109a7b74-b715-11e8-8115-000000000000
Date: Thu, 13 Sep 2018 05:22:53 GMT
[aaa@qq.com ~]#
上一篇: influxdb安装
下一篇: 时序数据库influxdb的安装
推荐阅读
-
[ Lumen 5.2 文档 ] 基础 -- HTTP 请求
-
HTTP概述(基础一) 博客分类: web/http httpweb网页浏览器
-
所有程序员都应该至少读上两遍的十篇论文 博客分类: 基础(算法,OS,TCP/IP)参考阅读 论文
-
Java Annotation注释语法参考 博客分类: java java Java Annotation注释语法 博客分类: JAVA基础 JavaEJBBeanSUN
-
Java Annotation注释语法参考 博客分类: java java Java Annotation注释语法 博客分类: JAVA基础 JavaEJBBeanSUN
-
Android第三方HTTP网络支持包OkHttp的基础使用教程
-
Android第三方HTTP网络支持包OkHttp的基础使用教程
-
http://java67.blogspot.com/ 博客分类: java基础
-
http://java67.blogspot.com/ 博客分类: java基础
-
python基础教程:决策树剪枝算法的python实现方法详解本文实例讲述了决策树剪枝算法的python实现方法。分享给大家供大家参考,具体如下: 决策树是一种依托决策而建立起来的一种树。在机器学习中