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

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装