gNMI 和 Google BigQuery 集成

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

info

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

50 亿+

Telegraf 下载量

#1

时间序列数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大性能,无限扩展

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

查看入门方法

输入和输出集成概述

gNMI(gRPC 网络管理接口)输入插件使用 gNMI Subscribe 方法从网络设备收集遥测数据。它支持 TLS,用于安全身份验证和数据传输。

Google BigQuery 插件允许 Telegraf 将指标写入 Google Cloud BigQuery,从而为遥测数据实现强大的数据分析功能。

集成详细信息

gNMI

此输入插件与供应商无关,可以与任何支持 gNMI 规范的平台一起使用。它基于 gNMI Subscribe 方法使用遥测数据,从而可以实时监控网络设备。

Google BigQuery

Telegraf 的 Google BigQuery 插件实现了与 Google Cloud 的 BigQuery 服务的无缝集成,BigQuery 服务是一个流行的数据仓库和分析平台。此插件有助于将 Telegraf 收集的指标传输到 BigQuery 数据集中,从而使用户可以更轻松地对其遥测数据执行分析并生成见解。它需要通过服务帐户或用户凭据进行身份验证,并且旨在处理各种数据类型,从而确保用户可以在指标存储在 BigQuery 表中时保持其完整性和准确性。配置选项允许围绕数据集规范和处理指标进行自定义,包括管理指标名称中的连字符,这对于 BigQuery 流式插入是不支持的。对于利用 BigQuery 的可扩展性和强大查询功能来分析大量监控数据的组织而言,此插件特别有用。

配置

gNMI


[[inputs.gnmi]]
  ## Address and port of the gNMI GRPC server
  addresses = ["10.49.234.114:57777"]

  ## define credentials
  username = "cisco"
  password = "cisco"

  ## gNMI encoding requested (one of: "proto", "json", "json_ietf", "bytes")
  # encoding = "proto"

  ## redial in case of failures after
  # redial = "10s"

  ## gRPC Keepalive settings
  ## See https://pkg.go.dev/google.golang.org/grpc/keepalive
  ## The client will ping the server to see if the transport is still alive if it has
  ## not see any activity for the given time.
  ## If not set, none of the keep-alive setting (including those below) will be applied.
  ## If set and set below 10 seconds, the gRPC library will apply a minimum value of 10s will be used instead.
  # keepalive_time = ""

  ## Timeout for seeing any activity after the keep-alive probe was
  ## sent. If no activity is seen the connection is closed.
  # keepalive_timeout = ""

  ## gRPC Maximum Message Size
  # max_msg_size = "4MB"

  ## Enable to get the canonical path as field-name
  # canonical_field_names = false

  ## Remove leading slashes and dots in field-name
  # trim_field_names = false

  ## Guess the path-tag if an update does not contain a prefix-path
  ## Supported values are
  ##   none         -- do not add a 'path' tag
  ##   common path  -- use the common path elements of all fields in an update
  ##   subscription -- use the subscription path
  # path_guessing_strategy = "none"

  ## Prefix tags from path keys with the path element
  # prefix_tag_key_with_path = false

  ## Optional client-side TLS to authenticate the device
  ## 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"
  ## Password for the key file if it is encrypted
  # tls_key_pwd = ""
  ## Send the specified TLS server name via SNI
  # tls_server_name = "kubernetes.example.com"
  ## Minimal TLS version to accept by the client
  # tls_min_version = "TLS12"
  ## List of ciphers to accept, by default all secure ciphers will be accepted
  ## See https://pkg.go.dev/crypto/tls#pkg-constants for supported values.
  ## Use "all", "secure" and "insecure" to add all support ciphers, secure
  ## suites or insecure suites respectively.
  # tls_cipher_suites = ["secure"]
  ## Renegotiation method, "never", "once" or "freely"
  # tls_renegotiation_method = "never"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

  ## gNMI subscription prefix (optional, can usually be left empty)
  ## See: https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md#222-paths
  # origin = ""
  # prefix = ""
  # target = ""

  ## Vendor specific options
  ## This defines what vendor specific options to load.
  ## * Juniper Header Extension (juniper_header): some sensors are directly managed by
  ##   Linecard, which adds the Juniper GNMI Header Extension. Enabling this
  ##   allows the decoding of the Extension header if present. Currently this knob
  ##   adds component, component_id & sub_component_id as additional tags
  # vendor_specific = []

  ## YANG model paths for decoding IETF JSON payloads
  ## Model files are loaded recursively from the given directories. Disabled if
  ## no models are specified.
  # yang_model_paths = []

  ## Define additional aliases to map encoding paths to measurement names
  # [inputs.gnmi.aliases]
  #   ifcounters = "openconfig:/interfaces/interface/state/counters"

  [[inputs.gnmi.subscription]]
    ## Name of the measurement that will be emitted
    name = "ifcounters"

    ## Origin and path of the subscription
    ## See: https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md#222-paths
    ##
    ## origin usually refers to a (YANG) data model implemented by the device
    ## and path to a specific substructure inside it that should be subscribed
    ## to (similar to an XPath). YANG models can be found e.g. here:
    ## https://github.com/YangModels/yang/tree/master/vendor/cisco/xr
    origin = "openconfig-interfaces"
    path = "/interfaces/interface/state/counters"

    ## Subscription mode ("target_defined", "sample", "on_change") and interval
    subscription_mode = "sample"
    sample_interval = "10s"

    ## Suppress redundant transmissions when measured values are unchanged
    # suppress_redundant = false

    ## If suppression is enabled, send updates at least every X seconds anyway
    # heartbeat_interval = "60s"

