我计划使用Prometheus来监控Docker Container中的JVM。我们使用javaagent为JMX导出器实现了这一点。我的问题是当我启动/关闭docker容器时,如何动态发现和更新我的prometheus.yml以获取要监视的JVM的scrape目标。我在docker容器中运行tomcat。有什么建议吗?
提前致谢并感谢您的时间。 KARTHIK
答案 0 :(得分:1)
这取决于您通常如何进行服务发现。例如,如果您使用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使用。
答案 1 :(得分:0)
您可能需要查看SPM Client docker容器。它具有用于监视在Docker中运行的许多不同应用程序的代理 - Elasticsearch,Solr,Tomcat,MySQL等:https://github.com/sematext/docker-spm-client