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.