OneAgent is essentially a set of specialized processes that run on each monitored host. OneAgent collects metrics from the operating system it runs on and compares the metrics to baseline performance metrics. The most important metrics are then reported back to Dynatrace Server.
Additionally, OneAgent detects which processes run on each host and collects performance metrics for the most important processes. OneAgent can also monitor specific technologies (Java, Node.js, .NET, and more) in greater detail by injecting itself into those processes and monitoring their performance from within. This provides you with code-level insights into the services that your applications rely on.
Communication from OneAgent to Dynatrace is outbound only; Dynatrace never initiates communication with OneAgent. So there's no need to open ports for inbound communication when using Dynatrace. OneAgent can communicate directly to Dynatrace or it can communicate via a Dynatrace ActiveGate.