influxdb的简单使用

influxdb常用命令、influxdb增删改查、SpringBoot整合influxdb influxdb详解 influxdb增删改查 SpringBoot整合influxdb influxdb图形化界面客户端 Tag、Field、measurement、Series influxdb中的连续查询和保存策略 阅读详情

influxdb的简单使用

2016年11月20日admin发表评论阅读评论

之前对influxdb有一个简单的了解和入门的使用,近期由于想使用influxdb做一点东西玩玩,又要捡起influxdb。本篇就针对influxdb的数据库、表的概念,增删改查操作、RESTful操作等做下总结。

一、influxdb与传统数据库的比较

库、表等比较:

influxDB传统数据库中的概念
database数据库
measurement数据库中的表
points表里面的一行数据

influxdb数据的构成:

 

Point由时间戳(time)、数据(field)、标签(tags)组成。

Point属性传统数据库中的概念
time每个数据记录时间,是数据库中的主索引(会自动生成)
fields各种记录值(没有索引的属性)也就是记录的值:温度, 湿度
tags各种有索引的属性:地区,海拔

 

这里不得不提另一个名词:series:

所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来。具体可以通过SHOW SERIES FROM "表名" 进行查询。

influxdb使用的端口如下:

 

 
  1. 8083: Web admin管理服务的端口, http://localhost:8083
  2. 8086: HTTP API的端口
  3. 8088: 集群端口(目前还不是很清楚, 配置在全局的bind-address,默认不配置就是开启的)

 

二、安装及增删改查

1、安装

 

 
  1. # wget https://dl.influxdata.com/influxdb/releases/influxdb-1.1.0.x86_64.rpm
  2. # rpm -ivh influxdb-1.1.0.x86_64.rpm
  3. # systemctl enable influxdb
  4. # systemctl start influxdb

注:本示例是在centos7/rhel7中配置的服务,如果在rhel6下,可以使用service进行服务配置和启动。

2、命令行下创建及查询

通过influx命令进行管理,可以使用如下命令创建数据库:

 

 
  1. > CREATE DATABASE "testDB"
  2. > show databases //查询当前的所有数据库
  3. > show databases
  4. name: databases
  5. ---------------
  6. name
  7. _internal
  8. testDB
  9. > use testDB //使用某个数据库

建库的操作可以发现非常类似于mysql下的操作。而在influxdb下没有细分的表的概念,influxdb下的表在插入数据库的时候自动会创建。可以通过SHOW measurements命令查看所有的表,这个类似于mysql下的show tables; 。

 

 
  1. > INSERT cpu,host=serverA,region=us_west value=0.64 //在cpu表中插入相关的数据
  2. > SELECT * FROM cpu ORDER BY time DESC LIMIT 3 //查询最近的三条数据
  3. > SELECT * FROM /.*/ LIMIT 1 //正则表达式查询
  4. > delete from cpu where time=1480235366557373922 //删除某条数据
  5. > DROP MEASUREMENT "measurementName" //删除表

update更新语句没有,不过有alter命令,在influxdb中,删除操作用和更新基本不用到 。在针对数据保存策略方面,有一个特殊的删除方式,这个后面再提。

关于用户的操作如下:

 

 
  1. # 显示用户
  2. SHOW USERS
  3. # 创建用户
  4. CREATE USER "username" WITH PASSWORD 'password'
  5. # 创建管理员权限的用户
  6. CREATE USER "username" WITH PASSWORD 'password' WITH ALL PRIVILEGES
  7. # 删除用户
  8. DROP USER "username"

influxdb的权限设置比较简单,只有读、写、ALL几种。更多用户权限设置可以参看官方文档:https://docs.influxdata.com/influxdb/v1.0/query_language/authentication_and_authorization/ 。默认情况下,influxdb类似与mongodb,是不开启用户认证的,可以修改其 conf文件,配置http块内容如下:

 

 
  1. [http]
  2. enable = true
  3. bind-address = ":8086"
  4. auth-enabled = true # 开启认证

三、数据保存策略及连续查询

1、数据保存策略

