Azure 事件中心和 Graylog 集成

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

info

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

50 亿+

Telegraf 下载量

#1

时序数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大的性能,无限扩展

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

查看入门方法

输入和输出集成概述

Azure 事件中心输入插件允许 Telegraf 从 Azure 事件中心和 Azure IoT Hub 消费数据,从而实现来自这些云服务的事件流的高效数据处理和监控。

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

集成详情

Azure 事件中心

此插件充当 Azure 事件中心和 Azure IoT Hub 的消费者,允许用户有效地从这些平台摄取数据流。Azure 事件中心是一个高度可扩展的数据流平台和事件摄取服务,能够每秒接收和处理数百万个事件,而 Azure IoT Hub 则在物联网应用中实现安全的设备到云和云到设备通信。Event Hub 输入插件与这些服务无缝交互,提供可靠的消息消费和流处理能力。主要功能包括消费者组的动态管理、防止数据丢失的消息跟踪以及预取计数、用户代理和元数据处理的可自定义设置。此插件旨在支持各种用例,包括实时遥测数据收集、物联网数据处理以及与更广泛的 Azure 生态系统中的各种数据分析和监控工具集成。

Graylog

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

配置

Azure 事件中心

[[inputs.eventhub_consumer]]
  ## The default behavior is to create a new Event Hub client from environment variables.
  ## This requires one of the following sets of environment variables to be set:
  ##
  ## 1) Expected Environment Variables:
  ##    - "EVENTHUB_CONNECTION_STRING"
  ##
  ## 2) Expected Environment Variables:
  ##    - "EVENTHUB_NAMESPACE"
  ##    - "EVENTHUB_NAME"
  ##    - "EVENTHUB_KEY_NAME"
  ##    - "EVENTHUB_KEY_VALUE"

  ## 3) Expected Environment Variables:
  ##    - "EVENTHUB_NAMESPACE"
  ##    - "EVENTHUB_NAME"
  ##    - "AZURE_TENANT_ID"
  ##    - "AZURE_CLIENT_ID"
  ##    - "AZURE_CLIENT_SECRET"

  ## Uncommenting the option below will create an Event Hub client based solely on the connection string.
  ## This can either be the associated environment variable or hard coded directly.
  ## If this option is uncommented, environment variables will be ignored.
  ## Connection string should contain EventHubName (EntityPath)
  # connection_string = ""

  ## Set persistence directory to a valid folder to use a file persister instead of an in-memory persister
  # persistence_dir = ""

  ## Change the default consumer group
  # consumer_group = ""

  ## By default the event hub receives all messages present on the broker, alternative modes can be set below.
  ## The timestamp should be in https://github.com/toml-lang/toml#offset-date-time format (RFC 3339).
  ## The 3 options below only apply if no valid persister is read from memory or file (e.g. first run).
  # from_timestamp =
  # latest = true

  ## Set a custom prefetch count for the receiver(s)
  # prefetch_count = 1000

  ## Add an epoch to the receiver(s)
  # epoch = 0

  ## Change to set a custom user agent, "telegraf" is used by default
  # user_agent = "telegraf"

  ## To consume from a specific partition, set the partition_ids option.
  ## An empty array will result in receiving from all partitions.
  # partition_ids = ["0","1"]

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

  ## Set either option below to true to use a system property as timestamp.
  ## You have the choice between EnqueuedTime and IoTHubEnqueuedTime.
  ## It is recommended to use this setting when the data itself has no timestamp.
  # enqueued_time_as_ts = true
  # iot_hub_enqueued_time_as_ts = true

  ## Tags or fields to create from keys present in the application property bag.
  ## These could for example be set by message enrichments in Azure IoT Hub.
  # application_property_tags = []
  # application_property_fields = []

  ## Tag or field name to use for metadata
  ## By default all metadata is disabled
  # sequence_number_field = "SequenceNumber"
  # enqueued_time_field = "EnqueuedTime"
  # offset_field = "Offset"
  # partition_id_tag = "PartitionID"
  # partition_key_tag = "PartitionKey"
  # iot_hub_device_connection_id_tag = "IoTHubDeviceConnectionID"
  # iot_hub_auth_generation_id_tag = "IoTHubAuthGenerationID"
  # iot_hub_connection_auth_method_tag = "IoTHubConnectionAuthMethod"
  # iot_hub_connection_module_id_tag = "IoTHubConnectionModuleID"
  # iot_hub_enqueued_time_field = "IoTHubEnqueuedTime"

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

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

输入和输出集成示例

Azure 事件中心

  1. 实时物联网设备监控:使用 Azure 事件中心插件监控来自物联网设备(如传感器和执行器)的遥测数据。通过将设备数据流式传输到监控仪表板,组织可以深入了解系统性能、跟踪使用模式并快速响应异常情况。这种设置允许对设备进行主动管理,从而提高运营效率并减少停机时间。

  2. 事件驱动的数据处理工作流:利用此插件根据从 Azure 事件中心收到的事件触发数据处理工作流。例如,当新事件到达时,它可以启动数据转换、聚合或存储过程,从而使企业能够更有效地自动化其工作流程。此集成增强了响应能力并简化了跨系统的操作。

  3. 与分析平台集成:实施此插件以将事件数据导入到分析平台(如 Azure Synapse 或 Power BI)。通过将实时流数据集成到分析工具中,组织可以执行全面的数据分析、推动商业智能工作并创建交互式可视化,从而为决策提供信息。

  4. 跨平台数据同步:利用 Azure 事件中心插件跨不同的系统或平台同步数据流。通过从 Azure 事件中心消费数据并将其转发到数据库或云存储等其他系统,组织可以在其整个架构中维护一致且最新的信息,从而实现有凝聚力的数据策略。

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 的检查点功能,以实现可靠的消息处理。

查看集成