目录
输入和输出集成概述
Amazon ECS 输入插件使 Telegraf 能够从 AWS ECS 容器收集指标,从而提供有关容器性能和资源利用率的详细见解。
此插件使 Telegraf 能够使用 Prometheus remote write 协议将指标发送到 Cortex,从而可以无缝地摄取到 Cortex 的可扩展、多租户时序存储中。
集成详情
Amazon ECS
Telegraf 的 Amazon ECS 插件旨在从在 AWS Fargate 或 EC2 实例上运行的 ECS(弹性容器服务)任务中收集指标。通过利用 ECS 元数据和统计 API 端点(v2 和 v3),它可以获取有关任务中容器性能和运行状况的实时信息。此插件与被检查的工作负载在同一任务中运行,确保可以无缝访问元数据和统计信息。值得注意的是,它结合了 ECS 特定的功能,这些功能使其与 Docker 输入插件区分开来,例如处理唯一的 ECS 元数据格式和统计信息。用户可以包含或排除特定的容器,并调整要监视的容器状态,以及定义 ECS 标签的标签选项。这种灵活性允许定制的监控体验,以满足 ECS 环境的特定需求,从而增强对容器化应用程序的可观察性和控制。
Cortex
借助 Telegraf 的 HTTP 输出插件和 prometheusremotewrite
数据格式,您可以将指标直接发送到 Cortex,Cortex 是 Prometheus 的水平可扩展、长期存储后端。Cortex 支持多租户,并接受使用 Prometheus protobuf 格式的 remote write 请求。通过使用 Telegraf 作为收集代理,Remote Write 作为传输机制,组织可以将可观察性扩展到 Prometheus 本身不支持的来源(例如 Windows 主机、支持 SNMP 的设备或自定义应用程序指标),同时利用 Cortex 的高可用性和长期保留能力。
配置
Amazon ECS
[[inputs.ecs]]
# endpoint_url = ""
# container_name_include = []
# container_name_exclude = []
# container_status_include = []
# container_status_exclude = []
ecs_label_include = [ "com.amazonaws.ecs.*" ]
ecs_label_exclude = []
# timeout = "5s"
[[inputs.ecs]]
endpoint_url = "http://169.254.170.2"
# container_name_include = []
# container_name_exclude = []
# container_status_include = []
# container_status_exclude = []
ecs_label_include = [ "com.amazonaws.ecs.*" ]
ecs_label_exclude = []
# timeout = "5s"
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"
输入和输出集成示例
Amazon ECS
-
动态容器监控:使用 Amazon ECS 插件在自动扩展 ECS 架构中动态监控容器运行状况。当新的容器启动或关闭时,该插件将自动调整其收集的指标,确保有效地捕获每个容器的性能数据,而无需手动配置。
-
自定义资源分配警报:实施 ECS 插件以建立每个容器的资源使用阈值。通过与通知系统集成,团队可以在容器的 CPU 或内存使用率超出预定义限制时收到警报,从而实现主动资源管理并保持应用程序性能。
-
成本优化仪表板:利用从 ECS 插件收集的指标来创建仪表板,该仪表板可视化与每个容器关联的资源使用率和成本。这种洞察力使组织能够识别未充分利用的资源,优化与其容器基础设施相关的成本,从而提高云运营的财务效率。
-
高级容器安全监控:结合安全工具使用此插件,以监控 ECS 容器指标中的异常情况。通过持续分析使用模式,可以检测到任何突然的峰值或不规则行为,从而提示自动安全响应并维护系统完整性。
Cortex
-
统一的多租户监控:使用 Telegraf 从不同的团队或环境收集指标,并将它们与单独的
X-Scope-OrgID
标头一起推送到 Cortex。这实现了每个租户隔离的数据摄取和查询,非常适合托管服务和平台团队。 -
将 Prometheus 覆盖范围扩展到边缘设备:在边缘或物联网设备上部署 Telegraf 以收集系统指标,并将它们发送到集中的 Cortex 集群。这种方法即使对于没有本地 Prometheus 抓取器的环境,也能确保一致的可观察性。
-
具有联合租户的全球服务可观察性:通过配置 Telegraf 代理将数据推送到区域 Cortex 集群(每个集群都标记有租户标识符)来聚合来自全球基础设施的指标。Cortex 处理跨区域的重复数据删除和集中式访问。
-
自定义应用遥测管道:通过 Telegraf 的
exec
或http
输入插件收集特定于应用的遥测数据,并将其转发到 Cortex。这使 DevOps 团队能够以可扩展、查询高效的格式监控特定于应用的 KPI,同时保持按租户或服务逻辑分组的指标。
反馈
感谢您成为我们社区的一份子!如果您有任何一般性反馈或在这些页面上发现任何错误,我们欢迎并鼓励您提出意见。请在InfluxDB 社区 Slack 中提交您的反馈。