一般情况下基于时间序列的point数据不会进行直接删除操作,一般我们平时只关心当前数据,历史数据不需要一直保存,不然会占用太多空间。这里可以配置数据保存策略(Retention Policies),当数据超过了指定的时间之后,就会被删除。

 

 
  1. SHOW RETENTION POLICIES ON "testDB" //查看当前数据库的Retention Policies
  2. CREATE RETENTION POLICY "rp_name" ON "db_name" DURATION 30d REPLICATION 1 DEFAULT //创建新的Retention Policies
  3. #注释如下:
  4. rp_name:策略名
  5. db_name:具体的数据库名
  6. 30d:保存30天,30天之前的数据将被删除
  7. 它具有各种时间参数,比如:h(小时),w(星期)
  8. REPLICATION 1:副本个数,这里填1就可以了
  9. DEFAULT 设为默认的策略

也可以通过如下命令修改和删策略:

 

 
  1. ALTER RETENTION POLICY "rp_name" ON db_name" DURATION 3w DEFAULT
  2. DROP RETENTION POLICY "rp_name" ON "db_name"

2、连续查询(Continuous Queries)

当数据超过保存策略里指定的时间之后,就会被删除。如果我们不想完全删除掉,比如做一个数据统计采样:把原先每秒的数据,存为每小时的数据,让数据占用的空间大大减少(以降低精度为代价)。这就需要InfluxDB提供的:连续查询(Continuous Queries)。

查看当前的查询策略

 
  1. SHOW CONTINUOUS QUERIES

创建新的Continuous Queries

 

 
  1. CREATE CONTINUOUS QUERY cq_30m ON testDB BEGIN SELECT mean(temperature) INTO weather30m FROM weather GROUP BY time(30m) END
  2. 注释如下:
  3. cq_30m:连续查询的名字
  4. testDB:具体的数据库名
  5. mean(temperature): 算平均温度
  6. weather: 当前表名
  7. weather30m: 存新数据的表名
  8. 30m:时间间隔为30分钟

当我们插入新数据之后,通过SHOW MEASUREMENTS查询发现。可以发现数据库中多了一张名为weather30m(里面已经存着计算好的数据了)。这一切都是通过Continuous Queries自动完成的。

删除Continuous Queries

 

 
  1. DROP CONTINUOUS QUERY <cq_name> ON <database_name>

 

四、RESTful 接口操作

插入及查询操作:

 

 
  1. # code from www.361way.com
  2. now=$(date '+%FT%T.000Z')
  3. tomorrow=$(date -v +1d '+%FT%T.000Z')
  4. echo "creating database"
  5. curl -G http://localhost:8086/query --data-urlencode "q=CREATE DATABASE foo"
  6. echo "creating retention policy"
  7. curl -G http://localhost:8086/query --data-urlencode "q=CREATE RETENTION POLICY bar ON foo DURATION INF REPLICATION 1 DEFAULT"
  8. echo "inserting data"
  9. curl -d "{\"database\" : \"foo\", \"retentionPolicy\" : \"bar\", \"points\": [{\"measurement\": \"cpu\", \"tags\": {\"region\":\"uswest\",\"host\": \"server01\"},\"time\": \"$now\",\"fields\": {\"value\": 100}}]}" -H "Content-Type: application/json" http://localhost:8086/write
  10. echo "inserting data"
  11. curl -d "{\"database\" : \"foo\", \"retentionPolicy\" : \"bar\", \"points\": [{\"measurement\": \"cpu\", \"tags\": {\"region\":\"uswest\",\"host\": \"server01\"},\"time\": \"$tomorrow\",\"fields\": {\"value\": 200}}]}" -H "Content-Type: application/json" http://localhost:8086/write
  12. sleep 1
  13. echo "querying data"
  14. curl -G http://localhost:8086/query --data-urlencode "db=foo" --data-urlencode "q=SELECT count(value) FROM \"foo\".\"bar\".cpu"
  15. echo "querying data"
  16. curl -G http://localhost:8086/query --data-urlencode "db=foo" --data-urlencode "q=SELECT count(value) FROM \"foo\".\"bar\".cpu where time < now() + 10d"

