相关推荐recommended
(三)InfluxDB入门(借助Web UI)
作者:mmseoamin日期:2023-12-02

以下内容来自 尚硅谷,写这一系列的文章,主要是为了方便后续自己的查看,不用带着个PDF找来找去的,太麻烦!

第 3 章 InfluxDB入门(借助Web UI)

借助Web UI,我们可以更好地理解InfluxDB的功能划分。接下来,我们就从Web UI入手,先了解InfluxDB的基本功能。

3.1 数据源相关

3.1.1 Load Data(加载数据)

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第1张

如图所示,页面上左侧的向上箭头,对应着InfluxDB Web UI的Load Data(加载数据)页面。

3.1.1.1 上传数据文件

在Web UI上,你可以用文件的方式上传数据,前提是文件中的数据符合InfluxDB支持的类型,包括CSV、带Flux注释的CSV和InfluxDB行协议。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第2张

点击其中任意一个按钮,将进入数据的上传页面,页面中包含了详细的说明文档,包含你的数据应该符合什么格式,你要把数据放到哪个存储桶里,还包括用命令行来上传数据的命令模板。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第3张

3.1.1.2 写入InfluxDB的代码模板

InfluxDB提供了各种编程语言的连接库,你甚至可以在前端嵌入向InfluxDB写入数据的代码,因为InfluxDB向外提供了一套功能完整的REST API。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第4张

点击任何一个语言的LOGO,你会看到使用这门语言,将数据写入到InfluxDB的代码模板。建议从这里拷贝初始化客户端的代码

配置Telegraf的输入插件

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第5张

Telegraf是一个插件化的数据采集组件,在这里你可以找一下没有对应你的目标数据源的插件,点击它的logo。可以看到这个插件配置的写法,但是关于这方面的内容,还是建议参考Telegraf的官方文档,那个更细更全一些。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第6张

3.1.2 管理存储桶

你可以将InfluxDB中的bucket理解为普通关系型数据库中的database。在Load data页面上,点击上访的BUCKETS选项卡,就可以进入bucket管理页面了。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第7张

3.1.2.1 创建Bucket

点击右上角的CREATE BUCKET按钮,会有一个创建存储桶的弹窗,这里你可以给bucket指定一个名称和数据的过期时间。比如,你设置过期时间为 6 小时,那InfluxDB就会自动把这个存储桶中距离当前时间超过 6 小时的数据删除。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第8张

3.1.2.2 调整Bucket的设置

存储桶的过期时间的名称都是可以修改的,点击任一Bucket信息卡的SETTINGS按钮会弹出一个调整设置的会话框。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第9张

重命名是 InfluxDB不建议的操作,因为大量的代码和InfluxDB定时任务都需要通过指定Bucket的名称来进行连接,贸然更改Bucket的名称可能导致这些程序无法正常工作。

3.1.2.3 设置Label

在每个Bucket信息卡的左下方都有一个 Add a label按钮,点击这个按钮,你可以为Bucket添加一个标签。不过这个功能一般很少用

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第10张

3.1.2.4 向Bucket添加数据

每个存储桶信息卡的右边都有一个添加数据按钮,点击这个按钮可以快速导入一些数据。这里还可以创建一个抓取任务(被抓取的数据在格式上必须符合prometheus数据格式)

3.1.3 示例 1 :创建Bucket并从文件导入数据

3.1.3.1 创建Bucket

1、将鼠标悬停在左侧的按钮上,点击 Buckets,进入Bucketde的管理页面。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第11张

2、点击 CREATE BUCKET按钮,指定一个名称,这里我们将其设为example01,删除策略保留默认的NEVER,表示永远不会删除数据

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第12张

3、点击CREATE按钮,可以看到我们的Buckets已经创建成功了。

3.1.3.2 进入上传数据引导页面

在Load Data页面,点击Line Prtocol进入InfluxDB行协议格式数据的上传引导页面。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第13张

3.1.3.3 录入数据

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第14张

1、点击选择存储桶

2、选择ENTER MANUALLY,手动输入数据

3、将数据粘到输入框

