Google Cloud PubSub 和 IoTDB 集成

通过 Telegraf(由 InfluxData 构建的开源数据连接器)提供支持,实现强大性能和轻松集成。

info

对于大规模实时查询,这不是推荐的配置。为了实现查询和压缩优化、高速摄取和高可用性,您可能需要考虑Google Cloud PubSub 和 InfluxDB

50 亿+

Telegraf 下载量

#1

时序数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大的性能,无限的扩展

收集、组织和处理大量高速数据。当您将任何数据视为时序数据时,它都更有价值。InfluxDB 是排名第一的时序平台,旨在与 Telegraf 一起扩展。

查看入门方法

输入和输出集成概述

此插件从 Google Cloud PubSub 摄取指标,从而实现实时数据处理和集成到监控设置中。

此插件将 Telegraf 指标保存到 Apache IoTDB 后端,支持会话连接和数据插入。

集成详情

Google Cloud PubSub

Google Cloud PubSub 输入插件旨在从 Google Cloud PubSub 摄取指标。Google Cloud PubSub 是一种消息服务,有助于不同系统之间的实时通信。它允许用户通过从 Google Cloud 项目中的指定订阅拉取消息来创建和处理指标。此插件的关键功能之一是它能够作为服务输入运行,主动侦听传入消息,而不是仅仅以设定的间隔轮询指标。通过各种配置选项,用户可以自定义消息摄取的行为,例如处理凭据、管理消息大小以及调整确认设置,以确保仅在成功处理后才确认消息。通过利用 Google PubSub 的优势,此插件与云原生架构无缝集成,使用户能够构建强大且可扩展的应用程序,从而可以实时响应事件。

IoTDB

Apache IoTDB(物联网数据库)是一种物联网原生数据库,具有用于数据管理和分析的高性能,可部署在边缘和云端。其轻量级架构、高性能和丰富的功能集为海量数据存储、高速数据摄取和物联网工业领域的复杂分析创造了完美契合。IoTDB 与 Apache Hadoop、Spark 和 Flink 深度集成,进一步增强了其处理大规模数据和复杂处理任务的能力。

配置

Google Cloud PubSub

[[inputs.cloud_pubsub]]
  project = "my-project"
  subscription = "my-subscription"
  data_format = "influx"
  # credentials_file = "path/to/my/creds.json"
  # retry_delay_seconds = 5
  # max_message_len = 1000000
  # max_undelivered_messages = 1000
  # max_extension = 0
  # max_outstanding_messages = 0
  # max_outstanding_bytes = 0
  # max_receiver_go_routines = 0
  # base64_data = false
  # content_encoding = "identity"
  # max_decompression_size = "500MB"

IoTDB

[[outputs.iotdb]]
  ## Configuration of IoTDB server connection
  host = "127.0.0.1"
  # port = "6667"

  ## Configuration of authentication
  # user = "root"
  # password = "root"

  ## Timeout to open a new session.
  ## A value of zero means no timeout.
  # timeout = "5s"

  ## Configuration of type conversion for 64-bit unsigned int
  ## IoTDB currently DOES NOT support unsigned integers (version 13.x).
  ## 32-bit unsigned integers are safely converted into 64-bit signed integers by the plugin,
  ## however, this is not true for 64-bit values in general as overflows may occur.
  ## The following setting allows to specify the handling of 64-bit unsigned integers.
  ## Available values are:
  ##   - "int64"       --  convert to 64-bit signed integers and accept overflows
  ##   - "int64_clip"  --  convert to 64-bit signed integers and clip the values on overflow to 9,223,372,036,854,775,807
  ##   - "text"        --  convert to the string representation of the value
  # uint64_conversion = "int64_clip"

  ## Configuration of TimeStamp
  ## TimeStamp is always saved in 64bits int. timestamp_precision specifies the unit of timestamp.
  ## Available value:
  ## "second", "millisecond", "microsecond", "nanosecond"(default)
  # timestamp_precision = "nanosecond"

  ## Handling of tags
  ## Tags are not fully supported by IoTDB.
  ## A guide with suggestions on how to handle tags can be found here:
  ##     https://iotdb.apache.org/UserGuide/Master/API/InfluxDB-Protocol.html
  ##
  ## Available values are:
  ##   - "fields"     --  convert tags to fields in the measurement
  ##   - "device_id"  --  attach tags to the device ID
  ##
  ## For Example, a metric named "root.sg.device" with the tags `tag1: "private"`  and  `tag2: "working"` and
  ##  fields `s1: 100`  and `s2: "hello"` will result in the following representations in IoTDB
  ##   - "fields"     --  root.sg.device, s1=100, s2="hello", tag1="private", tag2="working"
  ##   - "device_id"  --  root.sg.device.private.working, s1=100, s2="hello"
  # convert_tags_to = "device_id"

  ## Handling of unsupported characters
  ## Some characters in different versions of IoTDB are not supported in path name
  ## A guide with suggetions on valid paths can be found here:
  ## for iotdb 0.13.x           -> https://iotdb.apache.org/UserGuide/V0.13.x/Reference/Syntax-Conventions.html#identifiers
  ## for iotdb 1.x.x and above  -> https://iotdb.apache.org/UserGuide/V1.3.x/User-Manual/Syntax-Rule.html#identifier
  ##
  ## Available values are:
  ##   - "1.0", "1.1", "1.2", "1.3"  -- enclose in `` the world having forbidden character 
  ##                                    such as @ $ # : [ ] { } ( ) space
  ##   - "0.13"                      -- enclose in `` the world having forbidden character 
  ##                                    such as space
  ##
  ## Keep this section commented if you don't want to sanitize the path
  # sanitize_tag = "1.3"