GZIP压缩数据插入及查询:

 

 

 
  1. # code from www.361way.com
  2. echo "inserting data"
  3. curl -v -i -H "Content-encoding: gzip" -H "Content-Type: application/json" -X POST -T foo.json.gz http://localhost:8086/write
  4. rm foo.json.gz
  5. echo "querying data with gzip encoding"
  6. curl -v -G --compressed http://localhost:8086/query --data-urlencode "db=foo" --data-urlencode "q=SELECT sum(value) FROM \"foo\".\"bar\".cpu GROUP BY time(1h)"

还可以指定数据保存策略及表的各关键值插入:

 

 
  1. echo "creating retention policy"
  2. curl -G http://localhost:8086/query --data-urlencode "q=CREATE RETENTION POLICY bar ON foo DURATION 300d REPLICATION 3 DEFAULT"
  3. curl -d '{"database" : "foo", "retentionPolicy" : "bar", "points": [{"measurement": "network", "tags": {"host": "server01","region":"uswest"},"time": "2015-02-26T22:01:11.703Z","fields": {"rx": 2342,"tx": 9804}}]}' -H "Content-Type: application/json" http://localhost:8086/write
  4. curl -d '{"database" : "foo", "retentionPolicy" : "bar", "points": [{"measurement": "network", "tags": {"host": "server01","region":"useast"},"time": "2015-02-27T22:01:11.703Z","fields": {"rx": 4324,"tx": 7930}}]}' -H "Content-Type: application/json" http://localhost:8086/write

更多可以参考github上的测试内容。

无论是influx还是通过RESETful 参数进行查询,其还有pertty参数可以使输出的json格式更加美观 。除此之外,influx命令还有column、CSV等格式输出,influx命令支持通过import参数输入类csv类格式的数据。

五、influxdb.conf配置web管理

当前版本的influxdb,默认情况下未开启web管理功能。可以通过修改influxdb.conf文件中admin项的配置开启web管理界面,具体如下:

 

 
  1. [admin]
  2. # Determines whether the admin service is enabled.
  3. enabled = true
  4. # The default bind address used by the admin service.
  5. bind-address = ":8083"

influxdb

 

 

 

docker运行InfluxDB流程及InfluxDB概念 InfluxDB(官网 维基百科 github ) 用go写成;时序数据库;用于存储系统的监控、IoT行业的实时数据等场景。 Errplane公司在2013年开始开源项目的形式开发InfluxDB,2015年公司更名为InfluxData。 InfluxDB存储的数据从逻辑上由 Measurement, tag组以及 field组以及一个时间戳组成的: Measurement: 由一个字符串... 阅读详情

相关推荐

InfluxDB

RedHat和CentOS用户可以直接用`yum`包管理来安装最新版本的InfluxDB一旦加到了`yum`源里面,就可以运行下面的命令来安装和启动InfluxDB服务拉取镜像启动容器-d:deamon,后台启动 -p:port, 端口映射,宿主机端口:容器内端口;8083是influxdb的web管理工具端口,8086是influxdb的HTTP API端口 8083: Web admin管理服务的端口, http://localhost:8083

xptwop的博客 818

influxdb 安装及简单使用

influxdb的简单使用参考https://blog.51cto.com/caimengzhi/1895306 感谢作者!之前对influxdb有一个简单的了解和入门的使用,近期由于想使用influxdb做一点东西玩玩,又要捡起influxdb。本篇就针对influxdb的数据库、表的概念,增删改查操作、RESTful操作等做下总结。 一、influxdb与传统数据库的比较库、表等比较: ...

weixin_34092370的博客 806

InfluxDB学习之InfluxDB的基本操作

摘要 本文目录 [隐藏] 1一、InfluxDB操作方式 2二、InfluxDB数据库操作 3三、InfluxDB数据表操作 4四、数据操作 5五、series操作 6六、界面操作 本文属于《InfluxDB系列教程》文章系列,该系列共包括以下 17 部分: InfluxDB学习之InfluxDB的安装和简介 InfluxDB学习之

waitig's blog 1万+

influxdb源码解析-series

influxdb series 模块介绍

YG爱木木 2287

英飞凌AURIX 2G 系列MCU关于外设模块EVADC的实现原理及对应MCAL(EB Tresos)配置项详细讲解

本文章讲述了英飞凌AURIX 2G系列MCU关于外设模块EVADC的实现原理及对应MCAL配置工具(EB)的配置项。

weixin_46176506的博客 6279

