Please make sure that your metrics start with Custom Metrics in the beginning, and the values return a numerical value.
... View more
You can use the example listed here. The script here gets some values, and returns them following the requirements listed in the documentation so that they can be picked up by the Machine Agent and sent to the controller. You can modify this script to meet your requirements. The documentation has all the details that you would need to create/modify that script.
Please let us know if you have any other questions regarding this.
... View more
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 email@example.com 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 in case 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 from https://www.appdynamics.com/community/exchange/ and place it in the monitors folder.
Extract the zip file.
In the terminal, navigate to the extension folder.
Verify that you have the main extension JAR file.
Navigate to the extension folder that 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, use the following structure to build your command: java -jar <extension-jar> <host> <port>
If you see the following output in the terminal, this means that it worked correctly and you have officially started Workbench Mode.
Now, open your browser and navigate to http://localhost:9090/
This starts the HTTP server that allows you to access the Workbench Mode.
Verify that all the desired metrics are present.
Remove any unwanted metrics from the config.yml file to reduce noise.
As you 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.
Once you are satisfied with the metrics and their values that are received, stop the current process and start the Machine Agent to view the metrics being reported on the metric browser.
Published on 01-24-2018
... 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. Do not place the extension in the extensions directory.
Where to look for custom metrics from extensions
Step 1 - Is the machine agent’s "availability" metric being reported?
Step 2 - Is SIM enabled?
Step 3 - Is there an AppDynamics Java Application Agent running on the same host?
Step 4 - Is the correct component/tier information provided in the extension's config. yaml file?
Step 5 - Is the correct component ID or component name provided in the metric prefix?
Step 6 - Is the config.yml file valid?
Step 7 - Is the metric limit being exceeded in the machine agent?
Step 8 - Is the extension working in Workbench mode?
Where to look for custom metrics from extensions
Once you have everything configured correctly, start the Machine Agent and go to your Controller.
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.
If you wish to configure additional monitors or extensions while the Machine Agent is still running, it is mandatory to restart the Machine Agent in order for the changes to come into effect.
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 an 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 the 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 directory 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. 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 file. There are two possible formats for this.
For example, in case of Cassandra Monitoring Extension, the metric prefix could be metricPrefix: "Server|Component:<Component_id>|Custom Metrics|Cassandra" for Controller versions 4.1.x and above.
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 navigate to 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 an d find the word tier a nd 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 the config.
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 metric prefix 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 the config.yml file valid?
Use a linter by copying the contents of the config.yml file and paste them in http://www.yamllint.com/ .
You should see the following:
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 Agents 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 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 and mention whether or not 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
Enable debug logging by editing the file <MachineAgent>/conf/logging/log4j.xml . Change the l evel value of the following <logger> elements to debug.
Start the Machine Agent and 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