What extension Health Checks generate logs I can use for debugging issues?
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:
- RunOnce Check: Runs only once on the start of the extension.
- RunAlways Check: Run periodically based on the defined frequency.
RunOnce Check
- 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 the 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, or an error will be reported.
- When SIM is enabled, App/Tier/Node does 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 as follows:
- When SIM is enabled, there is 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:
/controller/rest/applications/ApplicationName/metric-data?metric-
path=ApplicationInfrastructurePerformance|TierName|Agent|Machine|Availability&time-range-
type=BEFORE_NOW&duration-in-mins=15&output=JSON