The Java SDK for AppDynamics Extensions runs a few checks to validate the Application and Machine Agent configuration and to ensure an error-free run of any configured extensions. These checks on validation (or failure) log messages in the Machine Agent logs to help debug any issues. These checks are primarily categorized into:
AppTierNode Check: Ensures correct Machine Agent and SIM configuration with the following checks:
ControllerInfo: Controller information can be configured either using System properties or via the controller-info.xml file present in the path <MachineAgent>/conf. Extension checks verify data from both places. In case the Controller information is not found in either of the places, then the missing ControllerInfo error message is logged.
SIM Enabled: From the controller-info obtained in previous step, this checks if SIM is enabled or not.
Application/Tier/Node: Based on the result obtained in the previous step:
When SIM is disabled, configuring the App/Tier/Node is mandatory, otherwise an error will be reported.
When SIM is enabled, App/Tier/Node do not need to be configured.
ExtensionPathConfig Check: Performs the following checks on the extension path configuration:
Metric Prefix: Logs errors if the metric prefix retrieved from config.yml is null or empty.
Tier ID: This check is performed in two steps:
When SIM is enabled, there no check for Tier ID.
When SIM is disabled, the Tier ID set in config.yml is verified with the TierName (or the corresponding Tier ID) in controller-info.xml.
Machine Agent Availability Check: When SIM is disabled, this checks whether the Machine Agent Availability metric reports 1 or not. A GET request to the Controller for the following URL checks the MA availability: