AMQP 和 New Relic 集成

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

info

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

50 亿+

Telegraf 下载量

#1

时序数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

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

收集、组织和处理海量高速数据。 当您将任何数据视为时序数据时,它会更有价值。 借助 InfluxDB,这是首屈一指的、旨在与 Telegraf 协同扩展的时序平台。

查看入门方法

输入和输出集成概述

AMQP Consumer 输入插件允许您从符合 AMQP 0-9-1 标准的消息代理(如 RabbitMQ)摄取数据,从而为监控和分析目的实现无缝数据收集。

此插件允许使用 Metrics API 将指标发送到 New Relic Insights,从而实现对应用程序性能的有效监控和分析。

集成详情

AMQP

此插件为 AMQP 0-9-1 提供了一个消费者,RabbitMQ 是其突出的实现之一。 AMQP 或高级消息队列协议最初是为了实现网络中不同系统之间可靠的、可互操作的消息传递而开发的。 该插件使用配置的队列和绑定键从主题交换中读取指标,从而提供了一种灵活高效的方式来从符合 AMQP 标准的消息传递系统中收集数据。 这使用户能够利用现有的 RabbitMQ 实施来有效地监控其应用程序,方法是捕获详细的指标以进行分析和告警。

New Relic

此插件利用 Metrics API 将指标写入 New Relic Insights,Metrics API 提供了一种将时序数据发送到 New Relic 平台的强大机制。 用户必须首先获取 Insights API Key 才能验证和授权其数据提交。 该插件旨在促进与 New Relic 的监控和分析功能的轻松集成,支持各种指标类型,并允许高效的数据处理。 核心功能包括为指标添加前缀以更好地识别、API 请求的可自定义超时以及对代理设置的支持以增强连接性。 用户必须根据自己的要求配置这些选项,以实现数据无缝流入 New Relic,从而进行全面的实时分析和洞察。

配置

AMQP

[[inputs.amqp_consumer]]
  ## Brokers to consume from.  If multiple brokers are specified a random broker
  ## will be selected anytime a connection is established.  This can be
  ## helpful for load balancing when not using a dedicated load balancer.
  brokers = ["amqp://localhost:5672/influxdb"]

  ## Authentication credentials for the PLAIN auth_method.
  # username = ""
  # password = ""

  ## Name of the exchange to declare.  If unset, no exchange will be declared.
  exchange = "telegraf"

  ## Exchange type; common types are "direct", "fanout", "topic", "header", "x-consistent-hash".
  # exchange_type = "topic"

  ## If true, exchange will be passively declared.
  # exchange_passive = false

  ## Exchange durability can be either "transient" or "durable".
  # exchange_durability = "durable"

  ## Additional exchange arguments.
  # exchange_arguments = { }
  # exchange_arguments = {"hash_property" = "timestamp"}

  ## AMQP queue name.
  queue = "telegraf"

  ## AMQP queue durability can be "transient" or "durable".
  queue_durability = "durable"

  ## If true, queue will be passively declared.
  # queue_passive = false

  ## Additional arguments when consuming from Queue
  # queue_consume_arguments = { }
  # queue_consume_arguments = {"x-stream-offset" = "first"}

  ## A binding between the exchange and queue using this binding key is
  ## created.  If unset, no binding is created.
  binding_key = "#"

  ## Maximum number of messages server should give to the worker.
  # prefetch_count = 50

  ## Max undelivered messages
  ## This plugin uses tracking metrics, which ensure messages are read to
  ## outputs before acknowledging them to the original broker to ensure data
  ## is not lost. This option sets the maximum messages to read from the
  ## broker that have not been written by an output.
  ##
  ## This value needs to be picked with awareness of the agent's
  ## metric_batch_size value as well. Setting max undelivered messages too high
  ## can result in a constant stream of data batches to the output. While
  ## setting it too low may never flush the broker's messages.
  # max_undelivered_messages = 1000

  ## Timeout for establishing the connection to a broker
  # timeout = "30s"

  ## Auth method. PLAIN and EXTERNAL are supported
  ## Using EXTERNAL requires enabling the rabbitmq_auth_mechanism_ssl plugin as
  ## described here: https://rabbitmq.cn/plugins.html
  # auth_method = "PLAIN"

  ## 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

  ## Content encoding for message payloads, can be set to
  ## "gzip", "identity" or "auto"
  ## - Use "gzip" to decode gzip
  ## - Use "identity" to apply no encoding
  ## - Use "auto" determine the encoding using the ContentEncoding header
  # content_encoding = "identity"

  ## Maximum size of decoded message.
  ## Acceptable units are B, KiB, KB, MiB, MB...
  ## Without quotes and units, interpreted as size in bytes.
  # max_decompression_size = "500MB"

  ## Data format to consume.
  ## Each data format has its own unique set of configuration options, read
  ## more about them here:
  ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
  data_format = "influx"

