3

Can you explain, in brief, how the Apache Brooklyn architecture injects itself to a project (e.g Spring Boot, Node etc) and pulls metrics data from it? Does it have a plugin to be used in the Java project? Or, does it directly pull metrics like Prometheus does? If so, how?

I just need to understand an overview. I could not understand much from the docs.

sofa_maniac
  • 1,659
  • 2
  • 12
  • 21

1 Answers1

4

Apache Brooklyn runs on 'management servers' - that is where the application management logic runs. There is no requirement to install agents on the server(s) of your applications.

For in-live management of your applications, Brooklyn can pull metrics from a range of different sources. We'll break this down into two categories.

Use the application's management interface

If your application exposes metrics, these can be retrieved direct from the server(s).

For example, the JBoss/Wildfly app-server exposes metrics via a http(s) endpoint, as do systems like CouchDB. Similarly, Brooklyn could retrieve metrics directly using JMX, SNMP, etc.

As a least-efficient approach (!), Brooklyn could even be configured to periodically execute a command over ssh/winrm to retrieve system metrics about the application.

Via 3rd Party Monitoring Systems

Many folk already have a monitoring system in place - e.g. New Relic, Datadog, AppDynamics, Dynatrace, Prometheus, etc.

Brooklyn can connect to 3rd party monitoring system to retrieve metrics (or alerts) about the components of your application(s).

This approach scales much better for monitoring/managing thousands of components.

Aled Sage
  • 766
  • 7
  • 12