目录
强大的性能,无限的扩展能力
收集、组织和处理海量高速数据。当您将任何数据视为时间序列数据时,它都会变得更有价值。InfluxDB 是排名第一的时间序列平台,旨在与 Telegraf 一起扩展。
查看入门方法
输入和输出集成概述
gNMI(gRPC 网络管理接口)输入插件使用 gNMI Subscribe 方法从网络设备收集遥测数据。它支持 TLS 以实现安全身份验证和数据传输。
MongoDB Telegraf 插件使用户能够将指标发送到 MongoDB 数据库,自动管理时间序列集合。
集成详情
gNMI
此输入插件与供应商无关,可以与任何支持 gNMI 规范的平台一起使用。它基于 gNMI Subscribe 方法使用遥测数据,从而可以实时监控网络设备。
MongoDB
此插件将指标发送到 MongoDB,并与其时间序列功能无缝集成,从而允许在时间序列集合尚不存在时自动创建集合作为时间序列。它需要 MongoDB 5.0 或更高版本才能使用时间序列集合功能,这对于有效存储和查询基于时间的数据至关重要。此插件通过确保所有相关指标都正确存储和组织在 MongoDB 中来增强监控功能,从而使用户能够利用 MongoDB 强大的查询和聚合功能进行时间序列分析。
配置
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"
MongoDB
[[outputs.mongodb]]
              # connection string examples for mongodb
              dsn = "mongodb://:27017"
              # dsn = "mongodb://mongod1:27017,mongod2:27017,mongod3:27017/admin&replicaSet=myReplSet&w=1"
              # overrides serverSelectionTimeoutMS in dsn if set
              # timeout = "30s"
              # default authentication, optional
              # authentication = "NONE"
              # for SCRAM-SHA-256 authentication
              # authentication = "SCRAM"
              # username = "root"
              # password = "***"
              # for x509 certificate authentication
              # authentication = "X509"
              # tls_ca = "ca.pem"
              # tls_key = "client.pem"
              # # tls_key_pwd = "changeme" # required for encrypted tls_key
              # insecure_skip_verify = false
              # database to store measurements and time series collections
              # database = "telegraf"
              # granularity can be seconds, minutes, or hours.
              # configuring this value will be based on your input collection frequency.
              # see https://docs.mongodb.com/manual/core/timeseries-collections/#create-a-time-series-collection
              # granularity = "seconds"
              # optionally set a TTL to automatically expire documents from the measurement collections.
              # ttl = "360h"
输入和输出集成示例
gNMI
- 
    监控思科设备:使用 gNMI 插件从 Cisco IOS XR、NX-OS 或 IOS XE 设备收集遥测数据以进行性能监控。 
- 
    实时网络洞察:借助 gNMI 插件,网络管理员可以深入了解实时指标,例如接口统计信息和 CPU 使用率。 
- 
    安全数据收集:配置带有 TLS 设置的 gNMI 插件,以确保在从设备收集敏感遥测数据时进行安全通信。 
- 
    灵活的数据处理:使用订阅选项自定义您想要根据特定需求或要求收集的遥测数据。 
- 
    错误处理:该插件包含故障排除选项,用于处理常见问题,例如缺少指标名称或 TLS 握手失败。 
MongoDB
- 
    物联网设备的动态日志记录到 MongoDB:利用此插件实时收集和存储来自大量物联网设备的指标。通过将设备日志直接发送到 MongoDB,您可以创建一个集中式数据库,该数据库允许轻松访问和查询运行状况指标和性能数据,从而根据历史趋势实现主动维护和故障排除。 
- 
    Web 流量的时间序列分析:使用 MongoDB Telegraf 插件收集和分析一段时间内的 Web 流量指标。此应用程序可以帮助您了解高峰使用时间、用户交互和行为模式,这可以指导营销策略和基础设施扩展决策,以改善用户体验。 
- 
    自动化监控和警报系统:将 MongoDB 插件集成到跟踪应用程序性能指标的自动化监控系统中。借助时间序列集合,您可以根据特定阈值设置警报,使您的团队能够在潜在问题影响用户之前做出响应。这种主动管理可以提高服务可靠性和整体性能。 
- 
    指标存储中的数据保留和 TTL 管理:利用 MongoDB 集合中文档的 TTL 功能自动过期过时的指标。这在仅最近的性能数据相关的环境中特别有用,可防止您的 MongoDB 数据库因旧指标而变得混乱,并确保高效的数据管理。 
反馈
感谢您成为我们社区的一份子!如果您有任何一般性反馈或在这些页面上发现任何错误,我们欢迎并鼓励您提出意见。请在 InfluxDB 社区 Slack 中提交您的反馈。
强大的性能,无限的扩展能力
收集、组织和处理海量高速数据。当您将任何数据视为时间序列数据时,它都会变得更有价值。InfluxDB 是排名第一的时间序列平台,旨在与 Telegraf 一起扩展。
查看入门方法