influxdb执行命令方式

1. 三种操作方法

InfluxDB提供三种操作方式:

1)客户端命令行方式

2)HTTP API接口

3)各语言API库

2. 客户端命令行方式

查看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

3. HTTP API接口

influxdb HTTP API提供了与数据库交互的简单方法。它使用HTTP响应代码、HTTP认证、JWT令牌和基本身份验证,并以JSON形式返回响应。

influxdb HTTP地址参考

地址类路径 描述
/debug/pprof 故障诊断生成概要文件
/debug/requests 跟踪HTTP客户端对/write和/query地址的请求
/debug/vars 收集统计信息
/ping 检查influxdb实例的状态和版本
/query 查询数据和管理数据库、保留策略和用户
/write 将数据吸入已存在的数据库

3.1. /debug/pprof

生成一个内置概要文件和超链接列表的HTML页面

 概要  描述
 block  堆栈跟踪同步阻塞
 goroutine  堆栈跟踪堆叠所有当前goroutines
 heap  堆栈跟踪堆分配的采样
 mutex  堆栈跟踪争用互斥锁
 threadcreate   堆栈跟踪创建新的OS线程
 all  是一个自定义/debug/pprof,influxdb支持的主要的概要文件。生成profile.tar.gz包含文本文件,其中包含标准分析信息和其他调试数据,使用该cpu=true选项时会生成可选的CPU配置文件(默认值为false)

3.2. /debug/requests

使用此地址来跟踪客户端/write和/query的HTTP请求。该/debug/requests返回写入和查询的数量每用户名和IP地址InfluxDB

http://192.168.17.101:8086/debug/requests
# 添加seconds参数,默认值为10s
http://192.168.17.101:8086/debug/requests?seconds=60

3.3. /debug/vars

influxDB通过/debug/vars地址公开有关其运行时的统计信息和信息

http://192.168.17.101:8086/debug/vars

3.4. /ping

ping地址接受两个GET和HEAD HTTP请求。使用此地址检查InfluxDB实例的状态以及InfluxDB的版本

http://192.168.17.101:8086/ping

3.5. /query

/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
# 返回json格式数据
http://192.168.17.101:8086/query?db=mydb&pretty=true&q=SELECT * FROM meas01
# 以json格式返回具有指定精度的纪元时间戳
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
curl -G 'http://192.168.17.101:8086/query?db=mydb' --data-urlencode 'q=SELECT * FROM "meas01"'
# 返回json格式数据
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"' 

3.6. /write

/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

4. 各语言API库

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) # 写入数据,同时创建表

02-influxdb执行命令方式的更多相关文章

  1. InfluxDB执行语句管理(query management)

    本文属于<InfluxDB系列教程>文章系列,该系列共包括以下 17 部分: InfluxDB学习之InfluxDB的基本概念 InfluxDB学习之InfluxDB的基本操作 Influ ...

  2. 02 SQL 执行

    sql 被保存在 share pool 后, 开始解析, 解析包括语句的语法, 检验及对象, 以确认该用于是否有该对象的权限, 如果这些都通过了, 接下来就要看这个语句之前是否被执行过, 如果是, o ...

  3. InfluxDB数据备份和恢复方法,支持本地和远程备份

    本文属于<InfluxDB系列教程>文章系列,该系列共包括以下 17 部分: InfluxDB学习之InfluxDB的基本概念 InfluxDB学习之InfluxDB的基本操作 Influ ...

  4. InfluxDB学习之InfluxDB的安装和简介

    最近用到了 InfluxDB,在此记录下学习过程,同时也希望能够帮助到其他学习的同学. 本文主要介绍InfluxDB的功能特点以及influxDB的安装过程.更多InfluxDB详细教程请看:Infl ...

  5. linux定时执行脚本

    阅读目录 1. cron服务[Ubuntu环境] 2. crontab用法 3. 编辑crontab文件 4. 流程举例 5. 几个例子 Linux中,周期执行的任务一般由cron这个守护进程来处理. ...

  6. 从Count看Oracle执行计划的选择

    一. 前言 在调查一个性能问题的时候,一个同事问道,为什么数据库有些时候这么不聪明,明明表上有索引,但是在执行一个简单的count的时候居然全表扫描了!难道不知道走索引更快么? 试图从最简单的coun ...

  7. 使用轻量级Spring @Scheduled注解执行定时任务

    WEB项目中需要加入一个定时执行任务,可以使用Quartz来实现,由于项目就一个定时任务,所以想简单点,不用去配置那些Quartz的配置文件,所以就采用了Spring @Scheduled注解来实现了 ...

  8. Linux 定时执行任务:Crontab服务及应用集锦

    系统背景:cenos6.5 操作工具:Xshell5 情况一:正常情况(系统有service命令) 重启服务命令:[root@centos6 /]# service crond restart 启动服 ...

  9. python笔记:#006#程序执行原理

    程序执行原理(科普) 目标 计算机中的 三大件 程序执行的原理 程序的作用 01. 计算机中的三大件 计算机中包含有较多的硬件,但是一个程序要运行,有 三个 核心的硬件,分别是: CPU 中央处理器, ...

随机推荐

  1. 吴裕雄--天生自然 R语言开发学习:使用键盘、带分隔符的文本文件输入数据

    R可从键盘.文本文件.Microsoft Excel和Access.流行的统计软件.特殊格 式的文件.多种关系型数据库管理系统.专业数据库.网站和在线服务中导入数据. 使用键盘了.有两种常见的方式:用 ...

  2. C# 怎样判断 datagridview 中的checkbox列是否被选中

    private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e){ for (int i  ...

  3. 【Linux_Shell 脚本编程学习笔记三、分支与循环结构】

    if 语句是实际生产工作中最重要且最常用的语句,所以,必须掌握牢固 if 条件语法 1. 单分支机构 if  [ 条件 ] then 指令 fi 或 if  [  条件 ]; then 指令 fi   ...

  4. REVIT 卸载工具,完美彻底卸载清除干净revit各种残留注册表和文件

    一些同学安装revit出错了,也有时候想重新安装revit的时候会出现这种本电脑windows系统已安装revit,你要是不留意直接安装,只会安装revit的附件,revit是不会安装上的.这种原因呢 ...

  5. JavaScript replace() 方法+字符子集介绍(*)

    重点两部分知识点 1.javascript replace()函数用法 以下replace用法转载自w3cSchool:http://www.w3school.com.cn/jsref/jsref_r ...

  6. Hell World:)

    第一次弄博客是在2017年春节,自己弄了个域名,租了个小小的VPS,装好了wordpress,挑了一套模板,就这样上线了,可惜wordpress实在不是一个适合写字的地方,插件.主题令人眼花缭乱,慢慢 ...

  7. iText 中文无法显示

    /** * 导出PDF工具com.lowagie.itext测试 * * @param response * @throws IOException * @throws DocumentExcepti ...

  8. 吴裕雄--天生自然python编程:正则表达式

    re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. 函数语法: re.match(pattern, string, ...

  9. JS做深度学习2——导入训练模型

    JS做深度学习2--导入训练模型 改进项目 前段时间,我做了个RNN预测金融数据的毕业设计(华尔街),当时TensorFlow.js还没有发布,我不得已使用了keras对数据进行了训练,并且拟合好了不 ...

  10. function_exists (),method_exists()与is_callable()的区别

    is_callable()函数要高级一些,它接受字符串变量形式的方法名作为 第一个参数,如果类方法存在并且可以调用,则返回true.如果要检测类中的方法是否能被调用,可以给函数传递一个数组而不是类的方 ...