我可以通过使用 node-exporter docker 映像作为我的微服务的 sidecar 从 AWS ECS Fargate 抓取指标吗?
Posted
技术标签:
【中文标题】我可以通过使用 node-exporter docker 映像作为我的微服务的 sidecar 从 AWS ECS Fargate 抓取指标吗?【英文标题】:Can I scrape metrics from AWS ECS Fargate by using node-exporter docker image as sidecar with my microservice? 【发布时间】:2021-10-26 07:56:49 【问题描述】:我正在为我的应用程序使用 AWS ECS Fargate,我想使用 prometheus node-exporter 作为 sidecar 来抓取 cpu 和内存等指标,这可能吗?
我已经尝试过了,我也得到了指标,但我怀疑这些指标是节点导出器容器本身而不是微服务。
【问题讨论】:
【参考方案1】:Fargate 任务中的 Sidecar 将作为非特权容器在完全对用户屏蔽的基础架构(即主机/操作系统)上运行。我不知道node-exporter
工作原理的详细信息,但我认为它假定了您在 Fargate 任务中无法实现的对主机的访问级别。我很想知道您这样做所获得的指标,因为我的第一个直觉是“您将一无所获”。
在 Fargate 任务中运行的应用程序可以自省并提取整个任务和在其中运行的容器的性能统计信息。这是通过查询ECS Task metadata endpoint 来完成的。我怀疑需要做的是......创建一个特殊用途的边车来获取这些统计数据并将它们公开为任务的/metrics
端点。我不知道存在这样的事情,但我在内部讨论过这个问题(我是 AWS 容器团队的一员),这可能会刺激我们中的一些人画出一些东西并将其作为实验/示例发布(虽然这里没有承诺)。
【讨论】:
以上是关于我可以通过使用 node-exporter docker 映像作为我的微服务的 sidecar 从 AWS ECS Fargate 抓取指标吗?的主要内容,如果未能解决你的问题,请参考以下文章
让gitlab暴露node-exporter供外部prometheus使用
我可以通过使用 node-exporter docker 映像作为我的微服务的 sidecar 从 AWS ECS Fargate 抓取指标吗?