InfluxDB OSS 如何补充 InfluxDB Cloud 的 3 种方式

导航至

您可能知道,InfluxDB 以多种形式提供,包括 InfluxDB 开源版InfluxDB Cloud。客户有时会问我们:“如果我正在使用 InfluxDB Cloud,我是否有任何理由也应该考虑使用 InfluxDB 开源版?”

这是一个合理的问题。InfluxDB Cloud 具有 InfluxDB OSS 中不具备的若干功能:InfluxDB Cloud 是无服务器的,因此无需管理服务器,它可以自动适应流量高峰,并且我们不断对其进行更新,以自动为您提供最新功能。

我们不断从客户那里听到,他们更喜欢 InfluxDB Cloud,因为它使他们摆脱了繁琐的数据库管理任务,从而可以专注于他们的代码。即便如此,在某些用例中,InfluxDB Cloud 客户可以使用 InfluxDB 开源版来帮助管理其时间序列数据。让我们来探索一下。

InfluxDB 开发环境

您可以在本地机器上安装 InfluxDB OSS,以便在任何地方编写代码,而无需担心网络连接。在目前这种居家隔离的日子里,您可能会因 Zoom 导致的带宽饱和而遇到网络问题。疫情过后,当我们能够重返咖啡馆、火车和飞机时,拥有一款可以轻松在笔记本电脑上运行的数据库将非常方便。

前几天,我开车送我的孩子去加州海岸一个偏远的地方冲浪,那里没有手机信号。当我在车里看着他时,我能够轻松地从本地 CSV 文件导入示例数据到我的本地 InfluxDB 实例中,然后编写一些 Flux 代码来查询它。在海滩上编码——这是转向远程工作环境的一线希望之一!

InfluxDB OSS lets you work on your time series data even where there's no network

即使在没有网络的情况下,InfluxDB OSS 也允许您处理时间序列数据

由于 InfluxDB OSS 和 Cloud 之间的 UI、CLIAPI客户端库 几乎相同,因此您可以始终将 Flux 脚本、InfluxDB 模板InfluxDB 仪表板任务警报 和 Grafana 仪表板等资源从 OSS 转移到 Cloud(反之亦然),而无需进行任何修改,从而促进了顺畅的 DevOps 管道。

InfluxDB 开源版和 Cloud 之间的差异很少见,并且在我们的 文档的左侧导航栏中突出显示。

Differences between InfluxDB OSS and Cloud are noted in the InfluxData Docs site.

InfluxDB OSS 和 Cloud 之间的差异在我们的文档中注明。

我们还使您可以轻松地将您的 Telegraf 代理、使用 InfluxDB 客户端库 的客户端代码以及 InfluxDB CLI 从指向本地 InfluxDB 开源实例更改为指向 InfluxDB Cloud 实例。只需将您的 InfluxDB 开源版 URL 从 localhost:8086 更改为相应的 InfluxDB Cloud URL,更新您的 org令牌存储桶,即可完成。

当使用 CLI 时,您可以 创建连接配置,并在从开源版切换到 Cloud 以及从 Cloud 切换回开源版时轻松地在 配置之间切换。此外,我们刚刚添加了一个 -c 标志,用于 动态设置您的配置文件

InfluxDB 边缘处理

物联网中常见的模式是人们设置 Telegraf 以双写到边缘设备上的本地 InfluxDB OSS 实例以及中央 InfluxDB Cloud 实例。此边缘设备可能小到 Arduino 开发板,也可能大到 风车。由于 InfluxDB OSS 是一个 轻量级单二进制文件,因此可以轻松部署在计算资源最少的设备上。

influxdb minimal compute resources

@harrisonbroadbent 通过 Unsplash

在这些情况下,InfluxDB OSS 的边缘实例通常仅保存边缘设备的完整分辨率遥测数据,而中央 InfluxDB Cloud 实例则保存所有设备的遥测数据。InfluxDB Cloud 的遥测数据被降采样的程度通常取决于业务需求,以及来自边缘设备的连接可靠性和带宽。

通过这种方法,负责管理本地环境(例如渡轮、石油钻井平台、农田等)的人员可以获得完整的遥测数据来排除故障,而无需担心与中央云实例的连接。总部的人员可以使用 InfluxDB Cloud 分析整个物联网设备的趋势和问题。

例如,我们的一位客户运营着海上石油钻井平台。他们收集的各种时间序列指标都存储在本地 InfluxDB OSS 实例中,钻井平台的运营商可以通过仪表板访问这些信息。此信息提供了关于钻井平台本身正在发生情况的关键近实时可见性。

