相关文章推荐
欢乐的篮球  ·  Array.prototype.splice ...·  6 月前    · 
伤情的香菜  ·  Java ...·  8 月前    · 
大方的沙滩裤  ·  How to Detect if ...·  1 年前    · 

首先我们向一个表中插入数据,具体格式如下,

insert <measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp] 

顺序为:表名(不存在则直接新建)+tag的key和value,field的key和value。注意中间的空格。

> insert test,host=127.0.0.1,monitor_name=test1,app=ios count=2,num=3
> select * from test
name: test
time                app count host      monitor_name num
----                --- ----- ----      ------------ ---
1585897703920290000     1     127.0.0.1 test         
1585897983909417000 ios 2     127.0.0.1 test1        3
1585898383503216000 ios 2     127.0.0.1 test1        3
1585901694441000000 ios 2     127.0.0.1 app1         3
1585901704179677000 ios 2     127.0.0.1 ios1         3

展示tag

> show tag keys from test
name: test
tagKey
------
monitor_name

从上面可以看到app host monitor_name为tag 而num/count为field

distinct的字段仅是field 不能是tag

##distinct
> select distinct(count) from test
name: test
time distinct
---- --------
0    1
0    2
##distinct 仅仅对field生效,app是tag,不生效,所以没有结果
> select distinct(app) from test

在工作中,一个字段经常用来做查询,于是我设置成了tag类型,但是有一个需求是仅仅展示这个tag的value,并且有一些where查询条件,于是我增加了一个冗余的field类型的value1。就是为了满足这个distinct只能是field类型

group by仅是tag 不能是field

## 此时app是tag类型
> select * from test group by app
name: test
tags: app=
time                count host      monitor_name num
----                ----- ----      ------------ ---
1585897703920290000 1     127.0.0.1 test         
name: test
tags: app=ios
time                count host      monitor_name num
----                ----- ----      ------------ ---
1585897983909417000 2     127.0.0.1 test1        3
1585898383503216000 2     127.0.0.1 test1        3

查询单个tag的value值

##查询所以tag为app的value的值
> show tag values from test with key="app"
name: test
key value
--- -----
app ios
##用下面这种方式,是查询不到app的value值的,app为tag的情况
> select app from test
##但是,当查询的包括tag+field的时候,却可以查询出来
> select app,count from test
name: test
time                app count
----                --- -----
1585897703920290000     1
1585897983909417000 ios 2
1585898383503216000 ios 2
> select * from test
name: test
time                app count host      monitor_name num
----                --- ----- ----      ------------ ---
1585897703920290000     1     127.0.0.1 test         
1585897983909417000 ios 2     127.0.0.1 test1        3
1585898383503216000 ios 2     127.0.0.1 test1        3
1585901694441000000 ios 2     127.0.0.1 app1         3
1585901704179677000 ios 2     127.0.0.1 ios1         3
## =~/给定字段/ 包含指定字段的
> select * from test where monitor_name =~/app/
name: test
time                app count host      monitor_name num
----                --- ----- ----      ------------ ---
1585901694441000000 ios 2     127.0.0.1 app1         3
##=~/^给定字段/ 以指定字段开始的
> select * from test where monitor_name =~/^app/
name: test
time                app count host      monitor_name num
----                --- ----- ----      ------------ ---
1585901694441000000 ios 2     127.0.0.1 app1         3
##=~/给定字段$/ 以指定字段结尾的
> select * from test where monitor_name =~/p1$/
name: test
time                app count host      monitor_name num
----                --- ----- ----      ------------ ---
1585901694441000000 ios 2     127.0.0.1 app1         3

分页 limit offset

limit pageSize offset (pageIndex - 1) * pageSize
比如:limit 10 offset 15,就是从第15行开始之后的10条数据

 > select * from test 
name: test
time                app count host      monitor_name num
----                --- ----- ----      ------------ ---
1585897703920290000     1     127.0.0.1 test         
1585897983909417000 ios 2     127.0.0.1 test1        3
1585898383503216000 ios 2     127.0.0.1 test1        3
1585901694441000000 ios 2     127.0.0.1 app1         3
1585901704179677000 ios 2     127.0.0.1 ios1         3
> select * from test limit 2 offset 2
name: test
time                app count host      monitor_name num
----                --- ----- ----      ------------ ---
1585898383503216000 ios 2     127.0.0.1 test1        3
1585901694441000000 ios 2     127.0.0.1 app1         3

