您能否简要解释一下 Apache Brooklyn 架构如何将自身注入到项目(例如 Spring Boot、Node 等)并从中提取指标数据?它有在 Java 项目中使用的插件吗?或者,它是否像 Prometheus 那样直接提取指标?如果是这样,怎么做?
我只需要了解一个概述。我从文档中无法理解太多。
Apache Brooklyn 运行在“管理服务器”上——这是应用程序管理逻辑运行的地方。无需在应用程序的服务器上安装代理。
对于您的应用程序的实时管理,Brooklyn 可以从一系列不同的来源中提取指标。我们将把它分为两类。
使用应用程序的管理界面
如果您的应用程序公开了指标,则可以直接从服务器检索这些指标。
例如,JBoss/Wildfly 应用服务器通过 http(s) 端点公开指标,像 CouchDB 这样的系统也是如此。同样,Brooklyn 可以使用 JMX、SNMP 等直接检索指标。
作为一种效率最低的方法 (!),Brooklyn 甚至可以配置为通过 ssh/winrm 定期执行命令以检索有关应用程序的系统指标。
通过第 3 方监控系统
许多人已经有了一个监控系统——例如 New Relic、Datadog、AppDynamics、Dynatrace、Prometheus 等。
Brooklyn 可以连接到第 3 方监控系统,以检索有关应用程序组件的指标(或警报)。
这种方法可以更好地监控/管理数千个组件。