The agent is designed primarily to manage and monitor resources running locally - that is, the agent and the managed resources are co-located on the same box.
However, it is possible for plugins running in an agent to manage remote resources. The plugin simply needs to be told somehow what the remote resource's IP address is, and it can talk to it.
But this presents with us with some issues that need to be addressed.
The remote managed resource will be placed in RHQ inventory with the agent's plaform as the top of the resource's hierarchy. Therefore, the remote resource will look as if it is running on the agent's platform when in fact it is not.
Resource keys created by plugins must take into account this possibility, otherwise, conflicts may occur between resource keys of resources running on the agent box and resource keys of resources running on remote boxes.
snmptrapd gets traps sent from equipment all over the place. Those senders form not resources in inventory currently. Many of the senders do not allow to run an agent on them (see next item).
Network equipment routers / switches / load balancers, which are all members of a logical cluster will not be able to install an agent, but still we will in the future want to manage and monitor them - e.g. via snmp