目录
输入和输出集成概述
NATS Consumer 输入插件支持从 NATS 消息主题实时消费数据,无缝集成到 Telegraf 数据管道中,用于监控和指标收集。
Graylog 插件允许您将 Telegraf 指标发送到 Graylog 服务器,利用 GELF 格式进行结构化日志记录。
集成详情
NATS
NATS Consumer 插件允许 Telegraf 从指定的 NATS 主题读取指标,并根据支持的输入数据格式创建指标。利用队列组允许多个 Telegraf 实例并行从 NATS 集群读取数据,从而提高吞吐量和可靠性。此插件还支持多种身份验证方法,包括用户名/密码、NATS 凭据文件和 nkey 种子文件,确保与 NATS 服务器的安全通信。由于 JetStream 等功能有助于消费历史消息,因此该插件在数据持久性和消息可靠性至关重要的环境中尤其有用。此外,配置各种操作参数的能力使该插件适用于高吞吐量场景,同时保持性能完整性。
Graylog
Graylog 插件旨在用于使用 GELF(Graylog 扩展日志格式)格式将指标发送到 Graylog 实例。GELF 有助于标准化日志数据,使系统更轻松地发送和分析日志。该插件遵循 GELF 规范,该规范规定了有效负载中特定字段的要求。值得注意的是,时间戳必须为 UNIX 格式,如果存在,插件会将时间戳原封不动地发送到 Graylog,而不会进行更改。如果省略,它会自动生成时间戳。此外,任何规范中未明确定义的额外字段都将以一个下划线为前缀,这有助于保持数据井井有条并符合 GELF 的要求。此功能对于实时监控应用程序和基础设施的用户尤其有价值,因为它允许跨多个系统进行无缝集成和提高可见性。
配置
NATS
[[inputs.nats_consumer]]
## urls of NATS servers
servers = ["nats://localhost:4222"]
## subject(s) to consume
## If you use jetstream you need to set the subjects
## in jetstream_subjects
subjects = ["telegraf"]
## jetstream subjects
## jetstream is a streaming technology inside of nats.
## With jetstream the nats-server persists messages and
## a consumer can consume historical messages. This is
## useful when telegraf needs to restart it don't miss a
## message. You need to configure the nats-server.
## https://docs.nats.io/nats-concepts/jetstream.
jetstream_subjects = ["js_telegraf"]
## name a queue group
queue_group = "telegraf_consumers"
## Optional authentication with username and password credentials
# username = ""
# password = ""
## Optional authentication with NATS credentials file (NATS 2.0)
# credentials = "/etc/telegraf/nats.creds"
## Optional authentication with nkey seed file (NATS 2.0)
# nkey_seed = "/etc/telegraf/seed.txt"
## Use Transport Layer Security
# secure = false
## 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
## Sets the limits for pending msgs and bytes for each subscription
## These shouldn't need to be adjusted except in very high throughput scenarios
# pending_message_limit = 65536
# pending_bytes_limit = 67108864
## 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
## 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
输入和输出集成示例
NATS
-
实时分析仪表板:利用 NATS 插件实时收集来自各种 NATS 主题的指标,并将它们馈送到集中式分析仪表板。此设置允许立即查看实时应用程序性能,使团队能够快速响应操作问题或性能下降。
-
分布式系统监控:在分布式架构中部署配置了 NATS 插件的 Telegraf 的多个实例。这种方法允许团队有效地聚合来自各种微服务的指标,提供系统健康状况和性能的整体视图,同时确保传输过程中不会丢失任何消息。
-
历史消息恢复:在 Telegraf 重新启动后,利用 NATS JetStream 的功能以及此插件来恢复和处理历史消息。此功能对于需要高可靠性的应用程序尤其有益,确保即使在服务中断的情况下也不会丢失任何关键指标。
-
动态负载均衡:实施动态负载均衡场景,其中 Telegraf 实例根据负载从 NATS 集群消费消息。调整队列组设置以控制活动消费者的数量,从而在需求波动时实现更好的资源利用和性能扩展。
Graylog
-
增强云应用程序的日志管理:使用 Graylog Telegraf 插件来聚合来自跨多个服务器的云部署应用程序的日志。通过集成此插件,团队可以集中管理日志数据,从而更轻松地解决问题、监控应用程序性能并保持符合日志记录标准。
-
实时安全监控:利用 Graylog 插件收集安全相关的指标和日志,并将它们发送到 Graylog 服务器进行实时分析。这使安全团队能够通过关联来自基础设施内各种来源的日志,快速识别异常、跟踪潜在的漏洞并及时响应事件。
-
动态警报和通知系统:实施 Graylog 插件以增强基础设施中的警报机制。通过将指标发送到 Graylog,团队可以根据日志模式或意外行为设置动态警报,从而实现主动监控和快速事件响应策略。
-
跨平台日志整合:使用 Graylog 插件来促进跨平台日志整合,涵盖本地部署、混合云和云等各种环境。通过以 GELF 格式标准化日志记录,组织可以确保一致的监控和故障排除实践,无论其服务托管在何处。
反馈
感谢您成为我们社区的一份子!如果您有任何一般性反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。请在 InfluxDB 社区 Slack 中提交您的反馈。