输入和输出集成示例

Google Cloud PubSub

  1. 物联网设备的实时分析:利用 Google Cloud PubSub 插件聚合来自分布在各个位置的物联网设备的指标。通过将设备数据流式传输到 Google PubSub 并使用此插件摄取指标,组织可以创建一个用于实时监控和警报的集中式仪表板。此设置可以立即深入了解设备性能,从而促进主动维护和运营效率。

  2. 动态日志处理和监控:通过 Google Cloud PubSub 将来自众多来源的日志摄取到 Telegraf 管道中,利用该插件解析和分析日志消息。这可以帮助团队快速识别日志中的异常或模式,并简化跨分布式系统的问题故障排除过程。通过整合日志数据,组织可以增强其可观察性和响应能力。

  3. 事件驱动的工作流集成:使用 Google Cloud PubSub 插件连接各种云函数或服务。每次将新消息推送到订阅时,都可以在云架构的其他部分触发操作,例如启动数据处理作业、通知,甚至更新报告。这种事件驱动的方法允许构建更具反应性的系统架构,从而可以适应不断变化的业务需求。

IoTDB

  1. 实时物联网监控:利用 IoTDB 插件收集来自各种物联网设备的传感器数据,并将其保存在 Apache IoTDB 后端,从而促进对环境条件(如温度和湿度)的实时监控。此用例使组织能够分析随时间变化的趋势,并根据历史数据做出明智的决策,同时还利用 IoTDB 的高效存储和查询功能。

  2. 智能农业数据收集:使用 IoTDB 插件收集来自部署在田野中的智能农业传感器的指标。通过将湿度水平、养分含量和大气条件传输到 IoTDB,农民可以访问有关最佳种植和浇水计划的详细见解,从而提高作物产量和资源管理水平。

  3. 能源消耗分析:利用 IoTDB 插件跟踪来自整个公用事业网络的智能电表的能源消耗指标。此集成支持分析以识别使用高峰并预测未来的消耗模式,最终支持节能措施和改进的公用事业管理。

  4. 自动化工业设备监控:使用此插件收集来自制造工厂机械的操作指标,并将其存储在 IoTDB 中进行分析。此设置可以帮助识别效率低下、预测性维护需求和操作异常,从而确保最佳性能并最大限度地减少意外停机时间。

反馈

感谢您成为我们社区的一份子!如果您有任何一般性反馈或在这些页面上发现任何错误,我们欢迎并鼓励您提出意见。请在 InfluxDB 社区 Slack 中提交您的反馈。

强大的性能,无限的扩展

收集、组织和处理大量高速数据。当您将任何数据视为时序数据时,它都更有价值。InfluxDB 是排名第一的时序平台,旨在与 Telegraf 一起扩展。

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

HTTP 插件从一个或多个 HTTP(S) 端点收集指标。它支持各种身份验证方法和数据格式的配置选项。

查看集成

Kafka 和 InfluxDB 集成

此插件从 Kafka 读取消息,并允许根据这些消息创建指标。它支持各种配置,包括不同的 Kafka 设置和消息处理选项。

查看集成

Kinesis 和 InfluxDB 集成

Kinesis 插件允许从 AWS Kinesis 流中读取指标。它支持多种输入数据格式,并提供带有 DynamoDB 的检查点功能,以实现可靠的消息处理。

查看集成