【问题标题】:monitoring memory usage in docker监控 docker 中的内存使用情况
【发布时间】:2015-11-17 13:18:20
【问题描述】:

我正在按顺序运行 1000 个 docker 容器。每个容器实例运行一个特定的作业。作业执行后,我杀死容器以释放资源并在另一个实例中运行另一个作业,依此类推。

我想获取每个容器的内存使用情况。每个容器一个值表示平均内存使用情况。

这怎么可能?

可能是prometheus,但是不知道怎么用

【问题讨论】:

    标签: performance memory docker containers monitoring


    【解决方案1】:

    可能是prometheus,但是不知道怎么用

    Prometheus 和 Cadvisor 是一种可能性,我在本周早些时候进行了一次演讲,其中有一个使用 Swarm 进行此操作的示例。见http://www.slideshare.net/brianbrazil/prometheus-and-docker-docker-galway-november-2015

    您感兴趣的指标随后将通过cadvisor 工作标签提供。

    【讨论】:

    • 但是,当您想要收集运行 3 秒的容器的内存使用情况时,Prometheus 效率不高
    • Prometheus 是为度量而设计的,像 3s 这样非常简短的东西是更多的事件,所以你应该看看一个事件记录系统。
    【解决方案2】:

    根据您的说法,您正在运行多个容器并希望抓取每个容器的内存使用情况。这可以通过舞会查询来完成。

    Container_memory_in_bytes 将实时为您提供有关每个容器使用多少内存的完整信息。

    请找到设置完整监控基础架构的链接。 enter link description here

    使用 Promquery,您可以实现这一目标。

    希望这回答了你的问题。

    【讨论】:

    • 你有例子吗?
    • 是的。正如您熟悉 docker 一样,您可以使用它创建完整的监控基础架构,并且作为不同的导出器,您可以使用它进行监控。请参考我在答案中添加的博客。如果您有任何问题,请告诉我。
    猜你喜欢
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-31
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多