influxDB 2.0安装及使用说明

influxDB 2.0安装及使用说明influxdb2 0 使用指南

目前influxdb2.0还处于beta阶段,网上的相关资料较少,根据自己的使用过程,特别整理此说明文档。

更多内容分享,欢迎关注公众号:Go开发笔记

一、安装

我们根据官方文档开始:https://v2.docs.influxdata.com/v2.0/get-started/

1.下载

influxDB下载页
打开官方文档选则平台,我这里是mac,点击下载即可。

2.解压

3.设置环境变量(可选)

sudo cp influxdb_2.0.0-beta.5_darwin_amd64/{influx,influxd} /usr/local/bin/

如果之前设置了1.x的路径,由于2.0的可执行文件与1.x一致,此时可以通过替换或重命名文件实现。

Both InfluxDB 1.x and 2.x include influx and influxd binaries. If InfluxDB 1.x binaries are already in your $PATH, run the 2.0 binaries in place or rename them before putting them in your $PATH. If you rename the binaries, all references to influx and influxd in this documentation refer to your renamed binaries.

二、启动

1.启动命令

influxd 

注意:macOS Catalina的版本可能需要处理安全问题,运行命令后,系统偏好设置-安全性与隐私-(左下角)允许运行

2.初次使用设置

有以下几种方式:

(1)使用UI界面设置

  • 访问http://localhost:8086
  • 点击Get Started
  • 按要求输入Username、Password、Confirm Password、Organization Name、Bucket Name
  • 点击Continue

(2)使用CLI命令设置

  • influx setup
  • 按要求依次输入primary username、password、Confirm Password、Organization Name、Bucket Name、retention period

(3)使用CLI命令快速设置

此方法在github的readme中提到。

influx setup –username marty –password F1uxKapacit0r85 –org InfluxData –bucket telegraf –retention 168 –token where-were-going-we-dont-need-roads –force

3.默认启动端口

influxDB 2.0测试版默认使用9999端口,注意:正式版仍使用8086端口。通过此端口,我们可以使用其http接口服务。influxDB 1.x默认使用8086端口。

三、使用

官网教程并不完善,需要结合其github项目的readme来使用。

1.influx部分语法说明

特别注意:influxDB 2.0版本相对1.x版本改动较大,尤其是语法方面的改动,2.0版本的语法使用的是JavaScript,1.x使用的是sql

Flux design principles
Flux is designed to be usable, readable, flexible, composable, testable, contributable, and shareable.
Its syntax is largely inspired by 2018’s most popular scripting language, Javascript, and takes a functional approach to data exploration and processing.




示例如下:

from(bucket:"example-bucket") |> range(start:-1h) |> filter(fn:(r) => r._measurement == "cpu" and r.cpu == "cpu-total" ) |> aggregateWindow(every: 1m, fn: mean) 

(1)from 指定数据源bucket

from(bucket:“example-bucket”)

(2) |> 管道连接符

将数据从数据源管道传输到指定地方,如range()

(3)range 指定起始时间段

range有两个参数start,stop,stop不设置默认为当前。range可以是相对的(使用负持续时间)或绝对(使用时间段)。

// Relative time range with start only. Stop defaults to now. from(bucket:"example-bucket") |> range(start: -1h) // Relative time range with start and stop from(bucket:"example-bucket") |> range(start: -1h, stop: -10m) // Absolute time range with start and stop from(bucket:"example-bucket") |> range(start: 2020-03-02T01:00:00Z) 

(4)filter 过滤

// Pattern (r) => (r.objectProperty comparisonOperator comparisonExpression) 

示例如下:

// Example with single filter (r) => (r._measurement == "cpu") // Example with multiple filters (r) => (r._measurement == "cpu") and (r._field != "usage_system" ) 

(5)基于以上常用语法示例

一个完整的查询示例如下:

from(bucket:"example-bucket") |> range(start: -15m) |> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_system" and r.cpu == "cpu-total" ) 

表示:查询example-bucket最近15分钟cpu相关数据。

(6)yield

flux的yield()函数作为查询结果输出过滤的tables。

from(bucket:"example-bucket") |> range(start: -15m) |> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_system" and r.cpu == "cpu-total" ) |> yield() 

为了输出和可视化数据,Flux在每个脚本的末尾自动添加一个yield()函数。只有在同一个流量查询中包含多个查询时,才需要显式调用yield()。每一组返回的数据都需要使用yield()函数来命名。

