目录
强大的性能,无限的扩展
收集、组织和处理海量高速数据。当您将任何数据视为时间序列数据时,它会更有价值。 借助 InfluxDB,排名第一的时序平台,旨在通过 Telegraf 进行扩展。
查看入门方法
输入和输出集成概述
Modbus 插件允许您使用各种通信方法从 Modbus 设备收集数据,从而增强您监控和控制工业流程的能力。
Prometheus 输出插件使 Telegraf 能够在 HTTP 端点公开指标,以供 Prometheus 服务器抓取。 此集成允许用户以 Prometheus 可以高效处理的格式,从各种来源收集和聚合指标。
集成详细信息
Modbus
Modbus 插件通过 Modbus TCP 或 Modbus RTU/ASCII 收集离散输入、线圈、输入寄存器和保持寄存器。
Prometheus
此插件有助于与 Prometheus 集成,Prometheus 是一款著名的开源监控和警报工具包,专为大型环境中的可靠性和效率而设计。 通过充当 Prometheus 客户端,它允许用户通过 HTTP 服务器公开一组定义的指标,Prometheus 可以按指定的时间间隔抓取这些指标。 此插件在监控各种系统中起着至关重要的作用,它允许这些系统以标准化格式发布性能指标,从而可以广泛了解系统健康状况和行为。 主要功能包括支持配置各种端点、启用 TLS 以进行安全通信以及 HTTP 基本身份验证选项。 该插件还与全局 Telegraf 配置设置无缝集成,支持广泛的自定义以适应特定的监控需求。 这促进了不同系统必须有效通信性能数据的环境中的互操作性。 通过利用 Prometheus 的指标格式,它可以通过高级配置(如指标过期和收集器控制)实现灵活的指标管理,从而为监控和警报工作流程提供复杂的解决方案。
配置
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]},
]
Prometheus
[[outputs.prometheus_client]]
## Address to listen on.
## ex:
## listen = ":9273"
## listen = "vsock://:9273"
listen = ":9273"
## Maximum duration before timing out read of the request
# read_timeout = "10s"
## Maximum duration before timing out write of the response
# write_timeout = "10s"
## Metric version controls the mapping from Prometheus metrics into Telegraf metrics.
## See "Metric Format Configuration" in plugins/inputs/prometheus/README.md for details.
## Valid options: 1, 2
# metric_version = 1
## Use HTTP Basic Authentication.
# basic_username = "Foo"
# basic_password = "Bar"
## If set, the IP Ranges which are allowed to access metrics.
## ex: ip_range = ["192.168.0.0/24", "192.168.1.0/30"]
# ip_range = []
## Path to publish the metrics on.
# path = "/metrics"
## Expiration interval for each metric. 0 == no expiration
# expiration_interval = "60s"
## Collectors to enable, valid entries are "gocollector" and "process".
## If unset, both are enabled.
# collectors_exclude = ["gocollector", "process"]
## Send string metrics as Prometheus labels.
## Unless set to false all string metrics will be sent as labels.
# string_as_label = true
## If set, enable TLS with the given certificate.
# tls_cert = "/etc/ssl/telegraf.crt"
# tls_key = "/etc/ssl/telegraf.key"
## Set one or more allowed client CA certificate file names to
## enable mutually authenticated TLS connections
# tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]
## Export metric collection time.
# export_timestamp = false
## Specify the metric type explicitly.
## This overrides the metric-type of the Telegraf metric. Globbing is allowed.
# [outputs.prometheus_client.metric_types]
# counter = []
# gauge = []
输入和输出集成示例
Modbus
- 基本用法:要从单个设备读取数据,请使用设备名称和 IP 地址进行配置,并指定从站 ID 和感兴趣的寄存器。
- 多个请求:您可以通过指定多个
[[inputs.modbus.request]]
部分来定义多个请求,以从单个配置中的不同 Modbus 从站设备获取数据。 - 数据处理:利用缩放功能将原始 Modbus 读数转换为有用的指标,并根据需要调整单位转换。
Prometheus
-
监控多云部署:利用 Prometheus 插件从跨多个云提供商运行的应用程序收集指标。 这种情况允许团队通过单个 Prometheus 实例集中监控,该实例从不同环境抓取指标,从而提供跨混合基础设施的性能指标的统一视图。 它简化了报告和警报,在无需复杂集成的情况下提高了运营效率。
-
增强微服务可见性:实施该插件以公开 Kubernetes 集群中各种微服务的指标。 通过使用 Prometheus,团队可以实时可视化服务指标、识别瓶颈并维护系统运行状况检查。 此设置支持基于从收集的指标生成的见解进行自适应扩展和资源利用优化。 它增强了对服务交互进行故障排除的能力,从而显着提高了微服务架构的弹性。
-
电子商务中的实时异常检测:通过将此插件与 Prometheus 一起使用,电子商务平台可以监控关键绩效指标,例如响应时间和错误率。 将异常检测算法与抓取的指标集成在一起,可以识别指示潜在问题的意外模式,例如突然的流量高峰或后端服务故障。 这种主动监控增强了业务连续性和运营效率,最大限度地减少了潜在的停机时间,同时确保了服务可靠性。
-
API 的性能指标报告:利用 Prometheus 输出插件收集和报告 API 性能指标,然后可以在 Grafana 仪表板中对其进行可视化。 此用例支持对 API 响应时间、吞吐量和错误率进行详细分析,从而促进 API 服务的持续改进。 通过密切监控这些指标,团队可以快速响应性能下降,确保最佳 API 性能并保持高水平的服务可用性。
反馈
感谢您成为我们社区的一份子! 如果您有任何一般性反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。 请在 InfluxDB 社区 Slack 中提交您的反馈。
强大的性能,无限的扩展
收集、组织和处理海量高速数据。当您将任何数据视为时间序列数据时,它会更有价值。 借助 InfluxDB,排名第一的时序平台,旨在通过 Telegraf 进行扩展。
查看入门方法