Influxdb基础知识详解

InfluxDB是一款开源时序数据库,专为处理和分析时序数据设计,尤其适合DevOps监控、应用程序指标和物联网数据。本文介绍了InfluxDB的基本操作,包括数据库、HTTP API写入、数据保留策略以及连续查询,还涵盖了系列(series)概念和Web管理界面的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计和实时分析变得十分方便,适合用于包括DevOps监控应用程序指标物联网传感器数据和实时分析的后端存储

1. 简介:

Influxdb是一个开源分布式时序、事件和指标数据库。使用Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。本文主要介绍在Docker环境下Influxdb的使用。

InfluxDB有三大特性:

  1. Time Series (时间序列):你可以使用与时间有关的相关函数(如最大,最小,求和等)
  2. Metrics(度量):你可以实时对大量数据进行计算
  3. Eevents(事件):它支持任意的事件数据

特点

  • 为时间序列数据专门编写的自定义高性能数据存储。 TSM引擎具有高性能的写入和数据压缩
  • Golang编写,没有其它的依赖
  • 提供简单、高性能的写入、查询 http api,Native HTTP API, 内置http支持,使用http读写
  • 插件支持其它数据写入协议,例如 graphite、collectd、OpenTSDB
  • 支持类sql查询语句
  • tags可以索引序列化,提供快速有效的查询
  • Retention policies自动处理过期数据
  • Continuous queries自动聚合,提高查询效率
  • schemaless(无结构),可以是任意数量的列
  • Scalable可拓展
  • min, max, sum, count, mean,median 一系列函数,方便统计
  • Built-in Explorer 自带管理工具

2.Influxdb相关名词

  • database:数据库;
  • measurement:数据库中的表;
  • points:表里面的一行数据。

influxDB中独有的一些概念:Point由时间戳(time)、数据(field)和标签(tags)组成

  • time:每条数据记录的时间,也是数据库自动生成的主索引;
  • fields:各种记录的值;
  • tags:各种有索引的属性。

还有一个重要的名词:series
所有在数据库中的数据,都需要通过图表来表示,series表示这个表里面的所有的数据可以在图标上画成几条线(注:线条的个数由tags排列组合计算出来)

举个简单的小栗子:
有如下数据:

error_time 它的series为:

error_time_series

influxdb基本操作

  • 数据库与表的操作
    可以直接在web管理页面做操作,当然也可以命令行。

    #创建数据库
    create database "db_name"
    #显示所有的数据库
    show databases
    #删除数据库
    drop database "db_name"
    #使用数据库
    use db_name
    #显示该数据库中所有的表
    show measurements
    #创建表,直接在插入数据的时候指定表名
    insert test,host=127.0.0.1,monitor_name=test count=1
    #删除表
    drop measurement "measurement_name"

  • 向数据库中插入数据。

    • 通过命令行
      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'

    读者看到这里可能会观察到插入的数据的格式貌似比较奇怪,这是因为influxDB存储数据采用的是Line Protocol格式。那么何谓Line Protoco格式?

    Line Protocol格式:写入数据库的Point的固定格式。
    在上面的两种插入数据的方法中都有这样的一部分:

    test,host=127.0.0.1,monitor_name=test count=1

    其中:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值