The following links contain detailed information related to features provided by AppDynamics Extensions. These pages can help you troubleshoot your extension and become more informed on how to use different functionalities that are provided through the various group of extensions. Please note that not all features are available for every extension.
How to Troubleshoot Extensions
How to use Password Encryption with Extensions
How to use Extensions Workbench
Derived Metrics Calculator and Cluster Metrics Processor for AppDynamics Extensions
Assumptions and Limitations of Derived Metric Calculation for AppDynamics Extensions
You can find a list of all the extensions at the AppDynamics Exchange .
... View more
Please contact your Account manager to get access to file tickets. Once you have that, please feel free to file tickets about the issues you are facing. You can also send an email to firstname.lastname@example.org if you would like assistance on any issues as well.
... View more
Workbench is an inbuilt feature provided with each extension in order to assist you to fine tune the extension setup before you actually deploy it on the controller. Currently the AppDynamics Platform does not allow a user to delete a metric once it has been registered. As soon as you deploy an extension directly after downloading, it will have several default settings and you’d like to make a minor change, say in the “metricPrefix” of the extension after you deployed it with the default configuration, the platform would not allow you to delete the metrics with the default metricPrefix and you will have to keep the old metrics as well.
This is a very useful feature that comes in handy and should be used during the process of deploying each extension as it would give you a better idea of what metrics are going to be recorded and incase you see that you are missing some metrics, this tool will give you an opportunity to add those metrics as well. Workbench functionality is inbuilt with each extension JAR file. In order to use this feature, please follow these steps.
Download the extension ZIP file and place it in the “monitors” folder.
Extract the zip file into its folder and then delete the zip file.
Now, open your terminal and navigate to the extension folder.
Check that you have the main extension jar file.
Once you have made sure of all the requirements, go to the extension folder which contains the "jar" file and execute the following command to start Workbench mode. java -jar cassandra-monitoring-extension.jar Note : Workbench by default uses port 9090. If you would like to change that to another port incase 9090 is already being used, please use the following structure to build your command. java -jar <extension-jar> <host> <port> This will enable you to use another port for the workbench. In our current case, it would look like : java -jar cassandra-monitoring-extension.jar localhost 9090
If you see output similar to the following, this means that it worked correctly and you have officially started Workbench Mode.
Now, open your browser and go to the following link : http://localhost:9090/ This starts the http server that allows you to access the Workbench Mode.
This shows that your extension is working in Workbench mode. Now is the time to make sure that all the metrics that you want are present. This is also a good time to remove unwanted metrics from the config.yml file so as to reduce the noise and focus on the important metrics.
As you go down and explore the map of metrics, you can see if you are getting a valid output on the graph on right. The metrics that are listed in the config.yml are the ones that are shown on the Workbench.
This feature gives you the ability to test out the complete functionality of the extension without actually needing to register the metrics on the Machine Agent. This is an added opportunity to verify if your connection is correct and if you are getting valid values, if not, it is time to verify that all the necessary steps have been followed and the extension reports valid metrics as per expectations.
Once you are completely satisfied by the metrics and their values that are received, you can go ahead and stop the current process and start the Machine Agent. Once you do that, you can view the metrics being reported on the metric browser.
... View more
Most of our extensions support password encryption. In order to use this service, please follow these steps exactly as specified. Once done, you will have to uncomment the encryptionKey and encryptedPassword and update them with the ones that you generate in the config.yml file.
For this case we will take Cassandra Monitoring Extension as a sample.
Navigate to your Machine Agent installation folder, and then head to the “ monitors ” folder.
Now enter your Extension folder, or in our case, “ CassandraMonitor ” and copy the name of the jar file. In our case : “ cassandra-monitoring-extension.jar ”
Open your terminal and navigate to the CassandraMonitor Folder.
Once you are in the folder. Make sure the jar file is present. In our case cassandra-monitoring-extension.jar .
Once you have verified all the details, run the following command. This command will give you your encrypted password. java -cp "cassandra-monitoring-extension.jar" com.appdynamics.extensions.crypto.Encryptor myKey myPassword
The “ myKey ” in the command can be any random key that you would like to use to encrypt the password.
The “ myPassword ” is going to be your actual password that you would use to log in to your product so as to get access. This is going to be that password that you are trying to encrypt.
Save the values for your “ encryptionKey ” and " encryptedPassword " in a text editor so that you don’t lose them. The “ Encrypted String ” value will be your encrypted password.
Add the values for " encryptionKey ", " encryptedPassword " in the config.yml . The value for " encryptionKey " is the value substituted for " myKey " in the above command. The value for " encryptedPassword " is the result of the above command.
Once you complete all the steps listed above, your extension will be ready to use the newly generated encrypted password.
... View more
Users who have installed an AppDynamics monitoring extension and are not able to see metrics in the controller should use the following guide to troubleshoot.
Note: The extension needs to be placed in the "monitors" directory of your Machine Agent installation directory. Please do not place the extension in the "extensions" directory of your Machine Agent installation directory.
Where to look for custom metrics from extensions?
Once you have everything configured correctly, start the Machine Agent and go to your controller.
Once in the controller, please select the correct “Application Name” .
Now navigate to the "Metric Browser" tab on the bottom left.
Once you click on that, you will see a pop-up window.
Select "Application Infrastructure Performance"
Select <Your Tier Name>
Select "Custom Metrics"
This will lead you to all your “Extension Metrics”.
If you have SIM Enabled, then you would have to select the Servers tab on the Top Menu Bar. Go to the metric browser there and follow the steps 3 to 7 from the aforementioned list.
If you are unable to see any metrics there or think you did not configure your extension correctly, please use the following steps to troubleshoot your issue.
1. Is the machine agent’s "availability" metric being reported?
The machine agent’s “availability” metric confirms that the machine agent is correctly configured with Controller. If the metric is not being reported, then it is a machine agent and Controller association problem and that should be rectified first. See below to further troubleshoot this issue.
2. Is SIM enabled?
If yes, the metrics would show up in the metric browser under the Servers tab.
If not , you are running the Machine Agent in a Standalone Mode.
3. Is there an AppDynamics Java Application Agent running on the same host?
The “ Application Name ”, “ Tier Name ”, and “ Node Name ” are not required if there is an App Agent with a matching unique host. For more details about a unique host, see Unique Host ID .
In Standalone Mode, it is imperative to provide “ Application Name ”, “ Tier Name ”, and “ Node Name ” to the Machine Agent. These can be provided as JVM arguments to the machine agent or can be specified in the “ controller-info.xml ” file in the “conf” folder of the Machine Agent. For more info: Independent Standalone Machine Agent Install Scenario
In standalone mode, the custom metrics are reported in the metric browser under the specified application.
Even if the application-name, tier-name, and node-name are set and there is an app agent running with the same unique host ID but with a different tier information, the machine agent will report only to that same tier to which the app agent is associated to. So, in this case, the application-name, tier-name, and node-name set in machine agent will be ignored.
4. Is the correct component/tier information provided in the extension's config.yaml file?
Every extension is shipped with a field called metricPrefix in the config.yaml. There are two possible formats for this. For example, in case of Cassandra Monitoring Extension, the metricPrefix could be:
A. For Controller versions 4.1.x and above
metricPrefix: "Server|Component:<Component_id>|Custom Metrics|Cassandra"
B. For all other Controller versions:
metricPrefix: "Custom Metrics|Cassandra"
If you have SIM enabled, you should set the metric prefix as specified in Option B . If machine agent is running in standalone mode, we should set it as specified in Option A .
5. Is the Correct Component_id or Component_name provided in the “Metric Prefix”?
The Component_id or Component_name that you have to add in the “ Metric Prefix ” is the same as the “ Tier ID ” . To go this information, follow these steps:
Go to your Controller
Select the Application associated to your Machine Agent.
Select “Tiers and Nodes” and 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 that is your Tier_ID or Component_ID that you need to update as your Component_ID value in your config.yml file.
Note: The component_id or component_name here is the same as the tier_id or tier_name. To get the component_id information, please check the URL as specified here:
IMPORTANT: The component id or component name specified in the "metricPrefix" of the extension should match the corresponding tier of the machine agent. The extension cannot report to a tier different than its machine agent's tier.
6. Is your config.yml file valid?
Please copy all the contents of the config.yml file and go to http://www.yamllint.com/ .
On reaching the website, paste the contents and press the “Go” button on the bottom left.
If you get an output similar to the following image, that means your formatting is correct and you may move on to the next step.
If not, please recheck your formatting in the config.yml file. Please note that yaml files do not use tabs and use only spaces. Please make sure your contents of the yaml file are valid as that is a key step for the extension to work.
7. Is the metric limit being exceeded in the machine agent?
The number of metrics sent by the machine agent is limited by the -Dappdynamics.agent.maxMetrics JVM argument. Try increasing the limit and restarting the machine agent. More information on this here: Metrics Limits. Please note that you should not just set this number to an arbitrarily large number. It is a factor of how many metrics are produced by your installed extensions, heap memory provided to the machine agent etc. Please check the hardware and sizing requirements for machine agent and extensions here .
For example, to start your machine agent with an increased limit of metrics, please use the following command:
java -Dappdynamics.agent.maxMetrics=2500 -jar machineagent.jar
8. Is the extension working in Workbench mode?
Please note that some of our extensions ship with workbench mode. The purpose of workbench mode is to view metrics before they get registered in the controller. Using this mode you can filter the unwanted metrics and report only what is intended. Please check the corresponding extension documentation from here to see if workbench mode is supported.
9. Contact Support Team
If you still face issues with the custom metrics in the controller, please open a ticket with the Support Team and provide machine agent debug logs. Do mention whether you were able to see the metrics in Workbench Mode.
Machine Agent Debug logs:
Stop the running Machine Agent
Delete all existing logs under <MachineAgent>/logs
Please enable debug logging by editing the file <MachineAgent>/conf/logging/log4j.xml . Change the “level” value of the following <logger> elements to “ debug ” .
Start the machine agent and please let it run for 10 mins. Then zip and upload the all the logs in the directory <MachineAgent>/logs/*
Attach the zipped <MachineAgent>/conf/* ? directory here
Attach the zipped <MachineAgent>/monitors/* ? directory here
... View more
Looks like we are having issues while building your extension.
You are using some dependencies with scope test, which in this case will not work. Could you please rectify this so that we can go ahead and publish this extension.
... View more