AMQP 和 Sumo Logic 集成

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

info

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

50 亿+

Telegraf 下载量

#1

时序数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

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

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

查看入门方法

输入和输出集成概述

AMQP Consumer 输入插件允许您从兼容 AMQP 0-9-1 的消息代理(例如 RabbitMQ)摄取数据,从而实现无缝数据收集,以用于监控和分析目的。

Sumo Logic 插件旨在方便将指标从 Telegraf 发送到 Sumo Logic 的 HTTP 源。通过使用此插件,用户可以在 Sumo Logic 平台上分析他们的指标数据,并利用各种输出数据格式。

集成详情

AMQP

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

Sumo Logic

此插件方便将指标传输到 Sumo Logic 的 HTTP 源,并为 HTTP 消息采用指定的数据格式。Telegraf 必须是 1.16.0 或更高版本,可以发送以多种格式编码的指标,包括 graphite、carbon2 和 prometheus。这些格式对应于 Sumo Logic 识别的不同内容类型,确保指标被正确解释以进行分析。与 Sumo Logic 的集成允许用户利用全面的分析平台,从而能够从他们的指标数据中获得丰富的可视化效果和见解。该插件提供了配置选项,例如设置 HTTP 指标源的 URL、选择数据格式以及指定超时和请求大小等附加参数,这些参数增强了数据监控工作流程的灵活性和控制。

配置

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"

Sumo Logic

[[outputs.sumologic]]
  ## Unique URL generated for your HTTP Metrics Source.
  ## This is the address to send metrics to.
  # url = "https://events.sumologic.net/receiver/v1/http/"

  ## Data format to be used for sending metrics.
  ## This will set the "Content-Type" header accordingly.
  ## Currently supported formats:
  ## * graphite - for Content-Type of application/vnd.sumologic.graphite
  ## * carbon2 - for Content-Type of application/vnd.sumologic.carbon2
  ## * prometheus - for Content-Type of application/vnd.sumologic.prometheus
  ##
  ## More information can be found at:
  ## https://help.sumologic.com/03Send-Data/Sources/02Sources-for-Hosted-Collectors/HTTP-Source/Upload-Metrics-to-an-HTTP-Source#content-type-headers-for-metrics
  ##
  ## NOTE:
  ## When unset, telegraf will by default use the influx serializer which is currently unsupported
  ## in HTTP Source.
  data_format = "carbon2"

  ## Timeout used for HTTP request
  # timeout = "5s"

  ## Max HTTP request body size in bytes before compression (if applied).
  ## By default 1MB is recommended.
  ## NOTE:
  ## Bear in mind that in some serializer a metric even though serialized to multiple
  ## lines cannot be split any further so setting this very low might not work
  ## as expected.
  # max_request_body_size = 1000000

  ## Additional, Sumo specific options.
  ## Full list can be found here:
  ## https://help.sumologic.com/03Send-Data/Sources/02Sources-for-Hosted-Collectors/HTTP-Source/Upload-Metrics-to-an-HTTP-Source#supported-http-headers

  ## Desired source name.
  ## Useful if you want to override the source name configured for the source.
  # source_name = ""

  ## Desired host name.
  ## Useful if you want to override the source host configured for the source.
  # source_host = ""

  ## Desired source category.
  ## Useful if you want to override the source category configured for the source.
  # source_category = ""

  ## Comma-separated key=value list of dimensions to apply to every metric.
  ## Custom dimensions will allow you to query your metrics at a more granular level.
  # dimensions = ""
</code></pre>

输入和输出集成示例

AMQP

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

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

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

  4. 实时日志处理:扩展 AMQP Consumer 的使用,以捕获发送到 RabbitMQ 交换的日志数据,实时处理日志以用于监控和警报目的。此应用程序确保通过分析日志模式、趋势和异常情况来及时检测和解决操作问题。

Sumo Logic

  1. 实时系统监控仪表板:利用 Sumo Logic 插件将服务器的性能指标持续馈送到 Sumo Logic 仪表板中。这种设置允许技术团队实时可视化系统健康状况和负载,从而可以通过详细的图表和指标更快地识别任何性能瓶颈或系统故障。

  2. 自动化警报系统:配置插件以发送指标,这些指标会在 Sumo Logic 中触发针对特定阈值(例如 CPU 使用率或内存消耗)的警报。通过设置自动化警报,团队可以在问题升级为严重故障之前主动解决问题,从而显着提高响应时间和整体系统可靠性。

  3. 跨系统指标聚合:在不同环境(开发、测试、生产)中集成多个 Telegraf 实例,并使用此插件将所有指标汇集到中央 Sumo Logic 实例。这种聚合实现了跨环境的全面分析,从而有助于在软件开发生命周期中进行更好的监控和知情的决策。

  4. 具有维度跟踪的自定义指标:使用 Sumo Logic 插件发送自定义指标,这些指标包括标识基础设施各个方面的维度(例如,环境、服务类型)。这种精细的跟踪可以实现更定制化的分析,使您的团队能够剖析跨不同应用程序层或业务功能的性能。

反馈

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

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

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

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成