首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在已经存在的码头容器上安装Prometheus节点导出程序?

如何在已经存在的码头容器上安装Prometheus节点导出程序?
EN

Stack Overflow用户
提问于 2020-01-02 10:51:45
回答 1查看 4.7K关注 0票数 1

我有3个节点在单独的Docker容器中运行,我希望使用Prometheus来监视它们。我已经用Prometheus服务器部署了一个码头容器,但是需要在容器中安装节点导出器,以便将度量导出到服务器。容器使用Ubuntu映像构建,每个容器中运行一个.jar。

  1. 如何在已经运行的容器上安装节点导出二进制文件?
  2. 如何确保重新启动后,节点导出程序会自动安装?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-02 11:08:49

Prometheus节点出口商收集“由*NIX内核公开的硬件和操作系统度量”。由于给定主机上的所有Docker容器共享同一个主机内核,因此在每个容器中运行这一点是没有意义的。运行它一次,并根据它收集的统计数据的性质,直接在主机上运行它。(探测设备统计信息、进程和NTP守护进程的状态在容器中无法正常工作。)

如果您只想监视您的应用程序,则需要添加Prometheus Java库并让应用程序在/metrics上提供其数据。您不需要节点导出程序,而且这个设置没有特定于Docker的内容。

通常情况下,您永远不会在运行的容器中安装任何东西,因为一旦容器退出并被删除,它就会丢失(这是非常例行的事件)。“如何在容器中安装X”的一般答案是将其添加到映像的Dockerfile中,重新运行docker build以重建映像,停止和删除现有容器,并根据新映像重新运行docker run

此外,作为一般规则,在Docker容器中运行多个进程是不可取的:它增加了很大的复杂性和操作困难。( shell脚本有一种快速和肮脏的方式,但如果一个进程或另一个进程失败了,您不会注意到;有一种复杂的方式涉及监督管理,但它可以隐藏进程输出,您可能不会意识到严重的麻烦。)如果您确实想在Docker中运行节点导出程序(几乎禁用了所有Docker的控件),那么通常会在一个单独的容器中运行它。

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

https://stackoverflow.com/questions/59562090

复制
相关文章

相似问题

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