InfluxDB提供三种操作方式:
1)客户端命令行方式
2)HTTP API接口
3)各语言API库
查看influxdb占用端口情况
influx
或
InfluxDB HTTP API 8086默认在端口上运行。因此,influx将连接到端口8086和localhost默认。如果您需要更改这些默认值,请运行influx --help。
该-precision参数指定任何返回的时间戳的格式/精度。在上面的示例中,rfc3339告诉InfluxDB以RFC3339格式(YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ)返回时间戳。
$ influx -precision rfc3339
Connected to http://localhost:8086 version 1.4.x
InfluxDB shell 1.4.x
influxdb HTTP API提供了与数据库交互的简单方法。它使用HTTP响应代码、HTTP认证、JWT令牌和基本身份验证,并以JSON形式返回响应。
influxdb HTTP地址参考
地址类路径
描述
/debug/pprof
故障诊断生成概要文件
/debug/requests
跟踪HTTP客户端对/write和/query地址的请求
/debug/vars
收集统计信息
/ping
检查influxdb实例的状态和版本
/query
查询数据和管理数据库、保留策略和用户
/write
将数据吸入已存在的数据库
生成一个内置概要文件和超链接列表的HTML页面
概要
描述
block
堆栈跟踪同步阻塞
goroutine
堆栈跟踪堆叠所有当前goroutines
heap
堆栈跟踪堆分配的采样
mutex
堆栈跟踪争用互斥锁
threadcreate
堆栈跟踪创建新的OS线程
all
是一个自定义/debug/pprof,influxdb支持的主要的概要文件。生成profile.tar.gz包含文本文件,其中包含标准分析信息和其他调试数据,使用该cpu=true选项时会生成可选的CPU配置文件(默认值为false)
使用此地址来跟踪客户端/write和/query的HTTP请求。该/debug/requests返回写入和查询的数量每用户名和IP地址InfluxDB
http://192.168.17.101:8086/debug/requests
http://192.168.17.101:8086/debug/requests?seconds=60
influxDB通过/debug/vars地址公开有关其运行时的统计信息和信息
http://192.168.17.101:8086/debug/vars
ping地址接受两个GET和HEAD HTTP请求。使用此地址检查InfluxDB实例的状态以及InfluxDB的版本
http://192.168.17.101:8086/ping
/query地址接受GET和POST HTTP请求。使用此地址可以查询数据并管理数据库,保留策略和用户
类型
方法
GET
SELECT
SHOW
POST
ALTER
CREATE
DELETE
DROP
GRANT
KILL
REVOKE
使用范例
# 浏览器
http://192.168.17.101:8086/query?db=mydb&q=SELECT * FROM meas01
http://192.168.17.101:8086/query?db=mydb&epoch=s&q=SELECT * FROM meas01
http://192.168.17.101:8086/query?db=mydb&pretty=true&q=SELECT * FROM meas01
http://192.168.17.101:8086/query?db=mydb&epoch=s&pretty=true&q=SELECT * FROM meas01
http://192.168.17.101:8086/query?db=mydb&u=admin&p=123456&q=select * from meas01
curl -G 'http://192.168.17.101:8086/query?db=mydb' --data-urlencode 'q=SELECT * FROM "meas01"'
curl -G 'http://192.168.17.101:8086/query?db=mydb&pretty=true' --data-urlencode 'q=SELECT * FROM "meas01"'
curl -G 'http://192.168.17.101:8086/query?db=mydb&epoch=s' --data-urlencode 'q=SELECT * FROM "meas01"'
curl -G 'http://192.168.17.101:8086/query?db=mydb&u=admin&p=123456' --data-urlencode 'q=SELECT * FROM "meas01"'
/write地址接受POST HTTP请求。使用此地址将数据写入预先存在的数据库
POST http://localhost:8086/write?参数
使用范例
# 插入单条数据
curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'
curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server02 value=0.67
cpu_load_short,host=server02,region=us-west value=0.55 1422568543702900257
cpu_load_short,direction=in,host=server01,region=us-west value=2.0 1422568543702900257'
curl -i -XPOST "http://localhost:8086/write?db=mydb" --data-binary @data.txt
python操作influxdb
安装influxdb模块
pip install influxdb
使用范例
from influxdb import InfluxDBClient
json_body = [
{
"measurement": "meas01",
"tags": {
"name": "s1-2",
"addr": "10-2"
},
"fields": {
"id": 2
}
},
{
"measurement": "meas02",
"tags": {
"name": "s1-3",
"addr": "10-3"
},
"fields": {
"id": 3
}
}
]
print(json_body)
client = InfluxDBClient('192.168.17.101', 8086, 'root', '', 'mydb') # 初始化(指定要操作的数据库)
client.write_points(json_body) # 写入数据,同时创建表
手机扫一扫
移动阅读更方便
你可能感兴趣的文章