4、在右侧指明时间精度,包括纳秒、微秒、毫秒和秒

数据如下:

people,name=tony age=12
people,name=xiaohong age=13
people,name=xiaobai age=14
people,name=xiaohei age=15
people,name=xiaohua age=12

当前我们写的数据格式叫做InfluxDB 行协议。最后点击WRITE DATA,将数据写到InfluxDB。如果出现Data Written Successfully,那么说明数据写入成功。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第15张

3.1.3.4 小结

InfluxDB是一个无模式的数据库,也就是除了在输入数据之前需要显示创建存储桶(数据库),你不需要手动创建 measurement或者指定各个field都是什么类型,你甚至可以前后在同一个measurement下插入filed不同的数据。

3.1.4 管理Telegraf数据源

点击Load Data页面的TELEGRAF选项卡,可以快速生成一些Telegraf配置文件。并向外暴露一个端口,允许telegraf远程使用InfluxDB中生成的配置。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第16张

3.1.4.1 什么是Telegraf

Telegraf是InfluxDB生态中的一个数据采集组件,它可以讲各种时序数据自动采集到InfluxDB。现在,Telegraf不仅仅是 InfluxDB的数据采集组件了,很多时序数据库都支持与Telegraf进行协作,不少类似的时序数据收集组件选择在Telegraf的基础上二次开发。

3.1.4.2 创建Telegraf配置文件

InfluxDB的Web UI 为我们提供了几种最常用的telegraf配置模板,包括监控主机指标、云原生容器状态指标,nginx和redis等。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第17张

通过页面,你可以勾选几种监控目标,然后一步步操作去创建一个 Telegraf的配置文出来。

3.1.4.3 管理Telegraf配置文件接口

完成Telegraf的配置后,页面上会多出一个关于telegraf实例的信息卡。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第18张

如图所示:点击蓝色的Setup Instructions。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第19张

会弹出一个对话框,引导你完成telegraf的配置。可以看到第三步的命令。

telegraf --config http://localhost:8086/api/v2/telegrafs/09dc7d49c444f

这个命令中有一个 URL,其实意思也就是 InluxDB向外提供了一个API,通过这个API你可以访问到刚才生成的配置文件。

3.1.4.4 修改Telegraf配置

已经生成的配置文件如何去修改呢?你可以点击卡片的标题。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第20张

这个时候,会弹出一个配置文件的编辑页面,不过这个时候没有交互式的选项了,你需要自己直接面对配置文件。

(三)InfluxDB入门(借助Web UI),在这里插入图片描述,第21张

修改完配置文件后,记得点击右方的SAVE CHANGES保存修改。

3.1.5 示例 2 :使用Telegraf将数据收集到InfluxDB

在本示例中,我们会使用Telegraf这个工具将一台机器上的CPU使用情况转变成时序数据,写到我们的InfluxDB中。

3.1.5.1 下载Telegraf

可以使用下面的命令下载telegraf

wget 1.23.4_linux_amd64.tar.gzhttps://dl.influxdata.com/telegraf/releases/telegraf-1.23.4_linux_amd64.tar.gz
3.1.5.2 解压压缩包

将telegraf解压到目标路径。

tar -zxvf telegraf-1.23.4_linux_amd64.tar.gz -C /opt/module/
3.1.5.3 创建一个新的Bucket