对于正在监控的某些设备,人们希望在公司总部访问这些数据——分辨率低于本地捕获和存储的数据。公司总部的人员可以分析来自所有钻井平台的数据,并查看设备总体运行特征的异同。这允许执行预测性维护等分析,并将结果发送回钻井平台运营商。

oil rig predictive maintenance

由于 InfluxDB OSS 和 Cloud 共享相同的 UI、API 和 CLI,并且都使用 Flux,因此现场和总部的团队成员可以轻松地相互共享结果和发现。

要实施此模式,您需要双写到 InfluxDB Cloud 和 InfluxDB OSS 以进行本地备份。为此,您需要将类似于以下内容的文本放入您的 Telegraf 配置文件(通常称为 telegraf.conf)中

# Write to InfluxDB open source
[[outputs.influxdb_v2]] # For InfluxDB 2.0
 urls = ["http://127.0.0.1:8086"]
token = "your-token"
organization = "your-organization-name"
bucket = "your-bucket-name"

# Write to InfluxDB Cloud
[[outputs.influxdb_v2]]
# Write to AWS Oregon instance.
# Other cloud URLs: https://docs.influxdb.org.cn/influxdb/cloud/reference/regions/
urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"]
token = "your-token"
organization = "email-you-use-to-sign-into-influxdb-cloud"
bucket = "your-bucket-name"

通过此配置,每次写入都会同时发送到您的本地 InfluxDB OSS 实例和 InfluxDB Cloud 实例。因此,两个实例中的数据都保持同步,精确到秒;无需定期运行备份的批处理过程。

现在 InfluxDB 0SS 2.0 已正式发布,请期待我们在此边缘处理领域进行进一步的工程投入,以简化和支持这些版本之间的边缘到云连接。

气隙监控

但是,如果您无法进行双写,因为没有互联网连接,该怎么办?这些情况包括出于安全目的而与互联网断开连接(或“气隙隔离”)的服务器和设备,因此无法将监控遥测数据发送到 InfluxDB Cloud。例如,发电厂通常会断开连接,以防止各种威胁向量。

如果您的任何服务器或设备是气隙隔离的,您可以在其上安装 InfluxDB OSS 并使用它来收集监控数据,以便提供本地可观察性和控制。但是,如果您需要的可扩展性或可靠性高于单个 InfluxDB OSS 节点可以提供的水平,则应考虑 InfluxDB Enterprise。InfluxDB Enterprise 提供横向扩展和高可用性配置。

那么,InfluxDB OSS 的这种用法如何补充 InfluxDB Cloud 呢?由于 Cloud 和 OSS 共享相同的 API、CLI、Web 用户界面和客户端库,因此您可以在气隙隔离的 InfluxDB OSS 实例和 InfluxDB Cloud 实例之间轻松共享仪表板、任务和警报等资产。例如,如果您的公司已标准化 Kubernetes,您可以构建一组 k8s 监控仪表板,用于您的气隙隔离和互联网连接位置。

InfluxDB Cloud 与 InfluxDB OSS 的比较

以下是 InfluxDB Cloud 与 InfluxDB 开源版的详细比较。

 

InfluxDB Cloud
InfluxDB 开源版
免费计划
数据浏览器
仪表板
任务
警报
通用客户端库
统一 REST API
InfluxQL 查询
Flux 查询
多个 用户
本地开发者实例 X
边缘部署 X
实时本地备份 X
气隙监控 X
Prometheus 抓取器 X
无服务器(无需管理服务器) X
自动适应流量高峰 X
高可用性 X
内置灾难恢复 X
容错 X
自动升级 X
集成 Google 社交登录 (Oauth) X

结论

在 InfluxDB,我们为您提供多种部署数据库的选项,包括轻量级的自托管 InfluxDB 开源版(您可以将其部署在任何地方)和完全托管的无服务器 InfluxDB Cloud(使您摆脱数据库基础设施的困扰,从而有更多时间专注于您的代码)。

我们还感谢我们的开源社区,InfluxDB 的近 400 位贡献者,他们为共享的 InfluxDB 开源版和 Cloud 代码库带来了创新。有了他们,我们能够为您所有人提供一系列满足您需求的选项。

influxdb contributors

要开始使用上述模式,请下载 InfluxDB 开源版并注册一个 免费的 InfluxDB Cloud 账户。然后查看我们的入门指南,并随时与我们乐于助人的 InfluxDB 社区SlackGitHub 存储库 互动以提出问题。祝您使用愉快!