Modbus 和 Graylog 集成

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

info

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

50 亿+

Telegraf 下载量

#1

时序数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大的性能,无限的扩展能力

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

查看入门方法

输入和输出集成概述

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

Graylog 插件允许您将 Telegraf 指标发送到 Graylog 服务器,利用 GELF 格式进行结构化日志记录。

集成详情

Modbus

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

Graylog

Graylog 插件旨在用于使用 GELF(Graylog 扩展日志格式)格式将指标发送到 Graylog 实例。GELF 有助于标准化日志记录数据,使系统更容易发送和分析日志。该插件遵循 GELF 规范,该规范规定了有效负载中特定字段的要求。值得注意的是,时间戳必须采用 UNIX 格式,如果存在,插件会将时间戳原封不动地发送到 Graylog,不做任何更改。如果省略,它会自动生成时间戳。此外,任何规范中未明确定义的额外字段都将以一个下划线为前缀,这有助于保持数据井井有条并符合 GELF 的要求。这种能力对于实时监控应用程序和基础设施的用户尤其有价值,因为它允许跨多个系统进行无缝集成和提高可见性。

配置

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]},
  ]

Graylog

[[outputs.graylog]]
  ## Endpoints for your graylog instances.
  servers = ["udp://127.0.0.1:12201"]

  ## Connection timeout.
  # timeout = "5s"

  ## The field to use as the GELF short_message, if unset the static string
  ## "telegraf" will be used.
  ##   example: short_message_field = "message"
  # short_message_field = ""

  ## According to GELF payload specification, additional fields names must be prefixed
  ## with an underscore. Previous versions did not prefix custom field 'name' with underscore.
  ## Set to true for backward compatibility.
  # name_field_no_prefix = false

  ## Connection retry options
  ## Attempt to connect to the endpoints if the initial connection fails.
  ## If 'false', Telegraf will give up after 3 connection attempt and will
  ## exit with an error. If set to 'true', the plugin will retry to connect
  ## to the unconnected endpoints infinitely.
  # connection_retry = false
  ## Time to wait between connection retry attempts.
  # connection_retry_wait_time = "15s"

  ## Optional TLS Config
  # 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

输入和输出集成示例

Modbus

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

Graylog

  1. 增强云应用程序的日志管理:使用 Graylog Telegraf 插件聚合来自跨多个服务器云部署应用程序的日志。通过集成此插件,团队可以集中日志记录数据,从而更轻松地排除故障、监控应用程序性能并保持符合日志记录标准。

  2. 实时安全监控:利用 Graylog 插件收集安全相关的指标和日志并发送到 Graylog 服务器进行实时分析。这使安全团队能够通过关联来自基础设施内各种来源的日志,快速识别异常、跟踪潜在的漏洞并及时响应事件。

  3. 动态警报和通知系统:实施 Graylog 插件以增强基础设施中的警报机制。通过将指标发送到 Graylog,团队可以根据日志模式或意外行为设置动态警报,从而实现主动监控和快速事件响应策略。

  4. 跨平台日志整合:使用 Graylog 插件促进跨平台日志整合,跨越本地、混合和云等不同环境。通过以 GELF 格式标准化日志记录,组织可以确保一致的监控和故障排除实践,无论其服务托管在何处。

反馈

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

强大的性能,无限的扩展能力

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

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成