influxdb基础---http参考

版权声明:本文为博主原创文章,码字不易,转载请标明出处。 https://blog.csdn.net/yue530tomtom/article/details/82686695

基于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 ~]# 
[root@test25 ~]# 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]]}]}]}
[root@test25 ~]# 
查询字符串参数 可选/必需 定义
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 ~]# 

使用文件

[root@test25 ~]# cat data.txt 
mymeas,mytag1=1 value=21
mymeas,mytag1=1 value=34
mymeas,mytag2=8 value=78
mymeas,mytag3=9 value=89
[root@test25 ~]# 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

[root@test25 ~]#

猜你喜欢

转载自blog.csdn.net/yue530tomtom/article/details/82686695
今日推荐