论文阅读——Bayesian Knowledge Fusion(贝叶斯知识融合)

该篇论文解决了不确定环境中的信息融合问题。想象一下,有多位专家针对同一情况构建概率模型,我们希望汇总他们提供的信息。直接合并每个信息可能会遇到几个问题。例如,专家们可能不同意某个事件发生的概率,或者他们可能不同意两个事件之间因果关系的方向(例如,一个人认为 A 导致 B,而另一个人认为 B 导致 A)。他们甚至可能不同意概率网络中一组变量之间的整个依赖结构。

qq_64164071的博客 1497

InfluxDB详解

InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。Time Series (时间序列):你可以使用与时间有关的相关函数(如最大,最小,求和等)Metrics(度量):你可以实时对大量数据进行计算Eevents(事件):它支持任意的事件数据特点为时间序列数据专门编写的自定义高性能数据存储。TSM引擎具有高性能的写入和数据压缩。

ss810540895的博客 5818

Linux 命令之 localectl -- 控制系统的本地化与键盘布局

文章目录命令介绍常用选项参考示例(一)显示当前的本地化设置与键盘映射(二)设置系统的本地化字符集环境变量(三)列出本地所有字符集(四)列出所有可用的控制台键盘映射(五)设置控制台的键盘映射 命令介绍 localectl 命令可用于查询与修改系统的本地化(locale)与键盘布局的设置。 它通过与 systemd-localed.service 通信来修改例如 /etc/locale.conf 与 /etc/vconsole.conf 之类的配置文件。本地化设置控制着 用户界面的语言、字符类型与字符编码、 日

liaowenxiong的博客 5400

时序数据库 InfluxDB介绍

整理自:https://sq.163yun.com/blog/article/169866295296581632 InfluxDB 数据模型 InfluxDB的数据模型和其他时序数据库有些许不同,下图是InfluxDB中的一张示意表: 1. Measurement:从原理上讲更像SQL中表的概念。这和其他很多时序数据库有些不同,其他时序数据库中Measurement可能与Metric等...

changyanmanman的专栏 1万+

用rsl_rl训练四足机器人走梅花桩:PPO算法调参实战与避坑指南

本文详细介绍了如何使用rsl_rl框架和PPO算法训练四足机器人在梅花桩上行走的实战经验。通过分析梅花桩场景的独特挑战,提供PPO算法关键参数配置策略、奖励函数设计方法以及常见问题的解决方案,帮助开发者高效实现机器人平衡控制。文章特别强调了仿真到实机的过渡技巧,最终实现98%的过桩成功率。

weixin_29103191的博客 223

免费 AIS船舶轨迹预测 数据集 分享 (可用于长周期轨迹预测)

论文中使用的数据由提供。有关预处理步骤的详细信息,请参阅。

qq_43747519的博客 1万+

时序数据库influxDb实际基本操作

具体请看[时序数据库InfluxDB介绍](https://blog.youkuaiyun.com/m0_46577050/article/details/123221935)

weixin_44831330的博客 4393

IEEE Access投稿全流程解析:从初次提交到最终接收的完整指南

本文详细解析了IEEE Access期刊从初次投稿到最终接收的全流程,包括ORCID注册、论文投稿七步法、回稿再投流程及最终版提交等关键步骤。特别强调了4-6周快速同行评审的特点,为研究者提供了一份实用的投稿指南,帮助高效完成IEEE Access期刊投稿。

weixin_29273849的博客 915

【INFLUXDB】INFLUXDB使用

【INFLUXDB】INFLUXDB使用 一. 数据库配置 查询: show database 创建: CREATE DATABASE {database_name} [WITH [DURATION ] [REPLICATION ] [SHARD DURATION ] [NAME ] 删除: DROP DATABASE {database_name} 二. RETENTION POLICY 查询:...

花语无痕的博客 302

从零搭建Obsidian智能知识库:Ollama本地模型与Copilot插件实战指南

本文详细介绍了如何从零搭建Obsidian智能知识库,结合Ollama本地模型与Copilot插件实现高效知识管理。通过本地部署AI助手,用户可以在保证隐私安全的同时,快速检索和整理笔记,提升工作效率。文章涵盖硬件准备、Ollama部署、插件配置及实战技巧,适合需要高效知识管理的专业人士。

weixin_29230773的博客 632

SCI投稿Title Page、Cover letter、Highlights、Manuscript模板

(简要介绍一下论文的创新性). I hope this paper issuitable for “Journal Name”.版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.youkuaiyun.com/weixin_48615832/article/details/120317336。

qq_15963745的博客 3700

InfluxDB安装以及使用

一、简介 InfluxDB是一种时序数据库,用来存放监控数据。InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。 其主要特色功能 1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等) 2)可度量性:你可以实时对大量数据进行计算 3)基于事件:它支持任意的事件数据 InfluxDB的主要特色 1)无结构(无模式):可以是任意数量的列 2)可拓展的 3)支持min, max, sum, count, mean, median 等一系列函数,方

