You use the Machine Agent to collect basic hardware metrics. The Machine Agent is a Java program that has an extensible architecture enabling you to supplement the basic metrics reported in the AppDynamics Controller UI with your own custom metrics. The Machine Agent is also the delivery vehicle for AppDynamics Server Visibility, which provides an expanded set of hardware metrics and additional monitoring capability. Server Visibility requires its own license. 

Functionality provided by the Machine Agent includes:

One Machine Agent license is included for each machine that has a licensed App Agent installed. The Machine Agent collects infrastructure metrics from multiple extensions and forwards them to the Controller. You can also use these metrics to find correlations between infrastructure issues on one or more servers and application-performance issues reported by the App Agents. 

Machine Agent Architecture