AppDynamics Extensions Troubleshooting Guide
Before proceeding with this document, go through the Extensions Prerequisites Guide and verify whether the environment and agents being used have been set up correctly.
PLEASE NOTE | Not all steps may be applicable for your extension.
Contents
How do I build and place an extension?
How do I configure an extension?
What do I need to know about the Machine Agent restart?
Where do I look for custom metrics?
Additional troubleshooting resources
1. How do I build and place an extension?
To build the extension artifact from the source, follow the prerequisite and installation steps from individual extension documentation.
Once the artifact is generated, extract it to the <MachineAgentHome>/monitors directory. It is important to verify the supported Controller, Machine Agent, and artifact versions from the extension's documentation.
2. How do I configure an extension?
Every monitoring extension is shipped with a file called config.yml. The following steps must be verified for the config.yml:
A. Metric Prefix
Most config.yml files contain two metricPrefix sections which may look like the following (Considering the Redis Monitoring Extension as an example):
metricPrefix Prefix
Recommended use
"Custom Metrics|Redis"
This metric prefix is recommended when SIM is enabled.
"Server|Component:<COMPONENT_ID>|Custom Metrics|Redis"
This metric prefix is recommended when you would like to publish metrics to the Machine Agent configured tier.
This metric prefix points to one specific component (tier). The COMPONENT_ID can be found by using these steps:
Go to your Controller
Select the application associated with your Machine Agent
Select Tiers and Nodes, then select the exact tier corresponding to your Machine Agent
Once you select the tier, click the Details button to open the Dashboard
Once you reach the Dashboard, take a look at the URL and find the word Component and the value corresponding to it
That value should be a number and is the tier ID or Component ID that you need to update as your Component_ID value in the config
NOTE | The component ID, or component name, is the same as the tier ID, or tier name. To get the component ID, go to the URL under Applications > Tiers & Nodes > Dashboard, as shown in the image, below. Applications > For your component ID URL, go to Applications > Tiers & Nodes > Dashboard, then copy the URL field
IMPORTANT | The component ID (or component name) specified in the metric prefix of the extension should match the corresponding tier of the Machine Agent. The extension cannot report to a different tier than its Machine Agent's tier.
LEARN MORE | To read about advanced metric prefix configuration scenarios, please refer to the Advanced Metric Prefix Configuration Scenarios for AppDynamics Monitoring Extensions Knowledge Base article.
B. How do I format the config.yml?
After verifying the metric prefix and configuring the details of the artifact monitored by the extension, ensure that the config.yml is correctly formatted. The use of Tabs is not supported by YML files. You can validate the file using an online YML validator like https://codebeautify.org/yaml-validator.
C. How do I modify the monitor.xml file?
Another file present in the extracted extension's directory is the monitor.xml. In most cases, this file does not need any changes. If the monitor.xml does need to be modified, complete the following steps:
Execution frequency
An extension ships with a default execution frequency of 60 seconds. The highest execution frequency supported by monitoring extensions is 5 minutes (300 seconds). It is important to ensure that this limit is not exceeded, as it will lead to inconsistencies in metric values.
Path to config
Ensure that the path to the config.yml is correctly specified under the following tag:
<task-arguments> <argument name="config-file" is-required="true" default-value="monitors/RedisMonitor/config.yml" /> </task-arguments>
An absolute path can also be used here.
3. What do I need to know about the Machine Agent restart?
At this point, ensure that the Machine Agent has restarted.
Deploying new extensions and making changes to the monitor.xml for previously deployed extensions require a Machine Agent restart. However, simply changing the contents of a previously deployed extension's config.yml does not require a Machine Agent restart.
4. Where do I look for custom metrics?
Once everything has been configured correctly, follow the relevant steps below to look for Custom Metrics in the Controller:
A. When the SIM is enabled
If SIM is enabled, navigate to the Servers tab in the main menu bar.
Click on Metric Browser at the bottom-left. A new window should open up.
Expand the 'Root' server, or alternatively, the server configured under the 'Machine Path' section of the <MachineAgentHome>/conf/controller-info.xml.
Select Custom Metrics. Metrics from the configured extensions should show up here, in their respective directories.
B. Machine Agent (When the SIM is disabled)
Find the Application associated with the Machine Agent under the Applications tab in the main menu bar.
Click on Metric Browser at the bottom-left. A new window should open up.
Select Application Infrastructure Performance, and look for the Tier associated with the Machine Agent
Under this tier, look for Custom Metrics. Metrics from the configured extensions should show up here, in their respective directories.
The data in the previous point is a tier-level value, an aggregation of data represented by each node under this tier. To get metrics pertaining to a specific node, the Individual Nodes section must be used.
5. Metric Limits
What if you followed all the steps up to this point, but still don’t see all the required metrics in the Metric Browser?
It could be a case of the Machine Agent's metric limit being hit. In this case, you should restart it with a higher metric limit. For example, to increase the limit to 5000, you can use the following command while starting the Machine Agent:
java -Dappdynamics.agent.maxMetrics=5000 -jar machineagent.jar
However, this limit should not be an arbitrarily large number. It is a factor of the number of metrics generated by any installed extensions, heap memory provided to the Machine Agent, etc. Check the hardware and sizing requirements for Machine Agents and extensions in the Machine Agent Requirements and Supported Environments documentation.
For more information, see the latest Metric Limits documentation.
Increasing metric limits in Windows
For Windows, where the Machine Agent is running as a service:
Uninstall/delete the already installed service
Use this command to increase metric limit cscript <machine_agent_home>\InstallService.vbs -Dappdynamics.agent.maxMetrics=5000
If at this point the extension’s metrics are still not visible, please refer to the extension-specific troubleshooting steps (if any) found on the respective extension documentation pages.
Additional troubleshooting resources
My extension is getting a 'PKIX path building error.' Why?
Troubleshooting extensions HealthCheck issues due to incorrect parameters
When uploading custom dashboards from extensions, how do I resolve issues?
Metric processing qualifiers for extensions: what do I need to know?
Troubleshooting connectivity issues for JMX based extensions
How do I troubleshoot AWS extensions issues?
Advanced extension configurations and troubleshooting
... View more