普罗米修斯 - Docker/JVM 监控
Prometheus - Docker/JVM Monitoring
我计划使用 Prometheus 来监控 Docker 容器中的 JVM。我们使用 JMX 导出器的 javaagent 实现了这一点。我的问题是,当我使用 up/down 一个 docker 容器时,如何动态发现和更新我的 prometheus.yml 以便监视 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 客户端 docker 容器。它具有用于监控 Docker 中许多不同应用程序 运行 的代理 - Elasticsearch、Solr、Tomcat、MySQL 等:https://github.com/sematext/docker-spm-client
我计划使用 Prometheus 来监控 Docker 容器中的 JVM。我们使用 JMX 导出器的 javaagent 实现了这一点。我的问题是,当我使用 up/down 一个 docker 容器时,如何动态发现和更新我的 prometheus.yml 以便监视 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 客户端 docker 容器。它具有用于监控 Docker 中许多不同应用程序 运行 的代理 - Elasticsearch、Solr、Tomcat、MySQL 等:https://github.com/sematext/docker-spm-client