InfluxDB 简介
目录
什么是 InfluxDB
InfluxData 是 InfluxDB 和 Telegraf 背后的公司。
InfluxDB 发布与 2013 年,是存储指标和传感器数据的最佳时间序列数据库。从那时起,它已经发展成为一个完整的时序应用开发平台,数千名开发人员使用它来创建面向客户的物联网应用、服务器监控、金融应用、数千台服务器和设备的定制监控应用以及许多其他应用。请查看来自 IBM、Adobe、Hulu、Cisco 等公司的各种案例研究和客户评价。InfluxDB 不仅仅是领先的时间序列数据库。InfluxDB 还包括 InfluxDB 用户界面 (InfluxDB UI) 和 Flux。InfluxDB UI 是一款时间序列管理、可视化和仪表板工具。它还提供 Flux 脚本编辑器。Flux 是一种函数式脚本和查询语言,可以实现数据处理任务,例如复杂的数据转换和警报。
Telegraf 是用于收集指标和事件的开源服务器代理。Telegraf 是插件驱动的,编译成单个二进制文件。它有大量的输入、输出、聚合器和解析器插件,使开发人员能够收集数据,对其进行转换,并将其写入他们选择的目的地数据存储。
InfluxDB 的优势
InfluxData 的创始人兼 CTO Paul Dix 将决策框架建立在最大限度地减少“轻松上手”或采用和价值的障碍的概念上。开发人员体验是我们在 InfluxData 的首要任务。
如果您正在考虑创建与时间戳数据相关的应用程序(物联网、传感器监控、服务器监控、金融等),InfluxDB 是最简单、功能最强大的开发平台。本书将向您展示为什么这是事实。
轻松上手
您可以选择下载并运行开源 (OSS) 版本,或在InfluxDB Cloud 中创建一个免费帐户,让我们为您运行它。
OSS 版本以单个二进制文件的形式提供,因此您可以直接下载并运行它。流行的 Linux 发行版也提供软件包。您还可以注册一个免费的云帐户,这与“点击、点击、验证您的电子邮件并开始使用”一样简单。无论哪种方式,启动并运行 InfluxDB 实际上只需要几分钟。
最后,在选择 InfluxDB 云的 OSS 版本时,这两种选择都是正确的选择,因为我们投入了大量精力来保持我们两种产品的 API 一致且兼容。因此,如果需要,您始终可以稍后切换到另一个。
写入和查询示例数据
将数据写入 InfluxDB 的最快方法是使用 InfluxDB UI 中的脚本编辑器编写一些示例数据。编写示例数据集是将一些有意义的数据放入平台以了解 InfluxDB 的好方法。您可以选择任何您想要使用的示例数据集,但我们将在本节中使用NOAA 水样数据。
设置 InfluxDB 后,导航到**资源管理器**页面,然后单击**+ 创建存储桶**按钮。将您的存储桶命名为“noaa”。存储桶是您在 InfluxDB 中存储数据的命名位置。
现在导航到**脚本编辑器**,并从文档中复制粘贴以下 Flux 代码。您现在不必理解此代码,唯一需要注意的是最后一行中的 to() 函数。
import "experimental/csv"
relativeToNow = (tables=<-) =>
tables
|> elapsed()
|> sort(columns: ["_time"], desc: true)
|> cumulativeSum(columns: ["elapsed"])
|> map(fn: (r) => ({ r with _time: time(v: int(v: now()) - (r.elapsed * 1000000000))}))
csv.from(url: "https://influx-testdata.s3.amazonaws.com/noaa.csv")
|> relativeToNow()
|> to(bucket: "noaa", org: "example-org")
请确保更改 to() 函数中的以下参数
- 您想要将 NOAA 示例数据集写入的存储桶(如果您已经创建了“noaa”存储桶,则忽略此步骤)。
- 用于注册云帐户或设置 OSS 实例的电子邮件的组织。
最后,点击**提交**。
通过使用**查询构建器**轻松查询您的数据。只需选择您要可视化的数据并点击**提交**。
进一步阅读
- InfluxDB Cloud 入门
- 示例数据集
- 在 InfluxDB 中查询数据
- 将数据写入数据源
- TL;DR InfluxDB 技术技巧 — 使用和创建 InfluxDB 模板的最简单方法
- InfluxDB 社区模板
- https://influxdb.org.cn/blog/running-influxdb-2-0-and-telegraf-using-docker/