2.influx命令

1.authentication token

InfluxDB使用authentication tokens来确保用户和数据间的安全交互。

(1)生成token

在UI界面设置:

  • 登录UI界面后,点击侧边栏Load Data
  • 点击Tokens,点击Generate,选择token类型
  • 添加描述,点击Save即可

CLI命令设置:

# Syntax influx auth create -o 
  
    [permission-flags] # Example influx auth create -o my-org --read-buckets 03a2bbf46309a000 03ace3a87c \ --read-dashboards \ --read-tasks \ --read-telegrafs \ --read-user 
  

(2)查看token

将token保存至文件 ~/.influxdbv2/credentials中,后续influx的命令默认读取此token。

当然,也可以通过cli设置token。

注意:正式版中发生了调整,token需要存储在~/.influxdbv2/configs文件中,格式如下:

[local] url = "http://localhost:8086" token = "token_info" org = "org_name" active = true 

2.命令

1.查找organization ID and bucket ID

(1)查找organization ID

influx org find

influx bucket find 此命令其实会报错Error: Must specify org-id, or org name.

查看help:

influx bucket find -h

实际查询bucket id的命令为:

influx bucket find -o org_name

3.write

(1)使用命令

influx write –org InfluxData –bucket telegraf –precision s “m v=2 $(date +%s)”

(2)使用http接口

curl –header “Authorization: Token $(cat ~/.influxdbv2/credentials)” –data-raw “m v=2 $(date +%s)” “http://localhost:9999/api/v2/write?org=InfluxData&bucket=telegraf&precision=s”

(3)使用influxDB的client

根据语言选择对应版本的client

4.read

influx query -o InfluxData ‘from(bucket:“telegraf”) |> range(start:-1h)’

(2)read

from(bucket:“telegraf”) |> range(start:-1h)

实际上官网的教程也是从使用REPL开始的,如果没有连接,后续的所有使用都无法进行。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214800.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午3:25
下一篇 2026年3月18日 下午3:25


相关推荐

  • 环形链表之快慢指针

    环形链表之快慢指针对于环形链表 通过快慢指针 如果存在环 这这两个指针一定会相遇 这是一种经典的判断环或是应用于环问题的思想

    2026年3月18日
    2
  • Windows 8系统中***客户端812错误的解决方法

    Windows 8系统中***客户端812错误的解决方法

    2021年8月27日
    68
  • golang go语言 反向 websocket 代理演示代码

    golang go语言 反向 websocket 代理演示代码golanggo语言反向websocket代理演示代码通过go语言实现websocket反向代理功能packagemainimport( “fmt” “github.com/fasthttp/websocket” “github.com/valyala/fasthttp” proxy”github.com/yeqown/fasthttp-reverse-proxy” “log”)varupgraders=&websocket.FastHTTPUpgrad

    2022年7月26日
    25
  • Spark SQL 函数全集

    Spark SQL 函数全集Summaryorg apache spark sql functions 是一个 Object 提供了约两百多个函数 大部分函数与 Hive 的差不多 除 UDF 函数 均可在 spark sql 中直接使用 经过 importorg apache spark sql functions 也可以用于 Dataframe Dataset version2 3 0 大部分支持 Colum

    2026年3月16日
    1
  • crlf注入原理

    crlf注入原理一 概念这个漏洞一般很少出现 CRLF 是 CR 和 LF 两个字符的拼接 它们分别代表 回车 换行 r n 十六进制编码分别为 0x0d 和 0x0a URL 编码为 0D 和 0A CR 和 LF 组合在一起即 CRLF 命令 它表示键盘上的 Enter 键 许多应用程序和网络协议使用这些命令作为分隔符 CR 回车 移动到当前行的开始 LF 换行 光标垂直移动到下一行了解这个漏洞之前我们需先了解 HTTP 报文结构二 HTTP 报文结构与漏洞原理

    2026年3月18日
    1
  • CXF 性能调优

    CXF 性能调优1 nbsp nbsp 启用 FastInfoset 快速信息集 webservice 的性能实在是不敢恭维 曾经因为 webservice 吞吐量上不去 对 webservice 进行了一些性能方面的优化 采用了 FastInfoset 效果很明显 极端条件下的大数据量传输 性能提高 60 他可以减少传输成本 序列化成本和 xml 解析成本 Cxf 提供了 FastInfoset 协商机制 实现类见 org apache cxf

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号