目录
强大的性能,无限的扩展能力
收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都更有价值。 借助 InfluxDB,这个排名第一的时间序列平台可与 Telegraf 一起扩展。
查看入门方法
输入和输出集成概述
NSQ Telegraf 插件从 NSQD 消息传递系统读取指标,从而实现实时数据处理和监控。
OpenSearch 输出插件允许用户使用 HTTP 将指标直接发送到 OpenSearch 实例,从而促进 OpenSearch 生态系统内有效的数据管理和分析。
集成详情
NSQ
NSQ 插件与实时消息传递平台 NSQ 接口,从而可以从 NSQD 读取消息。 此插件被归类为服务插件,这意味着它主动监听指标和事件,而不是定期轮询它们。 该插件强调可靠性,通过跟踪未送达的消息直到它们被输出确认来防止数据丢失。 该插件允许进行配置,例如指定 NSQLookupd 端点、主题和通道,并且它支持多种数据格式,以实现数据处理的灵活性。
OpenSearch
OpenSearch Telegraf 插件通过 HTTP 与 OpenSearch 数据库集成,从而可以简化指标的收集和存储。 作为一个专为 2.x 及更高版本的 OpenSearch 版本设计的强大工具,该插件提供了强大的功能,同时通过原始 Elasticsearch 插件提供了与 1.x 的兼容性。 此插件有助于在 OpenSearch 中创建和管理索引,自动管理模板并确保数据结构化以进行有效分析。 该插件支持各种配置选项,例如索引名称、身份验证、运行状况检查和值处理,使其可以根据不同的操作要求进行定制。 它的功能使其对于希望利用 OpenSearch 的强大功能进行指标存储和查询的组织来说至关重要。
配置
NSQ
# Read metrics from NSQD topic(s)
[[inputs.nsq_consumer]]
## Server option still works but is deprecated, we just prepend it to the nsqd array.
# server = "localhost:4150"
## An array representing the NSQD TCP HTTP Endpoints
nsqd = ["localhost:4150"]
## An array representing the NSQLookupd HTTP Endpoints
nsqlookupd = ["localhost:4161"]
topic = "telegraf"
channel = "consumer"
max_in_flight = 100
## 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"
OpenSearch
[[outputs.opensearch]]
## URLs
## The full HTTP endpoint URL for your OpenSearch instance. Multiple URLs can
## be specified as part of the same cluster, but only one URLs is used to
## write during each interval.
urls = ["http://node1.os.example.com:9200"]
## Index Name
## Target index name for metrics (OpenSearch will create if it not exists).
## This is a Golang template (see https://pkg.go.dev/text/template)
## You can also specify
## metric name (`{{.Name}}`), tag value (`{{.Tag "tag_name"}}`), field value (`{{.Field "field_name"}}`)
## If the tag does not exist, the default tag value will be empty string "".
## the timestamp (`{{.Time.Format "xxxxxxxxx"}}`).
## For example: "telegraf-{{.Time.Format \"2006-01-02\"}}-{{.Tag \"host\"}}" would set it to telegraf-2023-07-27-HostName
index_name = ""
## Timeout
## OpenSearch client timeout
# timeout = "5s"
## Sniffer
## Set to true to ask OpenSearch a list of all cluster nodes,
## thus it is not necessary to list all nodes in the urls config option
# enable_sniffer = false
## GZIP Compression
## Set to true to enable gzip compression
# enable_gzip = false
## Health Check Interval
## Set the interval to check if the OpenSearch nodes are available
## Setting to "0s" will disable the health check (not recommended in production)
# health_check_interval = "10s"
## Set the timeout for periodic health checks.
# health_check_timeout = "1s"
## HTTP basic authentication details.
# username = ""
# password = ""
## HTTP bearer token authentication details
# auth_bearer_token = ""
## Optional TLS Config
## Set to true/false to enforce TLS being enabled/disabled. If not set,
## enable TLS only if any of the other options are specified.
# tls_enable =
## Trusted root certificates for server
# tls_ca = "/path/to/cafile"
## Used for TLS client certificate authentication
# tls_cert = "/path/to/certfile"
## Used for TLS client certificate authentication
# tls_key = "/path/to/keyfile"
## Send the specified TLS server name via SNI
# tls_server_name = "kubernetes.example.com"
## Use TLS but skip chain & host verification
# insecure_skip_verify = false
## Template Config
## Manage templates
## Set to true if you want telegraf to manage its index template.
## If enabled it will create a recommended index template for telegraf indexes
# manage_template = true
## Template Name
## The template name used for telegraf indexes
# template_name = "telegraf"
## Overwrite Templates
## Set to true if you want telegraf to overwrite an existing template
# overwrite_template = false
## Document ID
## If set to true a unique ID hash will be sent as
## sha256(concat(timestamp,measurement,series-hash)) string. It will enable
## data resend and update metric points avoiding duplicated metrics with
## different id's
# force_document_id = false
## Value Handling
## Specifies the handling of NaN and Inf values.
## This option can have the following values:
## none -- do not modify field-values (default); will produce an error
## if NaNs or infs are encountered
## drop -- drop fields containing NaNs or infs
## replace -- replace with the value in "float_replacement_value" (default: 0.0)
## NaNs and inf will be replaced with the given number, -inf with the negative of that number
# float_handling = "none"
# float_replacement_value = 0.0
## Pipeline Config
## To use a ingest pipeline, set this to the name of the pipeline you want to use.
# use_pipeline = "my_pipeline"
## Pipeline Name
## Additionally, you can specify a tag name using the notation (`{{.Tag "tag_name"}}`)
## which will be used as the pipeline name (e.g. "{{.Tag \"os_pipeline\"}}").
## If the tag does not exist, the default pipeline will be used as the pipeline.
## If no default pipeline is set, no pipeline is used for the metric.
# default_pipeline = ""
输入和输出集成示例
NSQ
-
实时分析仪表板:将此插件与可视化工具集成,以创建仪表板,显示来自 NSQ 中各种主题的实时指标。 通过订阅特定主题,用户可以动态监控系统健康状况和应用程序性能,从而实现即时洞察并及时响应任何异常。
-
事件驱动的自动化:将 NSQ 与无服务器架构相结合,以根据传入的消息触发自动化工作流程。 此用例可能涉及处理机器学习模型的数据或响应应用程序中的用户操作,从而简化操作并通过快速处理增强用户体验。
-
多服务通信中心:在分布式架构中使用 NSQ 插件充当不同微服务之间的集中式消息传递中心。 通过使服务能够通过 NSQ 进行通信,开发人员可以确保可靠的消息传递,同时保持服务交互解耦,从而显着提高可扩展性和弹性。
-
用于增强监控的指标聚合:实施 NSQ 插件以聚合来自多个来源的指标,然后再将其发送到分析工具。 这种设置使企业能够整合来自各种应用程序和服务的数据,从而创建一个统一的视图,以便更好地进行决策和战略规划。
OpenSearch
-
时间序列数据的动态索引:利用 OpenSearch Telegraf 插件为时间序列指标动态创建索引,确保数据以有组织的方式存储,从而有利于基于时间的查询。 通过使用 Go 模板定义索引模式,用户可以利用该插件创建每日或每月索引,这可以大大简化一段时间内的数据管理和检索,从而提高分析性能。
-
多租户应用程序的集中式日志记录:在多租户应用程序中实施 OpenSearch 插件,其中每个租户的日志都发送到单独的索引。 这使得可以针对每个租户进行有针对性的分析和监控,同时保持数据隔离。 通过利用索引名称模板功能,用户可以自动创建特定于租户的索引,这不仅简化了流程,还增强了租户数据的安全性和可访问性。
-
与机器学习集成以进行异常检测:将 OpenSearch 插件与机器学习工具结合使用,以自动检测指标数据中的异常。 通过配置插件以将实时指标发送到 OpenSearch,用户可以将机器学习模型应用于传入的数据流,以识别异常值或不寻常的模式,从而促进主动监控和快速补救措施。
-
使用 OpenSearch 增强监控仪表板:使用从 OpenSearch 收集的指标来创建实时仪表板,从而提供对系统性能的洞察。 通过将指标馈送到 OpenSearch,组织可以利用 OpenSearch Dashboards 可视化关键绩效指标,从而使运营团队能够快速评估健康状况和性能,并做出数据驱动的决策。
反馈
感谢您成为我们社区的一份子! 如果您有任何一般反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。 请在 InfluxDB 社区 Slack 中提交您的反馈。
强大的性能,无限的扩展能力
收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都更有价值。 借助 InfluxDB,这个排名第一的时间序列平台可与 Telegraf 一起扩展。
查看入门方法