我试图使用ADOT Collector将Amazon ECS的指标数据可视化在Prometheus和Grafana上

首先

在上一篇文章中,我们介绍了如何在Amazon ECS上使用Container Insights进行监控。使用AWS CLI的仅一个命令,即可快速启用Container Insights,这是其特点之一。

我认为在Container Insights中可以进行足够的操作,但个人有一个疑虑。在Container Insights中,无法获取到任务单位的过去指标。虽然可以获取到最新的指标,但无法回溯到过去进行确认。虽然可以获取到服务单位的过去指标,这已经足够了。但个人有时想查看任务单位的过去指标,所以会尝试验证其他方法。

用Prometheus和Grafana进行可视化

在ECS中,可以利用ADOT Collector(AWS Distro for OpenTelemetry Collector)来收集容器的指标数据。通过使用它,可以按任务单位获取和可视化过去的指标数据。本次整理将介绍如何使用ADOT Collector来使用Prometheus和Grafana的托管服务。

image-20221120180235552.png

首先介绍一下可视化的方式,以下是一个简单的可视化示例,可以根据每个ECS任务获取内存和CPU的使用率。由于可视化可以自动按照ECS任务的增加、减少或重新创建而实时更新,因此可以方便地进行监控。

image-20221120181028802.png

在图表中,可以看到由「5b59c2643a7e4dba9749b8ad98d86ecb」和「c3b87ca3f42540689ac3f0a00f23843f」组成的字符串序列,这些是ECS的任务ID。黄色和绿色的线表示两个任务的状态。

那么,让我们来确认一下使用 ADOT Collector 的配置方法吧!

亚马逊提供的Prometheus托管服务

亚马逊管理的Prometheus服务(AMP)已经创建好了。在AMP的详细页面中,可以看到Endpoint – remote write URL的显示。

image-20221114003918307.png

创建ECS任务定义

创建ECS的任务定义。在任务定义中,有一个启用ADOT收集器的选项。选择创建新的任务定义。

image-20221114004217197.png

我会随便填写一个名字。

image-20221114004358969.png

选择第一个容器映像并随意指定。内容可以是任何东西,该容器是一个独立应用程序的容器位置。

image-20221114004500551.png

同样地,也要随意指定第二个容器图像。

image-20221114004558002.png

按下”下一步”按钮。

image-20221114005131800.png

指定角色。以下是授予 ADOT Collector 相关权限的角色。

image-20221114005231588.png

日志收集部分保持默认设置。

image-20221114005508644.png

这里是与ADOT Collector相关的重要部分。通过以下方式指定,可以在ECS任务内启动ADOT Collector容器。

    • Use trace colelction : on

 

    • Use metric collection : on

 

    Amazon Managed Service for Prometheus の [Endpoint – remote write URL] を指定
image-20221114005532606.png

点击“Create”。

image-20221114005552785.png

任務的定义已经创建完成。

    Container に、自動的に aws-otel-collector が入っている。これは、AWS Distro for OpenTelemetry Collector のコンテナイメージとなる。
image-20221114005732198.png

创建服务

使用创建的 ECS 任务来创建适当的服务。

image-20221114005948390.png

随意设定并部署。

image-20221114010108525.png

已经部署完成了。

image-20221114010621112.png

ADOT Collector的日志

在 CloudWatch Logs 中,存在一个关于 ADOT Collector 的日志组。

image-20221114011055870.png

如果你随意选择的话

image-20221114011129417.png

有各种各样的日志信息。

image-20221114011151172.png

Grafana权限设置

亚马逊托管的Grafana (AMG) 已预先启用,但需要进行权限设置才能访问AMP。

image-20221114011806370.png

关于AMP,我们启用它。

image-20221114011830109.png

更新中。

經過一段時間後,變成了「Active」。

image-20221114011857901.png

使用Grafana进行数据可视化。

展示Grafana页面。

image-20221114011500871.png

我选择使用AWS服务。

image-20221114011607916.png

选择普罗米修斯。

image-20221114011644588.png

选择地区并指定AMP,然后点击添加1个数据源。

image-20221114012024805.png

打开仪表盘。

image-20221114013346178.png

添加一个新的面板。

image-20221114013404274.png

更改数据源,并选择AMP。

image-20221114013528699.png

请按下“应用”按钮来指定以下字符串。每个任务都可以获取到 CPU 使用率。

ecs_task_cpu_utilized
{{aws_ecs_task_id}}
ECS CPU Utilized
image-20221114013848402.png

另外,点击第二个“添加面板”按钮。

image-20221114015530776.png

添加

image-20221114015558231.png

添加有关内存的面板。

ecs_task_memory_utilized
{{aws_ecs_task_id}}
image-20221114015810507.png

如此,已成功获取了有关内存和CPU的指标。

image-20221114015837521.png

通过验证我们所发现的东西

image-20221114015208226.png

请提供网址参考

 

广告
将在 10 秒后关闭
bannerAds