Google Cloud PubSub 和 OpenSearch 集成

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

info

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

5B+

Telegraf 下载量

#1

时序数据库
来源:DB Engines

1B+

InfluxDB 下载量

2,800+

贡献者

目录

强大性能,无限扩展

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

查看入门方法

输入和输出集成概述

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

OpenSearch 输出插件允许用户使用 HTTP 将指标直接发送到 OpenSearch 实例,从而促进 OpenSearch 生态系统内有效的数据管理和分析。

集成详情

Google Cloud PubSub

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

OpenSearch

OpenSearch Telegraf 插件通过 HTTP 与 OpenSearch 数据库集成,从而可以简化指标的收集和存储。作为专为 OpenSearch 2.x 及更高版本设计的强大工具,该插件提供强大的功能,同时通过原始 Elasticsearch 插件提供与 1.x 的兼容性。此插件有助于在 OpenSearch 中创建和管理索引,自动管理模板并确保数据结构化以进行高效分析。该插件支持各种配置选项,例如索引名称、身份验证、运行状况检查和值处理,使其可以根据不同的操作要求进行定制。其功能使其成为希望利用 OpenSearch 的强大功能进行指标存储和查询的组织必不可少的工具。

配置

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"

OpenSearch

[[outputs.opensearch]]
  ## URLs
  ## The full HTTP endpoint URL for your OpenSearch instance. Multiple URLs can
  ## be specified as part of the same cluster, but only one URLs is used to
  ## write during each interval.
  urls = ["http://node1.os.example.com:9200"]

  ## Index Name
  ## Target index name for metrics (OpenSearch will create if it not exists).
  ## This is a Golang template (see https://pkg.go.dev/text/template)
  ## You can also specify
  ## metric name (`{{.Name}}`), tag value (`{{.Tag "tag_name"}}`), field value (`{{.Field "field_name"}}`)
  ## If the tag does not exist, the default tag value will be empty string "".
  ## the timestamp (`{{.Time.Format "xxxxxxxxx"}}`).
  ## For example: "telegraf-{{.Time.Format \"2006-01-02\"}}-{{.Tag \"host\"}}" would set it to telegraf-2023-07-27-HostName
  index_name = ""

  ## Timeout
  ## OpenSearch client timeout
  # timeout = "5s"

  ## Sniffer
  ## Set to true to ask OpenSearch a list of all cluster nodes,
  ## thus it is not necessary to list all nodes in the urls config option
  # enable_sniffer = false

  ## GZIP Compression
  ## Set to true to enable gzip compression
  # enable_gzip = false

  ## Health Check Interval
  ## Set the interval to check if the OpenSearch nodes are available
  ## Setting to "0s" will disable the health check (not recommended in production)
  # health_check_interval = "10s"

  ## Set the timeout for periodic health checks.
  # health_check_timeout = "1s"
  ## HTTP basic authentication details.
  # username = ""
  # password = ""
  ## HTTP bearer token authentication details
  # auth_bearer_token = ""

  ## Optional TLS Config
  ## Set to true/false to enforce TLS being enabled/disabled. If not set,
  ## enable TLS only if any of the other options are specified.
  # tls_enable =
  ## Trusted root certificates for server
  # tls_ca = "/path/to/cafile"
  ## Used for TLS client certificate authentication
  # tls_cert = "/path/to/certfile"
  ## Used for TLS client certificate authentication
  # tls_key = "/path/to/keyfile"
  ## Send the specified TLS server name via SNI
  # tls_server_name = "kubernetes.example.com"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

  ## Template Config
  ## Manage templates
  ## Set to true if you want telegraf to manage its index template.
  ## If enabled it will create a recommended index template for telegraf indexes
  # manage_template = true

  ## Template Name
  ## The template name used for telegraf indexes
  # template_name = "telegraf"

  ## Overwrite Templates
  ## Set to true if you want telegraf to overwrite an existing template
  # overwrite_template = false

  ## Document ID
  ## If set to true a unique ID hash will be sent as
  ## sha256(concat(timestamp,measurement,series-hash)) string. It will enable
  ## data resend and update metric points avoiding duplicated metrics with
  ## different id's
  # force_document_id = false

  ## Value Handling
  ## Specifies the handling of NaN and Inf values.
  ## This option can have the following values:
  ##    none    -- do not modify field-values (default); will produce an error
  ##               if NaNs or infs are encountered
  ##    drop    -- drop fields containing NaNs or infs
  ##    replace -- replace with the value in "float_replacement_value" (default: 0.0)
  ##               NaNs and inf will be replaced with the given number, -inf with the negative of that number
  # float_handling = "none"
  # float_replacement_value = 0.0

  ## Pipeline Config
  ## To use a ingest pipeline, set this to the name of the pipeline you want to use.
  # use_pipeline = "my_pipeline"

  ## Pipeline Name
  ## Additionally, you can specify a tag name using the notation (`{{.Tag "tag_name"}}`)
  ## which will be used as the pipeline name (e.g. "{{.Tag \"os_pipeline\"}}").
  ## If the tag does not exist, the default pipeline will be used as the pipeline.
  ## If no default pipeline is set, no pipeline is used for the metric.
  # default_pipeline = ""

输入和输出集成示例

Google Cloud PubSub

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

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

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

OpenSearch

  1. 时序数据的动态索引:利用 OpenSearch Telegraf 插件为时序指标动态创建索引,确保数据以有组织的方式存储,有利于基于时间的查询。通过使用 Go 模板定义索引模式,用户可以利用该插件创建每日或每月索引,这可以大大简化数据管理和长期检索,从而提高分析性能。

  2. 多租户应用程序的集中式日志记录:在多租户应用程序中实施 OpenSearch 插件,其中每个租户的日志都发送到单独的索引。这使得可以针对每个租户进行有针对性的分析和监控,同时保持数据隔离。通过利用索引名称模板功能,用户可以自动创建特定于租户的索引,这不仅简化了流程,还提高了租户数据的安全性和可访问性。

  3. 与机器学习集成以进行异常检测:将 OpenSearch 插件与机器学习工具结合使用,以自动检测指标数据中的异常。通过配置插件将实时指标发送到 OpenSearch,用户可以在传入的数据流上应用机器学习模型,以识别异常值或异常模式,从而促进主动监控和快速补救措施。

  4. 使用 OpenSearch 增强监控仪表板:使用从 OpenSearch 收集的指标创建实时仪表板,以深入了解系统性能。通过将指标馈送到 OpenSearch,组织可以利用 OpenSearch Dashboards 可视化关键绩效指标,从而使运营团队能够快速评估运行状况和性能,并做出数据驱动的决策。

反馈

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

强大性能,无限扩展

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

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成