influxdb 从了解开始

1. 碎碎念

事情是这样的,笔者这周在配置 grafana 的 influxdb 的面板,然后被同事狂问底层是怎么聚合的?

然后我的心里就是各种吐槽「就是 复制+粘贴 配置一下,问我底层原理鬼👻才知道,有种非常抓狂的感觉?」

不过这件事情,过去之后,我就在思考🤔:

如果是刚入职场的我,不知道还是会回答不知道,但是下去之后一定会默默搞清楚的?所以是什么时候开始发生了变化呢?(ps:有那么多时间纠结不如就从思考的时候开始动起来吧。

这篇文章大概介绍了下 influxdb 2.0 的最基本使用方式,毕竟是了解一下。至于底层的数据结构和更多关于 web UI 如何配置显示数据等内容,就留给后面深入了解的时候整理吧。

2. 从使用开始

2.1 如何安装

笔者用的的是 mac ,安装的版本时 2.2.0,所以以下的例子都是 mac 的,其他平台安装可以参考以下两个文档:

  • Install InfluxDB — https://docs.influxdata.com/influxdb/v2.1/install/
  • Install and use InfluxDB CLI — https://docs.influxdata.com/influxdb/v2.1/tools/influx-cli/
2.1.1 InfluxDB Server 安装及使用
brew update && brew install influxdb

用如下命令运行 influxDB server

influxd

注:influxd 的配置文件,可以通过三种方式修改,优先级的先后顺序为,

  1. influxd 的 flags; 2. Environment variables; 3. Configuration file settings

详细的配置文件信息参考— https://docs.influxdata.com/influxdb/v2.0/reference/config-options/

通过 web 端访问运行的 influxDB :

在这里插入图片描述

注: 初次访问是需要按要求输入Username、Password、Confirm Password、Organization Name、Bucket Name,需要记住 Username 和 Password 不然就木有办法登陆了

2.1.2 InfluxDB Cli 安装及使用
brew update && brew install influxdb-cli

注:上述的配置步骤也可以通过 influx 命令行完成,执行 influx setup 然后根据提示输入配置信息。参考文档—https://docs.influxdata.com/influxdb/v2.2/reference/cli/influx/setup/

增加 influx config 使 influx cli 可以连接到本机的 server :

influx config create --active \
  -n config-name \
  -u http://localhost:8086 \
  -t mySuP3rS3cr3tT0keN \
  -o example-org

注:参考文档 https://docs.influxdata.com/influxdb/v2.2/reference/cli/influx/config/create/

用户自己 token 的查找路径:

在这里插入图片描述

3. 关键概念

influxDB中的名词传统数据库中的概念
database数据库
measurement数据库中的表
points表里面的一条数据
time每个数据记录时间,是数据库中的主索引(不存在的时候会自动生成)
fields没有索引的属性
tags有索引的属性
bucket数据都存储在一个存储桶中。一个桶结合了数据库的概念和存储周期,一个桶属于一个组织
bucket schema支持具有明确的 schema-type 的存储桶
organization所有仪表板、任务、存储桶和用户都属于一个组织,可以解决多用户权限问题

以上是主要的关键概念介绍,想了解更多戳这里

注: points 由 time + fields + tags 组成。

4. 写入 vs 读取

4.1 数据的格式 (protocol)

influxDB 中有 tags 和 fields,那么二者在写入时如何区分呢?

答案看这里:

// Syntax
<measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>]

// Example
myMeasurement,tag1=value1,tag2=value2 fieldKey="fieldValue" 1556813561098000000

上述的字段对应关系看下图:

在这里插入图片描述

注:不得不说 influxdb 的官方文档是我看过很清晰的,没有之一。

4.1 写入数据

influxdb 写入数据的方式有很多种,此处以直接使用 cli 工具为例。

在这里插入图片描述

注:更常使用的方式应该是 client libaray。多种写入方式移步—https://docs.influxdata.com/influxdb/v2.2/write-data/

辩证思维,怎么证明自己写入的数据成功了,很简单,查询一下即可:

在这里插入图片描述

4.3 读取数据

既然 influx cli 能够写入数据,那么也一定能够读取数据,所以试试?

在这里插入图片描述

注:Flux 是 influxDB 的功能性数据脚本语言,设计用于查询、分析和处理数据。更多使用方式见—https://docs.influxdata.com/influxdb/v2.2/query-data/

5. 碎碎念

中午吃饭刷手机的时候,看到一个很喜欢的博主更新,点进去,被其中的一段话触动到了。所以是喜欢的东西才会有各种好奇的想法吧。虽然最近隔离在家心情偶尔会变的不好,但还是要动起来呀。

  • 只活一次的人生,要比谁都炙热。

  • 抉择本身没有对和错,每一个抉择,都必然会产生一个结果。我们要明白的是,在做出抉择后将要面对的结果。

  • 不管全世界所有人怎么说,我认为自己的感受才是最正确的,无论别人怎么看,我绝不打乱自己的节奏,喜欢的事自然可以坚持,不喜欢怎么也长久不了。

    注:博主的话摘自村上春树的《当我跑步时我谈些什么》

6. 参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值