DNS 和 InfluxDB 集成

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

50 亿+

Telegraf 下载量

#1

时序数据库
来源: DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大性能,无限扩展

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

查看入门方法

输入和输出集成概述

DNS 插件使用户能够监控和收集 DNS 查询时间的统计信息,从而促进 DNS 解析的性能分析。

InfluxDB 插件将指标写入 InfluxDB HTTP 服务,从而可以高效地存储和检索时序数据。

集成详情

DNS

该插件以毫秒为单位收集 DNS 查询时间,利用类似于 Dig 命令的 DNS 查询功能。它提供了一种通过测量来自指定 DNS 服务器的响应时间来监控和分析 DNS 性能的方法,使网络管理员和工程师能够确保最佳的 DNS 解析时间。该插件可以配置为以特定服务器为目标,并自定义查询的记录类型,包括各种 DNS 功能,例如将域名解析为 IP 地址,或根据需要从特定记录中检索详细信息,同时还清楚地报告每次查询的成功或失败,以及相关的元数据。

InfluxDB

InfluxDB Telegraf 插件用于将指标发送到 InfluxDB HTTP API,从而以结构化方式促进时序数据的存储和查询。该插件与 InfluxDB 无缝集成,提供基于令牌的身份验证和对多个 InfluxDB 集群节点的支持等基本功能,确保可靠且可扩展的数据摄取。通过其可配置性,用户可以指定组织、目标存储桶和 HTTP 特定设置等选项,从而灵活地定制数据的发送和存储方式。该插件还支持敏感数据的密钥管理,从而增强了生产环境中的安全性。此插件在现代可观测性堆栈中尤其有用,在这些堆栈中,实时分析和时序数据存储至关重要。

配置

DNS

[[inputs.dns_query]]
  servers = ["8.8.8.8"]

  # network = "udp"

  # domains = ["."]

  # record_type = "A"

  # port = 53

  # timeout = "2s"

  # include_fields = []
  

InfluxDB

[[outputs.influxdb]]
  ## The full HTTP or UDP URL for your InfluxDB instance.
  ##
  ## Multiple URLs can be specified for a single cluster, only ONE of the
  ## urls will be written to each interval.
  # urls = ["unix:///var/run/influxdb.sock"]
  # urls = ["udp://127.0.0.1:8089"]
  # urls = ["http://127.0.0.1:8086"]

  ## Local address to bind when connecting to the server
  ## If empty or not set, the local address is automatically chosen.
  # local_address = ""

  ## The target database for metrics; will be created as needed.
  ## For UDP url endpoint database needs to be configured on server side.
  # database = "telegraf"

  ## The value of this tag will be used to determine the database.  If this
  ## tag is not set the 'database' option is used as the default.
  # database_tag = ""

  ## If true, the 'database_tag' will not be included in the written metric.
  # exclude_database_tag = false

  ## If true, no CREATE DATABASE queries will be sent.  Set to true when using
  ## Telegraf with a user without permissions to create databases or when the
  ## database already exists.
  # skip_database_creation = false

  ## Name of existing retention policy to write to.  Empty string writes to
  ## the default retention policy.  Only takes effect when using HTTP.
  # retention_policy = ""

  ## The value of this tag will be used to determine the retention policy.  If this
  ## tag is not set the 'retention_policy' option is used as the default.
  # retention_policy_tag = ""

  ## If true, the 'retention_policy_tag' will not be included in the written metric.
  # exclude_retention_policy_tag = false

  ## Write consistency (clusters only), can be: "any", "one", "quorum", "all".
  ## Only takes effect when using HTTP.
  # write_consistency = "any"

  ## Timeout for HTTP messages.
  # timeout = "5s"

  ## HTTP Basic Auth
  # username = "telegraf"
  # password = "metricsmetricsmetricsmetrics"

  ## HTTP User-Agent
  # user_agent = "telegraf"

  ## UDP payload size is the maximum packet size to send.
  # udp_payload = "512B"

  ## Optional TLS Config for use on HTTP connections.
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

  ## HTTP Proxy override, if unset values the standard proxy environment
  ## variables are consulted to determine which proxy, if any, should be used.
  # http_proxy = "http://corporate.proxy:3128"

  ## Additional HTTP headers
  # http_headers = {"X-Special-Header" = "Special-Value"}

  ## HTTP Content-Encoding for write request body, can be set to "gzip" to
  ## compress body or "identity" to apply no encoding.
  # content_encoding = "gzip"

  ## When true, Telegraf will output unsigned integers as unsigned values,
  ## i.e.: "42u".  You will need a version of InfluxDB supporting unsigned
  ## integer values.  Enabling this option will result in field type errors if
  ## existing data has been written.
  # influx_uint_support = false

  ## When true, Telegraf will omit the timestamp on data to allow InfluxDB
  ## to set the timestamp of the data during ingestion. This is generally NOT
  ## what you want as it can lead to data points captured at different times
  ## getting omitted due to similar data.
  # influx_omit_timestamp = false

