02-influxdb执行命令方式
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执行命令方式的更多相关文章
- InfluxDB执行语句管理(query management)
本文属于<InfluxDB系列教程>文章系列,该系列共包括以下 17 部分: InfluxDB学习之InfluxDB的基本概念 InfluxDB学习之InfluxDB的基本操作 Influ ...
- 02 SQL 执行
sql 被保存在 share pool 后, 开始解析, 解析包括语句的语法, 检验及对象, 以确认该用于是否有该对象的权限, 如果这些都通过了, 接下来就要看这个语句之前是否被执行过, 如果是, o ...
- InfluxDB数据备份和恢复方法,支持本地和远程备份
本文属于<InfluxDB系列教程>文章系列,该系列共包括以下 17 部分: InfluxDB学习之InfluxDB的基本概念 InfluxDB学习之InfluxDB的基本操作 Influ ...
- InfluxDB学习之InfluxDB的安装和简介
最近用到了 InfluxDB,在此记录下学习过程,同时也希望能够帮助到其他学习的同学. 本文主要介绍InfluxDB的功能特点以及influxDB的安装过程.更多InfluxDB详细教程请看:Infl ...
- linux定时执行脚本
阅读目录 1. cron服务[Ubuntu环境] 2. crontab用法 3. 编辑crontab文件 4. 流程举例 5. 几个例子 Linux中,周期执行的任务一般由cron这个守护进程来处理. ...
- 从Count看Oracle执行计划的选择
一. 前言 在调查一个性能问题的时候,一个同事问道,为什么数据库有些时候这么不聪明,明明表上有索引,但是在执行一个简单的count的时候居然全表扫描了!难道不知道走索引更快么? 试图从最简单的coun ...
- 使用轻量级Spring @Scheduled注解执行定时任务
WEB项目中需要加入一个定时执行任务,可以使用Quartz来实现,由于项目就一个定时任务,所以想简单点,不用去配置那些Quartz的配置文件,所以就采用了Spring @Scheduled注解来实现了 ...
- Linux 定时执行任务:Crontab服务及应用集锦
系统背景:cenos6.5 操作工具:Xshell5 情况一:正常情况(系统有service命令) 重启服务命令:[root@centos6 /]# service crond restart 启动服 ...
- python笔记:#006#程序执行原理
程序执行原理(科普) 目标 计算机中的 三大件 程序执行的原理 程序的作用 01. 计算机中的三大件 计算机中包含有较多的硬件,但是一个程序要运行,有 三个 核心的硬件,分别是: CPU 中央处理器, ...
随机推荐
- 类加载器ClassLoader的理解
最近在做一个热加载Class的小组件,这个组件需要对类加载器ClassLoader有所了解,我就顺便借这个机会把学到的一点皮毛与大家分享一下. 从Class文件开始 ClassLoader,顾名思义就 ...
- Doc: NetBeans
NetBeans的最新版本已经更新为Apache NetBeans. 安装JDK 在Mac OS X下,有".dmg"的安装包,可以直接安装.只要JDK的版本大于1.8.0就可以安 ...
- Java后台及Jsp前端的简单分页_学习笔记
在你需要导出显示大量列表时,在一页中都显示出来,是不美观页不实用的.在这种时候,就需要设置一个分页来显示你的内容,如百度的分页: 分页分为:前段分页和后端分页 后端分页: 首先我们应该确定,我们要分页 ...
- Lua 学习 chapter30 编写c函数的技巧 - Jow的博客
目录 数组操作 字符串操作 在c函数中保存状态 生活总需要一点仪式感,然后慢慢的像那个趋向完美的自己靠近. 数组操作 Lua中的数组就是以特殊的方式使用边.像lua_setttable and lua ...
- Mac下如何使用homebrew
Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件. 常用的命令: 搜索软件:brew search 软件名,如brew search wget ...
- 如何用js判断一个对象是不是Array
.如何用js判断一个对象是不是Array 1.Array.isArray(obj) 调用数组的isArray方法 2.obj instanceof Array 判断对象是否是Array的实例 3.Ob ...
- SpringDataJpa2
1.SpringDataJpa的扩展 - 抽取 创建一个BaseRepository接口然后去继承JpaRepository和JpaSpecificationExecutor 然后在里面写我们自己想要 ...
- JavaScript提供了哪几种“异步模式”?
1.回调函数(callbacks) 2.事件监听 3.Promise对象
- Hexo搭建个人博客(一)— 前期准备
最近几个月自学python的过程中,搜索爬虫资料的时候关注了xlzd的博客,为我开启了一片新世界,之后慢慢收藏了各方高人的博客.搭建一个自己博客的萌芽也悄然种下,也许是命运使然,在逛知乎的时候偶然间看 ...
- php获取远程图片并把它保存到本地
/* *功能:php多种方式完美实现下载远程图片保存到本地 *参数:文件url,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */ function getImage( ...