InfluxDB OSS 如何补充 InfluxDB Cloud 的 3 种方式
作者:Al Sargent / 产品, 用例, 开发者
2020 年 11 月 16 日
导航至
您可能知道,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 和 Cloud 之间的 UI、CLI、API 和 客户端库 几乎相同,因此您可以始终将 Flux 脚本、InfluxDB 模板、InfluxDB 仪表板、任务、警报 和 Grafana 仪表板等资源从 OSS 转移到 Cloud(反之亦然),而无需进行任何修改,从而促进了顺畅的 DevOps 管道。
InfluxDB 开源版和 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 OSS 的边缘实例通常仅保存边缘设备的完整分辨率遥测数据,而中央 InfluxDB Cloud 实例则保存所有设备的遥测数据。InfluxDB Cloud 的遥测数据被降采样的程度通常取决于业务需求,以及来自边缘设备的连接可靠性和带宽。
通过这种方法,负责管理本地环境(例如渡轮、石油钻井平台、农田等)的人员可以获得完整的遥测数据来排除故障,而无需担心与中央云实例的连接。总部的人员可以使用 InfluxDB Cloud 分析整个物联网设备的趋势和问题。
例如,我们的一位客户运营着海上石油钻井平台。他们收集的各种时间序列指标都存储在本地 InfluxDB OSS 实例中,钻井平台的运营商可以通过仪表板访问这些信息。此信息提供了关于钻井平台本身正在发生情况的关键近实时可见性。
对于正在监控的某些设备,人们希望在公司总部访问这些数据——分辨率低于本地捕获和存储的数据。公司总部的人员可以分析来自所有钻井平台的数据,并查看设备总体运行特征的异同。这允许执行预测性维护等分析,并将结果发送回钻井平台运营商。
由于 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 开源版并注册一个 免费的 InfluxDB Cloud 账户。然后查看我们的入门指南,并随时与我们乐于助人的 InfluxDB 社区、Slack 和 GitHub 存储库 互动以提出问题。祝您使用愉快!