输入和输出集成示例

DNS

  1. 监控多个服务器的 DNS 性能:通过部署 DNS 插件,用户可以通过在 servers 数组中指定不同的 DNS 服务器(例如 Google DNS 和 Cloudflare DNS)来同时监控它们的性能。此方案能够比较不同 DNS 提供商之间的响应时间和可靠性,从而帮助根据经验数据选择最佳选项。

  2. 分析高流量域的查询时间:集成插件以专门测量与组织运营相关的高流量域(例如内部服务或面向客户的站点)的响应时间。通过关注这些域的性能指标,组织可以主动解决延迟问题,确保服务可靠性并改善用户体验。

  3. DNS 超时警报:将插件与警报系统结合使用,以便在 DNS 查询超过定义的超时阈值时通知管理员。此设置可以帮助主动排除网络问题或服务器配置错误,从而对潜在的停机场景做出快速响应。

  4. 收集性能趋势的历史数据:使用插件收集较长时间内 DNS 查询时间的历史数据。此数据可用于分析 DNS 性能的趋势和模式,从而更好地进行容量规划,识别周期性问题,并证明基础设施升级或更改 DNS 架构的合理性。

InfluxDB

  1. 实时系统监控:使用 InfluxDB 插件捕获和存储来自各种系统组件(例如 CPU 使用率、内存消耗和磁盘 I/O)的指标。通过将这些指标推送到 InfluxDB,您可以创建一个实时仪表板,以可视化实时系统性能。此设置不仅有助于识别性能瓶颈,还可以通过分析随时间变化的趋势来进行主动容量规划。

  2. Web 应用程序的性能跟踪:自动收集与 Web 应用程序性能相关的指标(例如请求持续时间、错误率和用户交互),并将它们推送到 InfluxDB。通过在监控堆栈中使用此插件,您可以使用存储的指标生成报告和分析,从而帮助了解用户行为和应用程序效率,进而指导开发和优化工作。

  3. 物联网数据聚合:利用 InfluxDB Telegraf 插件从各种物联网设备收集传感器数据,并将其存储在集中的 InfluxDB 实例中。此用例使您能够分析环境或机器数据随时间变化的趋势和模式,从而促进更明智的决策和预测性维护策略。通过将物联网数据集成到 InfluxDB 中,组织可以利用历史数据分析的力量来推动创新和运营效率。

  4. 分析用于预测的历史指标:设置 InfluxDB 插件以将历史指标数据发送到 InfluxDB,并使用它来驱动预测模型。通过分析过去的性能指标,您可以创建预测未来趋势和需求的预测模型。此应用程序对于商业智能目的尤其有用,它可以帮助组织根据历史使用模式为资源需求的波动做好准备。

反馈

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

强大性能,无限扩展

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

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成