目录
强大的性能,无限的扩展能力
收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都会更有价值。 借助 InfluxDB,这个排名第一的时间序列平台旨在与 Telegraf 一起扩展。
查看入门方法
输入和输出集成概述
此插件通过 gRPC 接收来自 OpenTelemetry 客户端和代理的跟踪、指标和日志,从而实现对应用程序的全面可观测性。
MongoDB Telegraf 插件使用户能够将指标发送到 MongoDB 数据库,并自动管理时间序列集合。
集成详情
OpenTelemetry
OpenTelemetry 插件旨在接收来自客户端和代理的遥测数据,例如跟踪、指标和日志,这些客户端和代理通过 gRPC 实施 OpenTelemetry。 此插件启动一个 gRPC 服务来侦听传入的遥测数据,这使其与按定义的时间间隔收集指标的标准插件不同。 OpenTelemetry 生态系统通过提供一种供应商中立的方式来检测、生成、收集和导出遥测数据,从而帮助开发人员观察和理解其应用程序的性能。 此插件的主要功能包括可自定义的连接超时、可调整的传入数据最大消息大小,以及用于指定跨度、日志和配置文件维度以标记传入指标的选项。 凭借这种灵活性,组织可以定制其遥测数据收集以满足精确的可观测性要求,并确保数据无缝集成到 InfluxDB 等系统中。
MongoDB
此插件将指标发送到 MongoDB,并与其时间序列功能无缝集成,从而允许在时间序列集合尚不存在时自动创建它们。 它需要 MongoDB 5.0 或更高版本才能使用时间序列集合功能,这对于高效存储和查询基于时间的数据至关重要。 此插件通过确保所有相关指标都正确存储和组织在 MongoDB 中,从而增强了监控功能,使用户能够利用 MongoDB 强大的查询和聚合功能进行时间序列分析。
配置
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"
MongoDB
[[outputs.mongodb]]
# connection string examples for mongodb
dsn = "mongodb://localhost:27017"
# dsn = "mongodb://mongod1:27017,mongod2:27017,mongod3:27017/admin&replicaSet=myReplSet&w=1"
# overrides serverSelectionTimeoutMS in dsn if set
# timeout = "30s"
# default authentication, optional
# authentication = "NONE"
# for SCRAM-SHA-256 authentication
# authentication = "SCRAM"
# username = "root"
# password = "***"
# for x509 certificate authentication
# authentication = "X509"
# tls_ca = "ca.pem"
# tls_key = "client.pem"
# # tls_key_pwd = "changeme" # required for encrypted tls_key
# insecure_skip_verify = false
# database to store measurements and time series collections
# database = "telegraf"
# granularity can be seconds, minutes, or hours.
# configuring this value will be based on your input collection frequency.
# see https://docs.mongodb.com/manual/core/timeseries-collections/#create-a-time-series-collection
# granularity = "seconds"
# optionally set a TTL to automatically expire documents from the measurement collections.
# ttl = "360h"
输入和输出集成示例
OpenTelemetry
-
跨服务的统一监控:使用 OpenTelemetry 插件收集和整合 Kubernetes 环境中各种微服务的遥测数据。 通过使用 OpenTelemetry 检测每个服务,您可以利用此插件实时收集应用程序性能和依赖关系的整体视图,从而更快地进行故障排除并提高复杂系统的可靠性。
-
通过跟踪增强调试:实施此插件以捕获流经多个服务的请求的端到端跟踪。 例如,当用户发起一个触发多个后端服务的事务时,OpenTelemetry 插件可以记录详细的跟踪,突出显示性能瓶颈,从而为开发人员提供必要的见解来调试问题并优化其代码。
-
动态负载测试和性能监控:在负载测试阶段,通过收集模拟更高负载下的实时指标和跟踪,利用此插件的功能。 这种方法有助于评估应用程序组件的弹性,并主动识别潜在的性能下降,从而确保在生产环境中获得流畅的用户体验。
-
用于实时监控的集成日志记录和指标:将 OpenTelemetry 插件与日志记录框架结合使用,以收集实时日志以及指标数据,从而创建一个强大的可观测性平台。 例如,将其集成到 CI/CD 管道中以监控构建和部署,同时收集有助于实时诊断故障或性能问题的日志。
MongoDB
-
IoT 设备的 MongoDB 动态日志记录:使用此插件实时收集和存储来自大量 IoT 设备的指标。 通过将设备日志直接发送到 MongoDB,您可以创建一个集中式数据库,该数据库允许轻松访问和查询健康指标和性能数据,从而根据历史趋势实现主动维护和故障排除。
-
Web 流量的时间序列分析:使用 MongoDB Telegraf 插件收集和分析一段时间内的 Web 流量指标。 此应用程序可以帮助您了解高峰使用时间、用户交互和行为模式,从而指导营销策略和基础设施扩展决策,以改善用户体验。
-
自动化监控和警报系统:将 MongoDB 插件集成到跟踪应用程序性能指标的自动化监控系统中。 借助时间序列集合,您可以根据特定阈值设置警报,使您的团队能够在潜在问题影响用户之前做出响应。 这种主动管理可以提高服务可靠性和整体性能。
-
指标存储中的数据保留和 TTL 管理:利用 MongoDB 集合中文档的 TTL 功能来自动过期过时的指标。 这对于仅最近的性能数据相关的环境尤其有用,可以防止您的 MongoDB 数据库因旧指标而变得混乱,并确保高效的数据管理。
反馈
感谢您成为我们社区的一份子! 如果您有任何一般性反馈或在这些页面上发现任何错误,我们欢迎并鼓励您提供意见。 请在 InfluxDB 社区 Slack 中提交您的反馈。
强大的性能,无限的扩展能力
收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都会更有价值。 借助 InfluxDB,这个排名第一的时间序列平台旨在与 Telegraf 一起扩展。
查看入门方法