Modbus 和 Dynatrace 集成

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

info

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

5B+

Telegraf 下载量

#1

时序数据库
来源:DB Engines

1B+

InfluxDB 下载量

2,800+

贡献者

目录

强大的性能,无限的扩展

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

查看入门方法

输入和输出集成概述

Modbus 插件允许您使用各种通信方法从 Modbus 设备收集数据,从而增强您监控和控制工业流程的能力。

Dynatrace 插件允许用户将 Telegraf 收集的指标直接发送到 Dynatrace 进行监控和分析。 此集成增强了系统和应用程序的可观测性,为性能和运营状况提供有价值的见解。

集成详情

Modbus

Modbus 插件通过 Modbus TCP 或 Modbus RTU/ASCII 收集离散输入、线圈、输入寄存器和保持寄存器。

Dynatrace

Telegraf 的 Dynatrace 插件有助于通过 Dynatrace Metrics API V2 将指标传输到 Dynatrace 平台。 此插件可以在两种模式下运行:它可以与 Dynatrace OneAgent 一起运行,后者可以自动进行身份验证;或者它可以以独立配置运行,在这种配置中,需要手动指定没有 OneAgent 的环境的 URL 和 API 令牌。 除非明确配置为使用可用的配置选项将某些指标视为增量计数器,否则该插件主要将指标报告为仪表。 此功能使​​用户能够自定义发送到 Dynatrace 的指标的行为,从而利用该平台的强大功能进行全面的性能监控和可观测性。 对于用户而言,确保 Dynatrace 和 Telegraf 都符合版本要求至关重要,从而在与 Dynatrace 生态系统集成时优化兼容性和性能。

配置

Modbus

[[inputs.modbus]]
  name = "Device"
  slave_id = 1
  timeout = "1s"
  configuration_type = "register"
  discrete_inputs = [
    { name = "start", address = [0]},
    { name = "stop", address = [1]},
    { name = "reset", address = [2]},
    { name = "emergency_stop", address = [3]},
  ]
  coils = [
    { name = "motor1_run", address = [0]},
    { name = "motor1_jog", address = [1]},
    { name = "motor1_stop", address = [2]},
  ]
  holding_registers = [
    { name = "power_factor", byte_order = "AB", data_type = "FIXED", scale=0.01, address = [8]},
    { name = "voltage", byte_order = "AB", data_type = "FIXED", scale=0.1, address = [0]},
    { name = "energy", byte_order = "ABCD", data_type = "FIXED", scale=0.001, address = [5,6]},
    { name = "current", byte_order = "ABCD", data_type = "FIXED", scale=0.001, address = [1,2]},
    { name = "frequency", byte_order = "AB", data_type = "UFIXED", scale=0.1, address = [7]},
    { name = "power", byte_order = "ABCD", data_type = "UFIXED", scale=0.1, address = [3,4]},
    { name = "firmware", byte_order = "AB", data_type = "STRING", address = [5, 6, 7, 8, 9, 10, 11, 12]},
  ]
  input_registers = [
    { name = "tank_level", byte_order = "AB", data_type = "INT16", scale=1.0, address = [0]},
    { name = "tank_ph", byte_order = "AB", data_type = "INT16", scale=1.0, address = [1]},
    { name = "pump1_speed", byte_order = "ABCD", data_type = "INT32", scale=1.0, address = [3,4]},
  ]

Dynatrace

[[outputs.dynatrace]]
  ## For usage with the Dynatrace OneAgent you can omit any configuration,
  ## the only requirement is that the OneAgent is running on the same host.
  ## Only setup environment url and token if you want to monitor a Host without the OneAgent present.
  ##
  ## Your Dynatrace environment URL.
  ## For Dynatrace OneAgent you can leave this empty or set it to "http://127.0.0.1:14499/metrics/ingest" (default)
  ## For Dynatrace SaaS environments the URL scheme is "https://{your-environment-id}.live.dynatrace.com/api/v2/metrics/ingest"
  ## For Dynatrace Managed environments the URL scheme is "https://{your-domain}/e/{your-environment-id}/api/v2/metrics/ingest"
  url = ""

  ## Your Dynatrace API token.
  ## Create an API token within your Dynatrace environment, by navigating to Settings > Integration > Dynatrace API
  ## The API token needs data ingest scope permission. When using OneAgent, no API token is required.
  api_token = ""

  ## Optional prefix for metric names (e.g.: "telegraf")
  prefix = "telegraf"

  ## Optional TLS Config
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Optional flag for ignoring tls certificate check
  # insecure_skip_verify = false

  ## Connection timeout, defaults to "5s" if not set.
  timeout = "5s"

  ## If you want metrics to be treated and reported as delta counters, add the metric names here
  additional_counters = [ ]

  ## In addition or as an alternative to additional_counters, if you want metrics to be treated and
  ## reported as delta counters using regular expression pattern matching
  additional_counters_patterns = [ ]

  ## NOTE: Due to the way TOML is parsed, tables must be at the END of the
  ## plugin definition, otherwise additional config options are read as part of the
  ## table

  ## Optional dimensions to be added to every metric
  # [outputs.dynatrace.default_dimensions]
  # default_key = "default value"

输入和输出集成示例

Modbus

  1. 基本用法:要从单个设备读取数据,请使用设备名称和 IP 地址对其进行配置,并指定从站 ID 和感兴趣的寄存器。
  2. 多个请求:您可以通过指定多个 [[inputs.modbus.request]] 部分,在单个配置中定义多个请求以从不同的 Modbus 从站设备获取数据。
  3. 数据处理:利用缩放功能将原始 Modbus 读数转换为有用的指标,并根据需要调整单位转换。

Dynatrace

  1. 云基础设施监控:利用 Dynatrace 插件监控云基础设施设置,将来自 Telegraf 的实时指标馈送到 Dynatrace。 这种集成提供了资源利用率、应用程序性能和系统运行状况的整体视图,从而能够主动响应各种云环境中的性能问题。

  2. 自定义应用程序性能指标:通过配置 Dynatrace 输出插件以发送来自 Telegraf 的定制指标,实现自定义的特定于应用程序的指标。 通过利用额外的计数器和维度选项,开发团队可以获得与他们应用程序的运营需求精确对齐的见解,从而实现有针对性的优化工作。

  3. 多环境指标管理:对于运行多个 Dynatrace 环境(例如,生产、暂存和开发)的组织,请使用此插件从单个 Telegraf 实例管理所有环境的指标。 通过正确配置端点和 API 令牌,团队可以在整个 SDLC 中保持一致的监控实践,确保在开发过程的早期发现性能异常。

  4. 基于指标更改的自动警报:将 Dynatrace 输出插件与警报机制集成,该机制在特定指标超过定义的阈值时触发通知。 这种情况涉及配置额外的计数器来监控关键的应用程序性能指标,从而能够采取快速的补救措施来维持服务可用性和用户满意度。

反馈

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

强大的性能,无限的扩展

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

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成