首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cloudwatch中的Docker容器统计信息

cloudwatch中的Docker容器统计信息
EN

Stack Overflow用户
提问于 2017-10-30 04:02:26
回答 1查看 1.2K关注 0票数 3

我正在使用Amazon AWS免费层进行概念验证。我在一个带有几个容器的EC2实例上运行docker。我知道您可以运行一些脚本来监控EC2实例的内存,但我想知道是否有脚本可以监控每个docker容器的CPU/内存并将结果发送到CloudWatch。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2018-07-19 22:49:41

在寻找各种选择之后。我没有找到任何特定的解决方案来将容器级别统计数据发送到cloud watch。

尽管如此,您可以重用Aws mon scripts并解析命令停靠器统计信息,大致如下:

代码语言:javascript
运行
复制
docker ps | tail -n +2 > dockerps.txt #all lines except the firts one.
running_containers = cat dockerps.txt | wc -l
for (i=0;i=running_containers;i++) {
    container_id = cat dockerps.txt |  tr -s ' ' | cut -d' ' -f1 | sed -n -e $ip
    image_name = cat dockerps.txt |  tr -s ' ' | cut -d' ' -f2 | sed -n -e $ip
    used_mem = docker stats --no-stream | grep $(cat dockerps.txt |  tr -s ' ' | cut -d' ' -f1 |  sed -n -e 3p) |  tr -s ' ' | cut -d' ' -f3
    #and now send it to cloudwatch using the mon script 
} 

或者选择cAdvisor + prometheus.io + Grafana (这就是我正在做的)

跟踪特定容器的内存使用情况,例如芹菜。我每分钟运行一次(使用crontab):

代码语言:javascript
运行
复制
docker ps | tail -n +2 > dockerps.txt
(echo -n  $(date)" " && docker stats --no-stream | grep $(cat dockerps.txt | grep celery |  tr -s ' ' | cut -d' ' -f1 ) |  tr -s ' ' | cut -d' ' -f3)

然后filebeat将所有的输出发送到elasticsearch集群,在那里我有一个这个值的图形,在logstash中也需要一个grok来解析它。或者你可以把它运到普罗米修斯。

我希望这对某些人有帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47004655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档