influxdb常用操作

2024-05-06 18:08
文章标签 操作 常用 influxdb

本文主要是介绍influxdb常用操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

插入数据
insert test,host=127.0.0.1 ,monitor_name=test count=1删除表
drop measurement "measurement"命令行插入数据
use testDb
insert test,host=127.0.0.1, monitor_name=test count=1通过http接口
curl -i -XPOST 'http://127.0.0.1:8086/write?db=testdb' --data-binary 'test,host=127.0.0.1,monitor_name=test count=1'test  表名
host=127.0.0.1,monitor_name=test  tag
count=1 field
查询数据库中的数据
select * from test order by time desc
通过http接口
curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=testDb" --data-urlencode "q=select * from test order by desc"数据保存策略
influxdb数据保存策略
influxdb 是没有直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据
查看当前数据库的数据保存策略
show retention policies on "test"创建新的数据保存策略
create retention policy "rp_name" on "db_nme" duration 3w replication 1 default
policy_default
create retention policy "policy_default" on "tg_agency" duration 24h replication 1 default
rp_name  策略名
db_nme  具体的数据库名
3w 保存3周 三周之前的数据将被删除,influxdb具有各种事件参数,比如 h(小时)
d(天),w(周)
replication  副本个数,一般为1就可以了
default 设置为默认策略修改数据保存策略
alter replication policy "rp_name" on "db_name" duration 20d default删除数据保存策略
drop retention policy "rp_name"连续查询 Continous Queries
当数据超过保存策略里指定的时间之后就会被删除掉,但是这时候可能并不想数据被完全删掉,怎么办
influxdb 提供了联系查询,可以做数据统计采样
查看数据库的Continous Queries (翻译过来就是连续查询的意思)
show continuous queries创建新的Continous Queries
create continous query cq_name on db_name begin select sum(count) into 
new_table_name from table_name group by time(30m) endcq_name 连续查询名字
db_name 数据库名字
sum(count) 计算总和
table_name 当前表名
new_table_name 存新的数据的表名
30M 时间间隔为30分钟删除Continous Queries
drop continous query cp_name on db_name用户管理
可以直接在web管理页面做操作,也可以在命令行
#显示用户#
show users
#创建用户#
create user "username" with password "password"
#创建管理员权限用户#
create user "user_name" with password "password" with all privileges
#删除用户#
drop user "username"[{"name": "events","columns": ["state", "email", "type"],"points": [["ny", "paul@influxdb.org", "follow"],["ny", "todd@influxdb.org", "open"]]},{"name": "errors","columns": ["class", "file", "user", "severity"],"points": [["DivideByZero", "example.py", "someguy@influxdb.org", "fatal"]]}
]
events就是一个series 类似关系型数据库里的table
格式是json 可以在一个POST请求发送多个series ,每个series里面
的points可以是很多个,但是索引要和columns对应(columns相当于一条记录的列名)上面的数据没有包含time列(columns),influxdb会自己加上,不过也可以指定time,比如
[{"name":"response_times","columns": ["time", "value"],"points" :[[138874382748,234.5],[138838737776,120.1],[137678766876,340.9]]}
]
time在inluxdb里面是很重要的,比较influxdb是time series database
在influxdb 还有个sequence_number 字段是数据库维护的,类似MySQL的主键概念influxdb 增删改查都是通过http API来完成,甚至支持正则表达式删除数据,还有计划任务(定时任务)
比如
发送POST请求到 /db/:name/scheduled_deletes ,body如下
{"regex": "stats\..*","olderThan": "14d","runAt": 3
}
这个查询会删除大于14天的数据,并且任何以stats开头的数据,并且每天3:00AM运行查询语言
influxdb 提供了类似SQL的查询语言
举例:
select * from events where state == 'NY';
select * from log_lines where line =~ /error/i;  //正则
select * from events where customer_id == 23 and type == 'click'
select * from response_times where value > 500;
select * from events where email !~ /.*gmail.*/;
select * from nagios_checks where status != 0;
select * from events
where (email =~ /.*gmail.*/ or email =~ /.*yahoo.*/) and state == 'ny';
delete from response_times where time > now() - 1hselect value from runtime.memory.allocated where time > now()-10m;curl -POST http://39.107.77.94:8086/query --data-urlencode "q=CREATE DATABASE tg_agency"

这篇关于influxdb常用操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/964993

相关文章

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

Java 枚举的常用技巧汇总

《Java枚举的常用技巧汇总》在Java中,枚举类型是一种特殊的数据类型,允许定义一组固定的常量,默认情况下,toString方法返回枚举常量的名称,本文提供了一个完整的代码示例,展示了如何在Jav... 目录一、枚举的基本概念1. 什么是枚举?2. 基本枚举示例3. 枚举的优势二、枚举的高级用法1. 枚举

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

JavaScript DOM操作与事件处理方法

《JavaScriptDOM操作与事件处理方法》本文通过一系列代码片段,详细介绍了如何使用JavaScript进行DOM操作、事件处理、属性操作、内容操作、尺寸和位置获取,以及实现简单的动画效果,涵... 目录前言1. 类名操作代码片段代码解析2. 属性操作代码片段代码解析3. 内容操作代码片段代码解析4.

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

Python使用asyncio实现异步操作的示例

《Python使用asyncio实现异步操作的示例》本文主要介绍了Python使用asyncio实现异步操作的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录1. 基础概念2. 实现异步 I/O 的步骤2.1 定义异步函数2.2 使用 await 等待异

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

SpringBoot整合InfluxDB的详细过程

《SpringBoot整合InfluxDB的详细过程》InfluxDB是一个开源的时间序列数据库,由Go语言编写,适用于存储和查询按时间顺序产生的数据,它具有高效的数据存储和查询机制,支持高并发写入和... 目录一、简单介绍InfluxDB是什么?1、主要特点2、应用场景二、使用步骤1、集成原生的Influ