SNMP Trap 和 Prometheus 集成

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

info

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

50 亿+

Telegraf 下载量

#1

时序数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大的性能,无限的扩展

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

查看入门方法

输入和输出集成概述

SNMP Trap Telegraf 插件能够接收 SNMP 通知,通过捕获来自网络设备的重要事件来促进全面的网络监控。

Prometheus 输出插件使 Telegraf 能够在 HTTP 端点公开指标,以供 Prometheus 服务器抓取。此集成允许用户以 Prometheus 可以有效处理的格式从各种来源收集和聚合指标。

集成详情

SNMP Trap

SNMP Trap 插件充当 SNMP 通知(称为 traps 和 inform 请求)的接收端点。它通过 UDP 运行,监听传入的通知,这些通知可以配置为在特定端口上到达。此插件是网络监控和管理不可或缺的一部分,它允许系统收集和响应从网络中各种设备(包括路由器、交换机和服务器)发送的 SNMP traps。该插件通过 SNMPv3 支持安全传输选项,从而可以启用身份验证和加密参数以保护敏感数据。此外,它还为用户提供了配置 SNMP 多个方面的灵活性,例如 MIB 文件位置,使其能够适应各种环境和用例。建议从已弃用的 netsnmp 后端过渡到最新的 gosmi 后端,以利用其增强的功能和支持。实施此插件的用户可以有效地监控网络事件、自动响应 traps 并维护强大的网络监控基础设施。

Prometheus

此插件有助于与 Prometheus 集成,Prometheus 是一种著名的开源监控和警报工具包,专为大规模环境中的可靠性和效率而设计。通过充当 Prometheus 客户端,它允许用户通过 HTTP 服务器公开一组定义的指标,Prometheus 可以按指定的时间间隔抓取这些指标。此插件在监控各种系统中发挥着至关重要的作用,它允许这些系统以标准化格式发布性能指标,从而能够广泛了解系统健康状况和行为。主要功能包括支持配置各种端点、启用 TLS 以进行安全通信以及 HTTP 基本身份验证选项。该插件还与全局 Telegraf 配置设置无缝集成,支持广泛的自定义以满足特定的监控需求。这促进了不同系统必须有效通信性能数据的环境中的互操作性。利用 Prometheus 的指标格式,它允许通过高级配置(例如指标过期和收集器控制)进行灵活的指标管理,为监控和警报工作流程提供复杂的解决方案。

配置

SNMP Trap

[[inputs.snmp_trap]]
  ## Transport, local address, and port to listen on.  Transport must
  ## be "udp://".  Omit local address to listen on all interfaces.
  ##   example: "udp://127.0.0.1:1234"
  ##
  ## Special permissions may be required to listen on a port less than
  ## 1024.  See README.md for details
  ##
  # service_address = "udp://:162"
  ##
  ## Path to mib files
  ## Used by the gosmi translator.
  ## To add paths when translating with netsnmp, use the MIBDIRS environment variable
  # path = ["/usr/share/snmp/mibs"]
  ##
  ## Deprecated in 1.20.0; no longer running snmptranslate
  ## Timeout running snmptranslate command
  # timeout = "5s"
  ## Snmp version; one of "1", "2c" or "3".
  # version = "2c"
  ## SNMPv3 authentication and encryption options.
  ##
  ## Security Name.
  # sec_name = "myuser"
  ## Authentication protocol; one of "MD5", "SHA", "SHA224", "SHA256", "SHA384", "SHA512" or "".
  # auth_protocol = "MD5"
  ## Authentication password.
  # auth_password = "pass"
  ## Security Level; one of "noAuthNoPriv", "authNoPriv", or "authPriv".
  # sec_level = "authNoPriv"
  ## Privacy protocol used for encrypted messages; one of "DES", "AES", "AES192", "AES192C", "AES256", "AES256C" or "".
  # priv_protocol = ""
  ## Privacy password used for encrypted messages.
  # priv_password = ""

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 = []

输入和输出集成示例

SNMP Trap

  1. 集中式网络监控:将 SNMP Trap 插件集成到集中式监控解决方案中,以实时接收有关网络设备的警报。通过配置插件以侦听来自各种路由器和交换机的 traps,网络管理员可以快速响应问题,例如设备中断或超出关键阈值。此设置能够实现主动管理和快速解决网络问题,从而最大限度地减少停机时间。

  2. 自动化事件响应:每当收到特定 traps 时,使用 SNMP Trap 插件触发自动化事件响应工作流程。例如,如果检测到指示硬件故障的 trap,则可以启动自动化脚本来收集诊断信息、通知支持人员,甚至尝试补救措施。这种方法通过减少人工干预和加快响应时间来提高 IT 运营的效率。

  3. 网络性能分析:部署 SNMP Trap 插件以收集性能指标以及 traps,以便全面了解网络健康状况。通过将此数据聚合到分析平台中,网络团队可以分析趋势、识别瓶颈并根据历史数据优化性能。这有助于围绕网络升级或更改做出明智的决策和战略规划。

  4. 与警报系统集成:将 SNMP Trap 插件连接到 PagerDuty 或 Slack 等第三方警报系统。收到预定义的 traps 后,该插件可以将警报发送到这些系统,使团队能够立即收到重要网络事件的通知。这种集成确保在正确的时间通知正确的人员,从而有助于维持高服务水平和快速解决问题。

Prometheus

  1. 监控多云部署:利用 Prometheus 插件从跨多个云提供商运行的应用程序收集指标。这种情况允许团队通过单个 Prometheus 实例集中监控,该实例从不同环境抓取指标,从而提供跨混合基础设施的性能指标的统一视图。它简化了报告和警报,提高了运营效率,而无需复杂的集成。

  2. 增强微服务可见性:实施该插件以公开来自 Kubernetes 集群中各种微服务的指标。使用 Prometheus,团队可以实时可视化服务指标、识别瓶颈并维护系统健康检查。此设置支持基于从收集的指标生成的见解进行自适应扩展和资源利用率优化。它增强了对服务交互进行故障排除的能力,从而显着提高了微服务架构的弹性。

  3. 电子商务中的实时异常检测:通过将此插件与 Prometheus 一起使用,电子商务平台可以监控关键性能指标,例如响应时间和错误率。将异常检测算法与抓取的指标集成在一起,可以识别指示潜在问题的意外模式,例如突发的流量峰值或后端服务故障。这种主动监控增强了业务连续性和运营效率,最大限度地减少了潜在的停机时间,同时确保了服务的可靠性。

  4. API 的性能指标报告:利用 Prometheus 输出插件收集和报告 API 性能指标,然后可以在 Grafana 仪表板中可视化这些指标。此用例能够详细分析 API 响应时间、吞吐量和错误率,从而促进 API 服务的持续改进。通过密切监控这些指标,团队可以快速响应性能下降,确保最佳 API 性能并保持高水平的服务可用性。

反馈

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

强大的性能,无限的扩展

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

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成