我打算使用 Prometheus 来监控 Docker 容器中的 JVM。我们使用 javaagent for JMX exporter 实现了这一点。我的问题是如何动态地发现和更新我的 prometheus.yml,以便在启动/关闭 docker 容器时监控 JVM 的抓取目标。我在 docker 容器中运行 tomcat。有什么建议么?
在此先感谢并感谢您的时间。卡尔提克
我打算使用 Prometheus 来监控 Docker 容器中的 JVM。我们使用 javaagent for JMX exporter 实现了这一点。我的问题是如何动态地发现和更新我的 prometheus.yml,以便在启动/关闭 docker 容器时监控 JVM 的抓取目标。我在 docker 容器中运行 tomcat。有什么建议么?
在此先感谢并感谢您的时间。卡尔提克
这取决于您通常如何进行服务发现。例如,如果您使用 Consul,您可以在 Prometheus 中使用 Consul SD 来查找您的导出器,可能使用 Gliderlab 的 Registrator 之类的东西。http://www.slideshare.net/brianbrazil/prometheus-and-docker-docker-galway-november-2015幻灯片 18 和 20 应该有助于为您指明正确的方向。
除了 Consul,在您的情况下,另一个主要选择是使用 Zookeeper Serverset 或让您的配置管理写出 yaml/json 目标文件以供 Prometheus 使用。
您可能想看看 SPM Client docker 容器。它具有用于监视 Docker 中运行的许多不同应用程序的代理 - Elasticsearch、Solr、Tomcat、MySQL 等:https ://github.com/sematext/docker-spm-client