New Relic

[[outputs.newrelic]]
  ## The 'insights_key' parameter requires a NR license key.
  ## New Relic recommends you create one
  ## with a convenient name such as TELEGRAF_INSERT_KEY.
  ## reference: https://docs.newrelic.com/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key
  # insights_key = "New Relic License Key Here"

  ## Prefix to add to add to metric name for easy identification.
  ## This is very useful if your metric names are ambiguous.
  # metric_prefix = ""

  ## Timeout for writes to the New Relic API.
  # timeout = "15s"

  ## HTTP Proxy override. If unset use values from the standard
  ## proxy environment variables to determine proxy, if any.
  # http_proxy = "http://corporate.proxy:3128"

  ## Metric URL override to enable geographic location endpoints.
  # If not set use values from the standard
  # metric_url = "https://metric-api.newrelic.com/metric/v1"

输入和输出集成示例

AMQP

  1. 集成应用程序指标与 AMQP:使用 AMQP Consumer 插件来收集发布到 RabbitMQ 交换机的应用程序指标。 通过配置插件来侦听特定队列,团队可以深入了解应用程序性能,跟踪实时请求速率、错误计数和延迟指标。 这种设置不仅有助于异常检测,而且还为容量规划和系统优化提供有价值的数据。

  2. 事件驱动型监控:配置 AMQP Consumer 以在应用程序中满足某些条件时触发特定的监控事件。 例如,如果收到指示错误率高的消息,则插件可以将此数据馈送到监控工具中,生成警报或扩展事件。 这种集成可以提高对问题的响应速度并自动化部分操作工作流程。

  3. 跨平台数据聚合:利用 AMQP Consumer 插件来整合来自分布在不同平台上的各种应用程序的指标。 通过利用 RabbitMQ 作为集中式消息代理,组织可以统一其监控数据,从而通过 Telegraf 实现全面的分析和仪表板,从而保持跨异构环境的可见性。

  4. 实时日志处理:扩展 AMQP Consumer 的用途以捕获发送到 RabbitMQ 交换机的日志数据,实时处理日志以进行监控和告警。 此应用程序确保通过分析日志模式、趋势和异常情况(在发生时)来快速检测和解决操作问题。

New Relic

  1. 应用程序性能监控:使用 New Relic Telegraf 插件将 Web 服务的应用程序性能指标发送到 New Relic Insights。 通过集成此插件,开发人员可以收集响应时间、错误率和吞吐量等数据,使团队能够实时监控应用程序运行状况,并在问题影响用户之前快速解决问题。 这种设置促进了应用程序性能和用户体验的主动管理。

  2. 基础设施指标聚合:利用此插件聚合来自各种服务器的系统级指标(CPU 使用率、内存消耗等)并将其发送到 New Relic。 这有助于系统管理员维护基础设施性能的全面视图,从而促进容量规划并识别潜在的瓶颈。 通过在 New Relic 中集中指标,团队可以可视化随时间变化的趋势,并就资源分配做出明智的决策。

  3. 多租户应用程序的动态指标命名:使用 metric_prefix 选项实现动态前缀,以区分多租户应用程序中的不同租户。 通过配置插件以在指标名称中包含每个租户的唯一标识符,团队可以分析每个租户的使用模式和性能指标。 这提供了对租户行为的宝贵见解,支持定制优化并提高跨不同客户群的服务质量。

  4. 实时异常检测:将 New Relic 插件与告警机制相结合,以根据异常指标模式触发通知。 通过发送请求计数和响应时间等指标,团队可以在 New Relic 中设置阈值,当阈值被突破时,将自动提醒责任方。 这种用户驱动的方法支持对潜在问题做出即时响应,防止其升级为更大的事件。

反馈

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

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

收集、组织和处理海量高速数据。 当您将任何数据视为时序数据时,它会更有价值。 借助 InfluxDB,这是首屈一指的、旨在与 Telegraf 协同扩展的时序平台。

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成