没有IN操作,但是有 OR

influxDB中没有in的操作,但是有or。对于习惯了mysql的in来说,用or就需要在代码中循环了。

> select * from test;
name: test
time                app count host      monitor_name num
----                --- ----- ----      ------------ ---
1585897703920290000     1     127.0.0.1 test         
1585897983909417000 ios 2     127.0.0.1 test1        3
1585898383503216000 ios 2     127.0.0.1 test1        3
1585901694441000000 ios 2     127.0.0.1 app1         3
1585901704179677000 ios 2     127.0.0.1 ios1         3
> select * from test where monitor_name = 'test' or monitor_name ='app1'
name: test
time                app count host      monitor_name num
----                --- ----- ----      ------------ ---
1585897703920290000     1     127.0.0.1 test         
1585901694441000000 ios 2     127.0.0.1 app1         3

[shuyao@shuyao-test-001 bin]$ pwd
/mnt/dat1/soft/influxdb-1.8.4-1/usr/bin
[shuyao@shuyao-test-001 bin]$ ls
influx  influxd  influx_inspect  influx_stress  influx_tsm  log  nohup.out
[shuyao@
                                    篇幅这么长,直接看总结就完事了!
influxdb查询语法在语句基本组成上和mysql非常相似,都有基本的`select … from …`、`group by `、`order by`、`limit`、聚合函数等,在一定程度上降低了`influxdb`的学习门槛。但是也有很多细节需要注意,比如:
1. `group by`后面只能对`tags`和`time`分组。
2. `order by` 只能对`time`进行排序。
3. 聚合函数只能作用于`fields`。
4. `limit`语法也不太一样。
                                    在循环中查询数据库,是性能大忌,循环10000次,访问数据库10000次,这其中的开销就不多说了。还有同学说:我的查询语句不是一个字段的多个条件,是多个字段的多个条件,而且还涉及到分组 + 排序。当然第四种用法, or 的使用,能 or 多少条件,也是有限制的,如果 or上一百多个条件,又会带来性能问题,查询很慢,具体还是看实际q情况吧。有小伙伴说:我的查询语句可不只是一个字段的多个条件那么简单,我还需要按照时间降序排序,取每个tag的第一条记录,也就是最新记录。| 代表或,指明多项之间的一个选择;
                                    戳蓝字「TopCoder」关注我们哦!编者注:InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。而InfluxDB自带的各种...
          |____4-4 服务的具体实现以及MybatisPlus入门
          |____4-3 项目介绍以及开发后台系统
          |____4-2 Ant Design以及Ant Design Pro入门
          |____4-1 ES6新特性以及ReactJS入门
|____24 项目框架架构与优化
          |____06-NIO与Netty编程
          |____05-Netty网络编程
          |____04-ORM思想及相关框架实现原理
          |____03-MVC
          |____02-数据库优化
          |____01-JVM优化
|____23 微服务社交平台【十次方】·
          |____17 项目完结
          |____16 dockfile
          |____15 SpringCloud之一统天下
          |____14 SpringCloud之初入江湖
          |____13 密码加密与微服务鉴权JWT
          |____12 rabbitmq架构
          |____11 消息中间件RabbitMQ与搜索微 服务
          |____10 文档型数据库MongoDB
          |____09 查询与缓存
          |____08 系统设计与工程搭建
          |____07 吐槽与问答
          |____06 前台 登录与用户中心
          |____05 网站前台 活动与招聘
          |____04 路由与状态管理
          |____03 前端 使用elementUI开发管理后台
          |____02 前端 API文档与模拟数据接口
          |____01 前端环境搭建
          |____十次方资料.zip
|____22 华为云PaaS微服务治理课程(CSE Mesher开发)·
          |____05-Mesher
          |____04-微服务治理
          |____03-项目部署
          |____02-云容器引擎CCE
          |____01-微服务引擎CSE
|____21 容器化进阶K8S·
          |____20.mp4
          |____9.Kubernetes集群搭建Master安装-kube-controller-manager服务.mp4
          |____8.Kubernetes集群搭建Master安装-kube-apiserver服务.mp4
          |____7.Kubernetes集群搭建Master安装-etcd服务.mp4
          |____6.Kubernetes集群搭建Master安装-Docker安装.mp4
          |____5.Kubernetes集群搭建环境准备.mp4
          |____4.Kubernetes基本架构与常用术语.mp4
          |____3.Kubernetes环境搭建常见问题解决.mp4
          |____29.kubernetes核心技术-Service(2).mp4
          |____28.kubernetes核心技术-Service(1).mp4
          |____27.kubernetes核心技术-namespace.mp4
          |____26.kubernetes核心技术-volume.mp4
          |____25.kubernetes核心技术-HorizontalPod Autoscaler.mp4
          |____24.kubernetes核心技术-ReplicaSet与Deployment.mp4
          |____23.kubernetes核心技术-Replication Controller.mp4
          |____22.kubernetes核心技术-Label.mp4
          |____21.kubernetes核心技术-Pod(2).mp4
          |____2.Kubernetes快速入门.mp4
          |____19.Kubernetes集群健康检查与测试(3).mp4
          |____18.Kubernetes集群健康检查与测试(2).mp4
          |____17.Kubernetes集群健康检查与测试(1).mp4
          |____16.Kubernetes集群搭建Node2安装.mp4
          |____15.Kubernetes集群搭建Node安装-启动.mp4
          |____14.Kubernetes集群搭建Node安装-kube-proxy服务.mp4
          |____13.Kubernetes集群搭建Node安装-kubelet服务.mp4
          |____12.Kubernetes集群搭建Node安装-准备工作.mp4
          |____11.Kubernetes集群搭建Master安装-启动.mp4
          |____10.Kubernetes集群搭建Master安装-kube-scheduler服务.mp4
          |____1.Kubernetes介绍.mp4
          |____0.课程介绍.mp4
|____20 Apache ServiceComb课程·
          |____30RPC方式开发ServiceComb应用的测试.mp4
          |____29RPC方式开发ServiceComb-服务消费者.mp4
          |____28RPC方式开发ServiceComb-消费者pom文件.mp4
          |____27RPC方式开发ServiceComb-服务提供者.mp4
          |____26RPC方式开发ServiceComb应用-基本架构.mp4
          |____25ServiceComb的线程通信模型介绍.mp4
          |____24ServiceComb入门回顾.mp4
          |____23Rest编程开发ServiceComb总结.mp4
          |____22Rest编程开发ServiceComb示例的测试.mp4
          |____21Rest编程开发ServiceComb服务的消费者Controller.mp4
          |____20Rest编程开发ServiceComb服务消费者的实现类.mp4
          |____19Rest编程开发ServiceComb服务提供者的测试.mp4
          |____18Rest编程开发ServiceComb服务提供者.mp4
          |____17Rest编程开发ServiceComb-框架搭建.mp4
          |____16ServiceComb开发步骤总结.mp4
          |____15ServiceComb入门程序运行效果.mp4
          |____14ServiceComb入门程序详细分析.mp4
          |____13ServiceComb入门程序配置文件分析.mp4
          |____12ServiceComb快速开发脚手架介绍.mp4
          |____11ServiceComb服务注册中心CSE小结.mp4
          |____10ServiceComb服务注册中心CSE的目录结构分析.mp4
          |____10088634.mp4
          |____10088633.mp4
          |____10088632.mp4
          |____10088631.mp4
          |____10088630.mp4
          |____10088629.mp4
          |____10088628.mp4
          |____10088627.mp4
          |____10088626.mp4
          |____10088625.mp4
          |____10088624.mp4
          |____10088623.mp4
          |____10088622.mp4
          |____10088621.mp4
          |____10088620.mp4
          |____10088619.mp4
          |____10088618.mp4
          |____10088617.mp4
          |____10088616.mp4
          |____10088615.mp4
          |____09ServiceComb的注册中心CSE介绍及原理分析.mp4
          |____08ServiceComb开发环境的准备.mp4
          |____07ServiceComb微服务解决方案介绍.mp4
          |____06ServiceComb设计理念底层模块分析.mp4
          |____05ServiceComb的开放性设计思想.mp4
          |____04ServiceComb与SpringCloud对比.mp4
          |____03ServiceComb官方开发包下载.mp4
          |____02ServiceComb概述.mp4
          |____01ServiceComb课程背景介绍.mp4
|____19 微服务项目【学成在线】·
          |____day20 Devops 项目总结
          |____day19 分布式事务
          |____day18 用户授权
          |____day17 用户认证 Zuul
          |____day16 Spring Security Oauth2
          |____day15 媒资管理系统集成
          |____day14 媒资管理
          |____day13 在线学习 HLS
          |____day12 搜索前端 Nuxt.js
          |____day11 搜索服务
          |____day10 课程发布 ElasticSearch
          |____day09 课程预览 Eureka Feign
          |____day08 课程图片管理 分布式文件系统
          |____day07 课程管理实战
          |____day06 页面发布 课程管理
          |____day05 消息中间件RabbitMQ
          |____day04 页面静态化
          |____day03 CMS页面管理开发
          |____day02 CMS前端开发
          |____day01 搭建环境 CMS服务端开发
          |____学成在线-每日目标-V1.2.xlsx
|____18 .持续集成与容器管理·
          |____26.总结.mp4
          |____25.预警通知设置.mp4
          |____24.新增仪表盘.mp4
          |____23.添加数据源.mp4
          |____22.grafana的安装.mp4
          |____21.cAdvisor.mp4
          |____20.influxDB.mp4
          |____19.负载均衡器.mp4
          |____18.扩容与缩容.mp4
          |____17.微服务部署-2.mp4
          |____16.微服务部署-1.mp4
          |____15.redis部署.mp4
          |____14.mysql与rabbitMQ部署.mp4
          |____13.rancher初始化.mp4
          |____12.Rancher安装.mp4
          |____11.任务的创建与执行.mp4
          |____10.上传代码到git.mp4
          |____09.gogs安装与配置.mp4
          |____08.全局工具配置.mp4
          |____07.安装maven与本地仓库.mp4
          |____06.插件安装.mp4
          |____05.Jenkins安装.mp4
          |____04.持续集成与jenkins.mp4
          |____03.DockerMaven插件-2.mp4
          |____02.DockerMaven插件-1.mp4
          |____01.今日目标.mp4
|____17 Docker容器化·
          |____20.总结.mp4
          |____19.Docker私有仓库镜像上传.mp4
          |____18.Docker私有仓库的搭建与配置.mp4
          |____17.Dockerfile构建jdk1.8镜像.mp4
          |____16.Dockerfile常用命令.mp4
          |____15.迁移与备份.mp4
          |____14.redis部署.mp4
          |____13.nginx部署.mp4
          |____12.tomcat部署.mp4
          |____11.mysql部署.mp4
          |____10.目录挂载查看IP与删除容器.mp4
          |____09.容器停止与启动和目录挂载.mp4
          |____08.创建启动与查看容器.mp4
          |____07.镜像相关命令.mp4
          |____06.docker启动与停止.mp4
          |____05.docker安装.mp4
          |____04.docker组件.mp4
          |____03.容器与虚拟机比较.mp4
          |____02.什么是docker.mp4
          |____01.学习目标.mp4
|____16 网络爬虫(选学)·
          |____09.查询案例
          |____08.ES回顾
          |____07.网页去重
          |____06.案例实现
          |____05.WebMagic
          |____04.爬虫案例
          |____03.Jsoup解析
          |____02.HttpClient
          |____01.爬虫的介绍
|____15 Vue·
          |____04.vue案例
          |____03.生命周期与ajax异步请求
          |____02.vue语法
          |____01.vue快速入门
|____14 Git·
          |____03.Git分支
          |____02.连接远程仓库
          |____01.Git简介及安装使用
|____13 Spring Boot·
          |____05.spring boot 集成
          |____04.spring boot 配置文件
          |____03.spring boot 原理分析
          |____02.spring boot 入门
          |____01.spring boot 介绍
|____12 Spring Data JPA·
          |____13.对象导航查询
          |____12.多表操作-多对多
          |____11.多表操作-一对多
          |____10.动态查询
          |____09.spring data jpa查询
          |____08.执行过程分析
          |____07.入门案例
          |____06.spring data jpa 简介
          |____05.JPQL查询
          |____04.JPA的基本操作
          |____03.主键生成策略
          |____02.JPA的入门案例
          |____01.JAP的引入
|____11 Elasticsearch(选学)·
          |____05.SpringDataElasticSearch
          |____04.Java客户端操作索引库
          |____03.ElasticSearch集群
          |____02.ElasticSearch索引库维护
          |____01.ElasticSearch基本介绍
|____10 Lucene·
          |____04.索引库维护
          |____03.中文分析器
          |____02.lucene入门案例
          |____01.全文检索基本介绍
|____09 微服务电商【黑马乐优商城】·
          |____资料
          |____18 - 支付
          |____17- 订单
          |____16 - 购物车
          |____15 - Redis
          |____14- RabbitMQ
          |____13 - 商品详情页
          |____11- 全文检索
          |____10 - elasticsearch
          |____09 - 商品功能实现
          |____08 - 商品表结构
          |____07 - 品牌管理
          |____06 - nginx和品牌管理
          |____05 - 项目环境搭建
          |____04 - ES6 Veu
          |____03 - SpringCloud
          |____02 - SpringCloud
          |____01 - SpringBoot
          |____leyou-manage-web.zip
|____08 SSM整合案例【企业权限管理系统】·
          |____11.AOP日志
          |____10.权限关联与控制
          |____09.权限控制
          |____08.用户操作
          |____07.订单操作
          |____06.产品操作
          |____05.SSM整合案例的基本介绍
          |____04.AdminLTE的基本介绍
          |____03.TortoiseSVN及IDEA下SVN的使用
          |____02.TortoiseSVN的基本操作
          |____01.SVN的基本介绍
          |____企业权限管理系统.rar
|____07 Maven高级·
          |____02.私服
          |____01.maven分模块构建
|____06 Oracle ·
          |____05.oracle编程
          |____04.oracle对象
          |____03.oracle的查询
          |____02.oracle的基本操作
          |____01.oracle体系结构
|____05 SpringMVC·
          |____07.SSM整合案例
          |____06.异常处理及拦截器
          |____05.文件上传
          |____04.SpringMVC返回值类型及响应数据类型
          |____03.SpringMVC常用注解
          |____02.参数绑定及自定义类型转换
          |____01.SpringMVC概述及入门案例
|____04 Spring·
          |____10.Spring中事务控制
          |____09.JdbcTemplate的基本使用
          |____08.面向切面编程 AOP
          |____07.银行转账案例
          |____06.Spring的新注解
          |____05.基于XML的IOC的案例1
          |____04.Spring的常用注解
          |____03.Spring的 IOC 和 DI
          |____02.程序间耦合
          |____01.Spring框架简介
|____03 Mybatis·
          |____12.Mybatis注解开发
          |____11.Mybatis的缓存
          |____10.JNDI扩展知识
          |____09.Mybatis的多表操作
          |____08.动态SQL
          |____07.Mybatis的连接池及事务
          |____06.使用Mybatis完成DAO层的开发
          |____05.使用Mybatis完成CRUD
          |____04.自定义Mybatis框架基于注解开发
          |____03.自定义Mybatis框架
          |____02.Mybatis入门案例
          |____01.Mybatis课程介绍及环境搭建
|____02 JavaWeb+黑马旅游网·
          |____16-黑马旅游网
          |____15-Maven基础
          |____14-Redis
          |____13-Ajax和JSON
          |____12-Jquery
          |____11-Filter和Listener
          |____10-综合案例(用户信息)
          |____09-JSP,EL和JSTL
          |____08-Cookie和Session
          |____07 -Request和Respons
          |____06-Servlet和HTTP请求协议
          |____05 Tomcat
          |____04 XML
          |____03 BootStrap
          |____02 JavaScript
          |____01 HTML和CSS
|____01 语言基础+高级·
          |____1-3-Java语言高级
          |____1-2 -面向对象和封装
          |____1-1-Java基础语法
|____00 讲义+笔记+资料
          |____主流框架
          |____微服务实战项目-学成在线
          |____流行框架
          |____Java基础
          |____JavaWeb
                                    受益于大数据和物联网技术的蓬勃发展,如今的智能设备越来越多。随之而来的还有海量的数据,而对于这些随时间变化容易产生大量数据的机器,类似influxDB这种时序数据库,非常适合管理。基础设施环境的需求每年都在变化,相关的系统也变得越来越复杂。但是,如果我们不了解基础设施以及它们在我们生活中所发生的变化,那么这些变化将毫无意义。这时候,就到了监控工具和软件用武之地的时候了。它们将给予操作者和...