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 中央处理器, ...
随机推荐
- Windows下的GUI 库
Windows 下的 GUI 解决方案比较多: 基于 C++ 的有 Qt.MFC.WTL.wxWidgets.DirectUI.Htmlayout: 基于 C# 的有 WinForm.WPF: 基于 ...
- Serializable 接口(序列化)
目录 Serializable 接口(序列化) 前言 用途 如何实现 异常 serialVersionUID transient关键字 Serializable 接口(序列化) 前言 查看API文档时 ...
- MYSQL语句中的explain
1.使用mysql explain的原因 在我们程序员的日常写代码中,有时候会发现我们写的sql语句运行的特别慢,导致响应时间特别长,这种情况在高并发的情况下,我们的网站会直接崩溃,为什么双十一的淘宝 ...
- 《hdu 免费馅饼》
题目描述 免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
- [洛谷P3369] 普通平衡树 Treap & Splay
这个就是存一下板子...... 题目传送门 Treap的实现应该是比较正经的. 插入删除前驱后继排名什么的都是平衡树的基本操作. #include<cstdio> #include< ...
- Spark和Hadoop MapReduce之间的比较
关于两者的讨论文章: https://www.zhihu.com/question/26568496 http://blog.jobbole.com/97150/ 文章通过多个角度对两者进行对比,根据 ...
- 如何快速找出Linux中的重复文件
md5sum | sort | uniq -w32 --all-repeated=separate [1]find -not -empty -type f -printf “%s\n” :find是查 ...
- Jenkins之邮件通知
Jenkins默认有一个邮件通知功能,但功能比较单一,能自定义的东西很少,一般使用Extended E-mail Notification插件来发送邮件,EXT Email插件功能比较多,但设置也比较 ...
- Git学习笔记(二) · 非典型性程序猿
远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的 ...
- gcc编译器常用选项的含义
-w: 关闭编译时的警告, 也就是编译后不显示任何warning,因此有时编译中会出现一些诸如数据转换之类的可忽略警告, -Wall: 显示编译后所有警告 -W: 显示警告,但是只是显示编译器认为的会 ...