回到Web UI界面

  • 点击左侧工具栏中的Buckets按钮
  • 点击右侧蓝色的CREATE BUCKET按钮

    (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第22张

    • 创建一个名为example02的buckets,因为是演示,所以这里将过期时间设为 1 小时。设置好后点击CREATE

      (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第23张

      • 如果出现相应的example02的卡片,说明存储桶已经创建成功。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第24张

        3.1.5.4 在Web UI上创建telegraf配置文件

        1、在左侧的工具栏上点击Telegraf按钮。

        2、点击右侧蓝色的CREATE CONFIGURATION创建telegraf配置文件

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第25张

        3、在Bucket栏选择example02,表示让telegraf将抓取到的数据写到example02存储桶中,下面的选项卡勾选System。点击CONTINUE。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第26张

        4、点击 CONTINUE按钮后,会进入一个配置插件的页面。你可以自己决定是否启用这些插件。这里需要给生成的Telegraf配置起一个名字,方便管理。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第27张

        5、点击CREATE AND VERIFY按钮,这个时候其实Telegraf的配置就已经创建好了,你会进入一个Telegraf的配置引导界面,如图所示:

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第28张

        3.1.5.5 声明Telegraf环境变量

        按照Web UI上的建议,首先,你要在部署 Telegraf的主机上声明一个环境变量叫 INFLUX_TOKEN,它是用来赋予Telegraf向 InfluxDB写数据权限的。这里我们就不配环境变量了,请在单一的shell会话下完成后面的操作。

        所以到你下载好Telegraf的机器上,执行下面的命令。(注意!TOKEN是随机生成的,请按照自己的情况修改命令)

        export INFLUX_TOKEN=v4TsUzZWtqgot18kt_adS1r-7PTsMIQkbnhEQ7oqLCP2TQ5Q-PcUP6RMyTHLy4IryP1_2rIamNarsNqDc_S_eA==
        
        3.1.5.6 启动Telegraf

        首先cd到我们解压的telegraf目录。

        cd /opt/module/telegraf-1.23.4
        

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第29张

        telegraf的可执行文件在 ./usr/bin目录下。cd过去。

        cd ./usr/bin
        

        从 Web UI中复制运行 telegraf 的命令,修改 host然后执行,当前的 telegraf 和 InfluxDB 在同一台机器上,所以可以使用localhost。最终命令如下。

        telegraf --config  http://localhost:8086/api/v2/telegrafs/09dcf4afcfd90000telegraf 
        

        运行效果如下图所示。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第30张

        3.1.5.7 验证数据采集结果

        1、点击左侧 按钮进入Data Explorer页面。

        2、在左下角第一个选项卡选择example02,表示要从 example02这个存储桶中查数据。

        3、点击好第一个选项卡后,会自动弹出第二个选项卡,勾选cpu。

        4、点击右上方的SUBMIT按钮。

        5、如果出现折线图,说明我们成功地使用Telegraf把数据导进来了。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第31张

        3.1.5.8 编写启停脚本

        后面我们很多时候都要使用telegraf抓取的主机监控数据来进行查询演示。为了方便启停,我们编写一个shell脚本来管理telegraf任务。

        1、首先cd到 当前用户家的bin 路径下,如果~路径下没有bin,就创建bin这个目录。通常 ~/bin 是PATH环境变量包含的一个目录。

        cd ~
        mkdir bin
        cd ~/bin
        

        2、到~/bin路径下创建一个文件 host_tel.sh

        vim host_tel.sh
        

        3、键入如下内容

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第32张

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第33张

        4、最后给这个脚本加上一个执行权限,你可以执行下面的代码。

        chmod 755 ./host_tel.sh
        
        3.1.5.9 小结

        最终需要注意,InfluxDB只是帮你管理了一下Telegraf的配置文件。InfluxDB并不能管理Telegraf的启停和运行状态。如何运行Telegraf还是需要开发者手动或者编写脚本来维护的。

        3.1.6 管理抓取任务

        3.1.6.1 什么是抓取任务

        抓取任务就是你给定一个URL,InfluxDB每隔一段时间去访问这个链接,把访问到的数据入库。在InfluxDB 1.x的时候,类似的任务只能由Telegraf来实现。在InfluxDB 2.x中,内置了抓取功能(但是定制性上不如Telegraf,比如轮询间隔只能是 10 秒)

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第34张

        另外,目标 URL 暴露出来的数据格式必须得是Prometheus数据格式。关于Prometheus数据格式的详细介绍,大家可以参考附录3

        3.1.6.2 InfluxDB自身暴露的监控接口

        你可以访问http://localhost:8086/metrics 来查看InfluxDB暴露出来的性能数据。这里面有,InfluxDB的GC情况

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第35张

        以及各个API的使用情况,如图所示,说的是各个API被谁请求过多少次。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第36张

        3.1.7 示例 3 :让InfluxDB主动拉取数据

        3.1.7.1 创建一个存储桶

        如图所示,我们创建了一个名为example03的存储桶。数据的过期时间设为 1 小时。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第37张

        3.1.7.2 创建抓取任务

        1、进入抓取任务的管理页面

        2、点击CREATE SCRAPER按钮,创建抓取任务。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第38张

        3、在对话框上,给抓取任务起一个名字,此处命名为example03_scraper

        4、右方的下拉框上,选择我们刚才创建的存储桶,example03。

        5、最下方设置一下目标路径,最后点击CREATE

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第39张

        6、如果页面上出现新的卡片,说明配置成功。接下来去看一下数据有没有进来。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第40张

        3.1.7.3 验证抓取结果

        1、点击左侧的按钮,打开Data Explorer

        2、在左下角第一个卡片选择要从哪个存储桶抽取数据,本例对应的是example03

        3、第一个卡片选择好后,会自动弹出第二个卡片,你可以选择任意一个指标名称。

        4、点击右侧的SUBMIT按钮,提交查询。

        5、如果折线图成功加载,说明有数据了,抓取成功!

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第41张

        3.1.7.4 补充

        1、 InfluxDB的监控数据默认会被抓取到初始化的存储桶中抓取任务管理面板上,我们发现自己还没创建什么东西呢,就有一个抓取任务。

        (三)InfluxDB入门(借助Web UI), 	,第42张

        2、 这个抓取任务是InfluxDB自动为我们创建的,它会把我们刚才访问/metrics拿到的数据写到 test_init 这个存储桶中去,而test_init 这个存储桶是我们首次登录的时候为了初始化而创建的。所以大家要知道 test_init 中的一些监控数据是怎么产生的。

        3、InfluxDB的抓取任务都是 10 秒一次,无法自定义设置

        至少截至目前( 2 .4版本),用户无法去自定义抓取间隔。InfluxDB会每隔 10 秒一次去抓取数据,这一点需要注意。

        3.1.8 管理API Token

        点击左侧的API Tokens按钮,进入API Token的管理页面。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第43张

        3.1.8.1 API Token是干什么用的

        1、简单来说,influxdb会向外暴露一套HTTP API。我们后面要学的命令行工具什么的,其实都是封装的对 influxdb 的http请求。所以,在InfluxDB中,对权限的管理主要就体现在API的Tokens上。客户端会将token放到http的请求头上,influxdb 服务端就根据客户端发来的请求头部的token,来判断你能不能对某个存储桶读写,能不能删除存储桶,创建仪表盘等。

        3.1.8.2 查看API Token权限

        截至目前,我们还没有自己手动创建过API Token。但是可以看到页面上已经有一些Token了,这些Token是由我们之前示例里面的操作自动生成的。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第44张

        3.1.8.3 了解tony’s Token

        1、现在,我们围绕着InfluxDB中已有的Token来学习相关的知识,我们的InfluxDB上现在只有初始化时创建的tony账户,在Token列表中,我们可以看到有一个名为tony’s Token 的token。

        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第45张

        2、 修改token的名称

        • 点击token右边的 符号,可以修改token名称。
        • 没有客户端会用token的名称来调用token,所以修改token名称不会影响已经部署的应用。
        • InfluxDB从未要求token的名称必须全局唯一,所以名称重复也是可以的。如图:

          (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第46张

          3、 token可以临时关停、也可以删除正如你说看到,token卡片下面的Active按钮是一个开关,可以在启用和停用之间进行

          切换。

          同时,你也可以删除token,但是这可能对你已经部署的应用产生不可挽回的影响。

          (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第47张

          4、 查看Token权限点击token的名称,可以看到这个token具体有哪些权限。这里我们比较两个token,可以看到tony’ Token的权限很高。

          (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第48张

          5、下面这个Token是我们前面示例,生成Telegraf配置的时候自动生成的token。

          (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第49张

          6、点开看一下它的权限。可以看到这个token的权限就小得多了,它只能向一个存储桶里写数据,查的权限都没有。

          (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第50张

          3.1.8.4 创建API Token

          1、页面的右方有一个 GENERATE API TOKEN。点一下会出来一个下拉菜单,这其实是Web UI上的权限模板

          (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第51张

          2、 在Web UI上,有两种类型的模板让你可以快速创建token。

          • Read/Write API Token 仅读写存储桶的Token,创建Token时还可以限定这个Token能操作哪些存储桶。

            (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第52张

          • All Access API Token 生成带所有权限的Token

            注意!InfluxDB的Token是可以进行更细的管理的,Web UI上给的只是生成Token的模板,准备了用户的常用需求,但不代表它的全部功能。

            (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第53张

            3.2 查询工具

            1、如果继续后面内容的学习,最好先掌握附录 4 :时序数据库中的数据模型 中的知识。

            3.2.1 前言

            1、关于InfluxDB的查询,需要用户掌握一门叫FLUX的语言。本节暂时不讲解FLUX语言的知识,而是先了解InfluxDB重要的两个开发工具——Data Explorer和Notebook。

            3.2.2 了解Data Explorer

            3.2.2.1 什么是Data Explorer

            1、explorer,探险家、探索者的意思。所以正如其字面意思,你可以使用Data Explorer探索数据,理解数据。说白了,就是你可以尝试性地写写FLUX查询语言(InfluxDB独创的一门独立查询语言,课程后面会讲解),看一下数据的效果。开发过程中,你可以将它作为一个FLUX语言的IDE。但是,目前我们不会向大家讲解FLUX语言。后面会这门语言起一个专门的章节。

            3.2.2.2 认识Data Explorer的页面

            1、点击左边的 图标,进入Data Explorer。

            2、我们可以将Data Explorer的界面简单分为两个区域,上半部分为数据预览区,下半部分为查询编辑区。

            (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第54张

            3.2.2.3 查询编辑区

            1、查询编辑区为你提供了两种查询工具,一个是查询构造器,一个是FLUX脚本编辑器。

            • 查询构造器

              你一进入Data Explorer页面,默认会打开查询构造器。使用查询构造器,你可以通过点按的方式完成查询。它背后的原理其实是根据你的设置,自动生成一条 FLUX语句,提交给数据库完成查询。能够出现查询构造器这种东西,说明时序数据的查询之间遵循着某种规律。不同业务之间的查询步骤可能高度相似。

              如图,这是查询构造器的极简介绍。在后面的示例中,我们会详细讲解它的使用

              (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第55张

              • FLUX脚本编辑器

                你可以手动将查询构造器切换为FLUX脚本编辑器(点击 script editor 按钮即可)。然后愉快地编写FLUX脚本,实现各种奇葩查询。编辑器十分友好,还带自动提示和函数文档。

                (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第56张

                3.2.2.4 数据预览区

                1、数据预览区可以将你的数据展示出来。下图是一个效果图。

                (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第57张

                2、默认情况下,数据预览区会将你的数据展示为一个折线图。不过除此之外,你还可以让数据展示为散点图、饼图或者查看原始数据等等。

                3.2.2.5 其他功能

                1、除了查询和展示数据的功能外。Data Explorer还有一些拓展功能

                • 将数据导出为CSV 在执行查询之后,DataExplorer允许你快速地将数据导出为一个CSV文件。

                  (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第58张

                • 将当前查询和可视化效果保存为仪表盘的一个单元

                  你可以将当前的查询逻辑和图形展示保存为某个仪表盘的一部分。这个功能需要在查询逻辑已经实现的前提下,点击右上角的SAVE AS触达。

                  (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第59张

                  • 创建定时任务

                    Data Explorer中的查询逻辑可以保存为一个定时任务,也就是 TASK。这里提前说一下InfluxDB中的TASK是什么。TASK其实是一个定时执行的FLUX语言写的脚本。因为FLUX是一个脚本语言,所以它其实有一定的IO能力。可以使用http与外面的系统进行通信,还可以将计算完的数据回写给InfluxDB。所以通常TASK有两种使用场景。

                    ( 1 )数据检查与报警。对查询后的结果进行一下条件判断,如果不合规,就使用http向外通知报警。

                    ( 2 )聚合操作。在InfluxDB里开窗完成聚合计算,计算后的数据再写回到InfluxDB,这样下游 BI(数据看板)可以直接去查询聚合后的数据了,而不是每次都把数据从InfluxDB里拉出来重新计算。这样可以减少IO,不过会增加InfluxDB的压力。生产环境

                    下需要根据实际情况进行取舍。

                    (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第60张

                    • 定义全局变量

                      在DataExplorer里,你可以声明一些全局变量。全局变量的类型可以是Map(键值对)、CSV和FLUX脚本。这样,将来你可以直接引用这些变量,比如你的数据里有地区编码。你就可以将编码到地区名称的映射保存为一个全局Map,供以后每次查询时使用。

                      (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第61张

                      3.2.3 示例 4 :在Data Explorer使用查询构造器进行查询和可视化

                      3.2.3.1 打开Data Explorer

                      1、点击左侧的 按钮,进入Data Explorer页面。

                      (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第62张

                      3.2.3.2 设置查询条件

                      1、我们现在要查询的是 test_init 存储桶下的 go_goroutines 测量,这个测量反应的是我们InfluxDB进程中的goroutines(轻量级线程)数量。首先,在左下角的查询构造器的FROM选项卡,选择test_init存储桶。接着会弹出一个 Filter选项卡,默认情况下这里是选择_measurement,此处我们选择 go_goroutines。

                      (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第63张

                      3.2.3.3 注意查询时间范围

                      1、右上角有一个带时钟符号的下拉菜单,这个菜单可以帮你纵向选择要查询数据的时间范围,通常默认是 1 h。如下图所示:

                      (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第64张

                      3.2.3.4 注意右侧的窗口聚合选项

                      1、 在查询构造器的最右边,有一个开窗聚合选项卡。使用查询构造器进行查询,就必须使用开窗聚合。默认情况下,DataExplorer会根据你设置的查询时间范围,自动调整窗口大小,此处查询范围 1 h对应窗口大小 10 s。同时,聚合方式默认是平均值。

                      (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第65张

                      3.2.3.5 提交查询

                      1、点击右侧的SUBMIT按钮可以立刻提交查询。之后,数据展示区会出现相应的折线图。如下图所示:

                      (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第66张

                      2 、点击View Raw Data,可以看到原始数据。

                      (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第67张

                      3.2.3.6 查询原理

                      1、我们使用查询构造器进行查询,其实是 Web UI根据我们指定的查询条件生成了一套FLUX查询脚本。点击SCRIPT EDITOR按钮,可以看到查询构造器生成的FLUX脚本。

                      (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第68张

                      3.2.3.7 可视化原理

                      1、其实默认情况下的可视化,是依据返回数据中的_value来展示的,但是有些时候,你想查询的数据可能字段名不会被判别为_value。它会安静地躺在原始数据中。

                      (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第69张

                      3.2.4 了解Notebook

                      3.2.4.1 什么是Notebook

                      1、Notebook是InfluxDB2.x推出的功能,交互上模仿了Jupyter NoteBook。它可以用于开发、文档编写、运行代码和展示结果。

                      你可以将InfluxDB笔记本视为按照顺序处理数据的集合。每个步骤都由一个“单元格”表示。一个单元格可以执行查询、可视化、处理或将数据写入存储桶等操作。Notebook可以帮你完成下述操作

                      • 执行FLUX代码、可视化数据和添加注释性的片段
                      • 创建报警或者计划任务
                      • 对数据进行降采样或者清洗
                      • 生成要和团队分享的Runbooks
                      • 将数据回写到存储桶

                        2、Notebook和DataExplorer相比,主要是交互风格上的不同。DataExplorer倾向于一锤子买卖,而Notebook可以将数据展示拆分为一个又一个具体的步骤。另外,NoteBook可以用来开发告警任务DataExplorer则不能。

                        3.2.4.2 进入Notebook的导航界面

                        1、点击左侧的 按钮,即可进入Notebook的导航页面。

                        (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第70张

                        2、导航页面分两个部分:

                        • 上面是创建引导,除了创建一个空白的Notebook,InfluxDB还为你提供了 3 个模板。分别是Set an Alert(设置一个报警)、Schedule a Task (调度一个任务)、write a Flux Script(写一个Flux脚本)。

                          -下面是Notebook列表,过去你创建过的NoteBook再这里都会展示出来。卡片上还有这个 Notebook对应的创建时间和修改时间。通过卡片你可以对一个Notebook重命名,还可以将它复制和删除。

                          (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第71张

                          3.2.4.3 创建一个空白的notebook

                          1、想要继续后面的步骤,我们必须先创建一个Notebook。如下图所示,在页面上方点击New Notebook按钮即可。

                          (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第72张

                          2、现在,你看到的就是Notebook的操作页面了。

                          (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第73张

                          3.2.4.4 NoteBook工作流

                          1、目前你看到的页面应当是如下图所示的样子。

                          (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第74张

                          2、我们在页面中看到的一个又一个卡片,在NoteBook中叫做Cell。一个NoteBook工作流就是多个Cell按照先后顺序组合起来的执行流程。这些Cell中间随时可以插入别的Cell,而且Cell和Cell还可以调换顺序。按照Cell功能,Cell可以按照下面的方式分类。

                          (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第75张

                          • 数据源相关的Cell
                            • 查询构造器
                            • 直接编写FLUX脚本
                            • 可视化相关的Cell
                              • 将数据展示为一个Table
                              • 将数据展示为一张图
                              • 添加笔记。
                              • 行为Cell
                                • 进行报警
                                • 定时任务设定
                                  3.2.4.5 工作流范式

                                  1、在NoteBook里编写工作流通常是有套路可循的。

                                  (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第76张

                                  2、通常一个notebook工作流以查询数据开始,后面的Cell跟上把数据展示出来,当数据需要进一步修改的时候,可以再加一个FLUX脚本 cell,notebook为我们留了一个接口,通过这种方式,后面的Flux cell可以将前面的数据作为数据源进行查询。

                                  3、最终,notebook工作流可以以任务设置或者报警操作作为整个工作流的终点,当然这不是强制要求。

                                  3.2.4.6 NoteBook控件

                                  1、在notebook上存在下述几种控件

                                  • 时区转换

                                    右上角有一个Local按钮,通过这个按钮,你可以选择将日期时间显示为系统所设时区还是UTC时间。

                                    (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第77张

                                    • 仅显示可视化

                                      点击Presentation按钮,可以选择是否仅显示数据展示的cell。如果开启这个选项,那么查询构造器和FLUX脚本的Cell就会被折叠。

                                      (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第78张

                                      • 删除按钮

                                        点击确定后,可以删除整个notebook。

                                        • 复制按钮

                                          右上角的复制按钮可以立刻为当前NoteBook创建一个副本。

                                          • 运行按钮

                                            RUN按钮可以快速地执行Notebook中的查询操作并重新渲染其中的可视化Cell。

                                            3.2.5 示例 5 :使用NoteBook查询和可视化数据

                                            3.2.5.1 使用查询构造器记性查询

                                            1、默认情况下,你创建的空白NoteBook,自带 3 个cell。

                                            (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第79张

                                            2、第一个cell,默认是一个查询构造器,相对于DataExplorer来说,notebook的查询构造器不同的地方在于它没有开窗聚合操作。此处,同样还是查询test_init中的go_goroutines测量。

                                            (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第80张

                                            3.2.5.2 提交查询

                                            1、点击RUN按钮。

                                            (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第81张

                                            2、可以看到下面的原始数据和折线图都出现了

                                            (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第82张

                                            3.2.5.3 添加说明cell

                                            1、notebook允许用户在工作流中加入说明性的cell。我们选择在最前面加一个说明性cell。首先,点击左侧的紫色+号。

                                            (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第83张

                                            2、点击NOTE 按钮。可以看到,我们已经创建了一个说明 cell。这里面还支持 MarkDown语法

                                            (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第84张

                                            3、现在,我们随便写点东西

                                            (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第85张

                                            4、点击右上右上角的PREVIEW按钮,markdown就会被渲染展示。

                                            (三)InfluxDB入门(借助Web UI),在这里插入图片描述,第86张