Google BigQuery

# Configuration for Google Cloud BigQuery to send entries
[[outputs.bigquery]]
  ## Credentials File
  credentials_file = "/path/to/service/account/key.json"

  ## Google Cloud Platform Project
  # project = ""

  ## The namespace for the metric descriptor
  dataset = "telegraf"

  ## Timeout for BigQuery operations.
  # timeout = "5s"

  ## Character to replace hyphens on Metric name
  # replace_hyphen_to = "_"

  ## Write all metrics in a single compact table
  # compact_table = ""
  

输入和输出集成示例

gNMI

  1. 监控 Cisco 设备:使用 gNMI 插件从 Cisco IOS XR、NX-OS 或 IOS XE 设备收集遥测数据以进行性能监控。

  2. 实时网络洞察:借助 gNMI 插件,网络管理员可以深入了解实时指标,例如接口统计信息和 CPU 使用率。

  3. 安全数据收集:配置具有 TLS 设置的 gNMI 插件,以确保在从设备收集敏感遥测数据时进行安全通信。

  4. 灵活的数据处理:使用订阅选项来自定义您想要根据特定需求或要求收集的遥测数据。

  5. 错误处理:该插件包括故障排除选项,用于处理常见问题,例如缺少指标名称或 TLS 握手失败。

Google BigQuery

  1. 实时分析仪表板:利用 Google BigQuery 插件将实时指标馈送到 Google Cloud 上托管的自定义分析仪表板中。此设置将允许团队实时可视化性能数据,从而深入了解系统运行状况和使用模式。通过使用 BigQuery 的查询功能,用户可以轻松创建量身定制的报告和仪表板以满足其特定需求,从而增强决策过程。

  2. 成本管理和优化分析:利用该插件自动将来自各种服务的成本相关指标发送到 BigQuery。分析此数据可以帮助企业识别不必要的费用并优化资源使用率。通过在 BigQuery 中执行聚合和转换查询,组织可以创建准确的预测并有效地管理其云支出。

  3. 监控数据的跨团队协作:使组织内不同的团队能够使用 BigQuery 共享其监控数据。借助此 Telegraf 插件,团队可以将其指标推送到中央 BigQuery 实例,从而促进协作。这种数据共享方法鼓励最佳实践和跨职能意识,从而共同改进系统性能和可靠性。

  4. 用于容量规划的历史分析:通过使用 BigQuery 插件,公司可以收集和存储对于容量规划至关重要的历史指标数据。分析随时间变化的趋势可以帮助预测系统需求并主动扩展基础设施。组织可以创建时间序列分析并识别可为长期战略决策提供信息的模式。

反馈

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

强大性能,无限扩展

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

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成