weixin_42499516的博客 2万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

linux influxdb 卸载,influxdb 安装及简单使用

influxdb的简单使用参考https://blog.51cto.com/caimengzhi/1895306 感谢作者!之前对influxdb有一个简单的了解和入门的使用,近期由于想使用influxdb做一点东西玩玩,又要捡起influxdb。本篇就针对influxdb的数据库、表的概念,增删改查操作、RESTful操作等做下总结。一、influxdb与传统数据库的比较库、表等比较:influ...

weixin_28937075的博客 2056

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Python简单使用InfluxDB

前言 之前已经在自己的MQTT服务器上安装好了InfluxDB时序数据库,接下来写个Python程序测试下. 安装 API详情参阅这里 打开powershell,执行pip install influxdb安装模块 程序 程序API详细参考这里 # coding=utf-8 import time from influxdb import InfluxDBClient def

彼时思默的博客 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

InfluxDB 介绍和使用

InfluxDB是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。 它有三大特性: Time Series (时间序列):你可以使用与时间有关的相关函数(如最大,最小,求和等) Metrics(度量):你可以实时对大量数据进行计算 Eevents(事件):它支持任意的事件数据 InfluxDB安装方式(环境部署) influxdb里面有一些重要概念:database,timestamp,fi..

说不如做 1万+

【InfluxDB】influxdb使用

一. 数据库配置 查询: show database 创建: CREATE DATABASE {database_name} [WITH [DURATION ] [REPLICATION ] [SHARD DURATION ] [NAME ] 删除: DROP DATABASE {database_name} 二. RETENTION POLICY 查询: SHOW RETENTION PO...

藏经阁 | 玄苦 1253

influxdb简单使用

一. influxdb(homebrew)安装 /usr/local/etc/influxdb.conf 配置文件所在的位置 brew service start/stop/restart influxdb 启动服务 influxd 测试安装是否成功的命令 influx 进入其客户端 二.influxdb中sql语句: 在influxdb中删除的时候: delete from +mea...

m0_38028438的博客 418

INFLUXDB-influxDB在Java中的简单操作

在SENTINEL-sentinel实时监控持久化到InfluxDB中中已经有了用Java实现基本的操作,今天我们再来补充一下。主要是熟悉InfluxDB的语法和操作。 @Component public class InfluxDBMetricExeRepository implements MetricsExeRepository { private static Logger l...

飞翔的肥仔 2696

INFLUXDB-influxDB一些查询语法你必须知道

首先我们向一个表中插入数据,具体格式如下, 插入 insert <measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp] 顺序...

飞翔的肥仔 3万+

InfluxDB安装及使用

1 安装 1.1 Tar包安装   (1)获取tar包 wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0_linux_amd64.tar.gz   (2)解压tar包   tar xvfz influxdb-1.8.0_linux_amd64.tar.gz $ su - tigk $ tar xvfz /opt/package/influxdb-1.8.0_linux_amd64.tar.gz -C /home/tigk/.lo

fighting 7595

如何使用Java操作InfluxDB

请确保将INFLUXDB_URL、INFLUXDB_USERNAME、INFLUXDB_PASSWORD替换为实际的InfluxDB连接信息。// 连接到InfluxDB实例。// 创建数据库(如果不存在)// 写入单个点数据。// 批量写入点数据。

xiaocxyczh的博客 1037
上一篇: InfluxDB安装及配置
下一篇: InfluxDB基本概念和操作
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值