目录
强大的性能,无限的扩展性
收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都更有价值。 使用 InfluxDB,第一的时间序列平台,旨在与 Telegraf 一起扩展。
查看入门方法
输入和输出集成概述
此插件通过 gRPC 接收来自 OpenTelemetry 客户端和代理的跟踪、指标和日志,从而实现对应用程序的全面可观测性。
此插件使 Telegraf 能够使用 Prometheus remote write 协议将指标发送到 Cortex,从而实现无缝摄取到 Cortex 的可扩展、多租户时间序列存储中。
集成详情
OpenTelemetry
OpenTelemetry 插件旨在通过 gRPC 接收来自实现 OpenTelemetry 的客户端和代理的遥测数据,例如跟踪、指标和日志。 此插件启动一个 gRPC 服务,监听传入的遥测数据,这使其与按定义的时间间隔收集指标的标准插件不同。 OpenTelemetry 生态系统通过提供一种供应商中立的方式来检测、生成、收集和导出遥测数据,从而帮助开发人员观察和理解其应用程序的性能。 此插件的主要功能包括可自定义的连接超时、传入数据的可调整最大消息大小,以及用于指定 span、log 和 profile 维度以标记传入指标的选项。 凭借这种灵活性,组织可以定制其遥测数据收集以满足精确的可观测性要求,并确保将数据无缝集成到 InfluxDB 等系统中。
Cortex
借助 Telegraf 的 HTTP 输出插件和 prometheusremotewrite
数据格式,您可以将指标直接发送到 Cortex,Cortex 是 Prometheus 的水平可扩展长期存储后端。 Cortex 支持多租户,并接受使用 Prometheus protobuf 格式的 remote write 请求。 通过使用 Telegraf 作为收集代理,Remote Write 作为传输机制,组织可以将可观测性扩展到 Prometheus 本身不支持的源(例如 Windows 主机、支持 SNMP 的设备或自定义应用程序指标),同时利用 Cortex 的高可用性和长期保留能力。
配置
OpenTelemetry
[[inputs.opentelemetry]]
## Override the default (0.0.0.0:4317) destination OpenTelemetry gRPC service
## address:port
# service_address = "0.0.0.0:4317"
## Override the default (5s) new connection timeout
# timeout = "5s"
## gRPC Maximum Message Size
# max_msg_size = "4MB"
## Override the default span attributes to be used as line protocol tags.
## These are always included as tags:
## - trace ID
## - span ID
## Common attributes can be found here:
## - https://github.com/open-telemetry/opentelemetry-collector/tree/main/semconv
# span_dimensions = ["service.name", "span.name"]
## Override the default log record attributes to be used as line protocol tags.
## These are always included as tags, if available:
## - trace ID
## - span ID
## Common attributes can be found here:
## - https://github.com/open-telemetry/opentelemetry-collector/tree/main/semconv
## When using InfluxDB for both logs and traces, be certain that log_record_dimensions
## matches the span_dimensions value.
# log_record_dimensions = ["service.name"]
## Override the default profile attributes to be used as line protocol tags.
## These are always included as tags, if available:
## - profile_id
## - address
## - sample
## - sample_name
## - sample_unit
## - sample_type
## - sample_type_unit
## Common attributes can be found here:
## - https://github.com/open-telemetry/opentelemetry-collector/tree/main/semconv
# profile_dimensions = []
## Override the default (prometheus-v1) metrics schema.
## Supports: "prometheus-v1", "prometheus-v2"
## For more information about the alternatives, read the Prometheus input
## plugin notes.
# metrics_schema = "prometheus-v1"
## Optional TLS Config.
## For advanced options: https://github.com/influxdata/telegraf/blob/v1.18.3/docs/TLS.md
##
## Set one or more allowed client CA certificate file names to
## enable mutually authenticated TLS connections.
# tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]
## Add service certificate and key.
# tls_cert = "/etc/telegraf/cert.pem"
# tls_key = "/etc/telegraf/key.pem"
Cortex
[[outputs.http]]
## Cortex Remote Write endpoint
url = "http://cortex.example.com/api/v1/push"
## Use POST to send data
method = "POST"
## Send metrics using Prometheus remote write format
data_format = "prometheusremotewrite"
## Optional HTTP headers for authentication
# [outputs.http.headers]
# X-Scope-OrgID = "your-tenant-id"
# Authorization = "Bearer YOUR_API_TOKEN"
## Optional TLS configuration
# tls_ca = "/path/to/ca.pem"
# tls_cert = "/path/to/cert.pem"
# tls_key = "/path/to/key.pem"
# insecure_skip_verify = false
## Request timeout
timeout = "10s"
输入和输出集成示例
OpenTelemetry
-
跨服务统一监控:使用 OpenTelemetry 插件收集和整合 Kubernetes 环境中各种微服务的遥测数据。 通过使用 OpenTelemetry 检测每个服务,您可以利用此插件实时收集应用程序性能和依赖关系的整体视图,从而更快地进行故障排除并提高复杂系统的可靠性。
-
通过跟踪增强调试:实施此插件以捕获流经多个服务的请求的端到端跟踪。 例如,当用户发起一个事务,触发多个后端服务时,OpenTelemetry 插件可以记录详细的跟踪,突出显示性能瓶颈,为开发人员提供调试问题和优化代码所需的见解。
-
动态负载测试和性能监控:在负载测试阶段,通过在模拟更高负载下收集实时指标和跟踪,利用此插件的功能。 这种方法有助于评估应用程序组件的弹性,并抢先识别潜在的性能下降,从而确保在生产中获得流畅的用户体验。
-
用于实时监控的集成日志记录和指标:将 OpenTelemetry 插件与日志记录框架结合使用,以收集实时日志以及指标数据,从而创建一个强大的可观测性平台。 例如,将其集成到 CI/CD 管道中以监控构建和部署,同时收集有助于实时诊断故障或性能问题的日志。
Cortex
-
统一的多租户监控:使用 Telegraf 从不同的团队或环境收集指标,并将它们与单独的
X-Scope-OrgID
标头一起推送到 Cortex。 这实现了每个租户的隔离数据摄取和查询,非常适合托管服务和平台团队。 -
将 Prometheus 覆盖范围扩展到边缘设备:在边缘或 IoT 设备上部署 Telegraf 以收集系统指标并将它们发送到中央 Cortex 集群。 即使对于没有本地 Prometheus scraper 的环境,此方法也能确保一致的可观测性。
-
具有联合租户的全局服务可观测性:通过配置 Telegraf 代理将数据推送到区域 Cortex 集群(每个集群都标有租户标识符)来聚合来自全球基础设施的指标。 Cortex 处理跨区域的重复数据删除和集中式访问。
-
自定义应用程序遥测管道:通过 Telegraf 的
exec
或http
输入插件收集特定于应用程序的遥测数据,并将其转发到 Cortex。 这使 DevOps 团队能够以可扩展、查询高效的格式监控特定于应用程序的 KPI,同时保持指标按租户或服务进行逻辑分组。
反馈
感谢您成为我们社区的一份子! 如果您有任何一般性反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。 请在 InfluxDB 社区 Slack 中提交您的反馈。
强大的性能,无限的扩展性
收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都更有价值。 使用 InfluxDB,第一的时间序列平台,旨在与 Telegraf 一起扩展。
查看入门方法