Monitor Metrics provided by the Azure Monitor/Service Fabric APIs and let them report into the AppDynamics Metric Browser.
Either Download the Extension from the AppDynamics Marketplace or Download the Extension from the Github releases or Build from Source.
AzureMonitor-file into the
> unzip AzureMonitor-<VERSION>.zip -d <machine agent home>/monitors/
config.yml. At minimum this is:
# Client ID obtained from the Azure Portal clientId: "" # Client Key for the upper ID obtained from the Azure Portal clientKey: "" # Tenant ID obtained from the Azure Portal tenantId: "" # Subscription ID obtained from the Azure Portal subscriptionId: ""
Details for the Setup can be found in the Azure - Resource Manager - Howto - Control Access - Create Service Principal - Azure Portal
mvn -DskipTests clean install
AzureMonitor-file can be found in the
|src/main/resources/config||Contains monitor.xml and config.yml|
|src/main/java||Contains source code to the Azure monitoring extension|
|target||Only obtained when using maven. Run 'maven clean install' to get the distributable .zip file.|
|pom.xml||maven build script to package the project (required only if changing Java code)|
Metrics available for Azure are maintained within the Azure Monitor Documentation - Reference - Metrics Supported.
You can exclude certain Metrics by adding an exclude within a filter Resource Element. To do this the following configuration in config.yml is required:
filter: - resourceType: "Microsoft.Storage/storageAccounts" exclude: ".*"
A regular expression is needed. Any match will be ignored for that specific resource.
If you do not want to store the Client Key from the Service Principal that is used to query Resources, Metric Definitions and Metrics you can obtain the Key from an Azure Key Vault Secret. To achieve this the following configuration in
config.yml is required:
# Keyvault Client ID obtained from the Azure Portal keyvaultClientId: "" # Keyvault Key for the upper ID obtained from the Azure Portal keyvaultClientKey: "" # Keyvault Client Secret Url. From this URL the clientKey will be obtained keyvaultClientSecretUrl: "" # Client ID obtained from the Azure Portal clientId: ""
The Key Vault Client Key can also be encrypted just as the normal Client Key.
Currently the Extension supports Certificate based Authentication to gather the Health Status of your Service Fabric Clusters. To use this those properties in
config.yml have to be used:
serviceFabricCert: 'monitors/AzureMonitor/your-cert.pfx' serviceFabricPassphrase: ''
To avoid setting the clear text password in the config.yml. Please follow the process to encrypt the password and set the encrypted password and the key in the config.yml.
java -cp appd-exts-commons-
.jar com.appdynamics.extensions.crypto.Encryptor myEncryptionKey myPasswordToEnrypt
Always feel free to fork and contribute any changes directly via GitHub.
config.yml: Validate the file here.
-Dappdynamics.agent.maxMetrics=5000if there is a metric limit reached error in the logs. If you don't see the expected metrics, this could be the cause.
The config cannot be nullerror: This usually happens when on a windows machine in
config.ymlfile path with linux file path separator
/. Use Windows file path separator
monitors\Monitor\config.yml. For Windows, please specify the complete path.
conf/logging/log4j.xmland update the level of the appender
com.singularityto debug. Let it run for 5-10 minutes and attach the logs to a support ticket.
For any questions or feature request, please contact AppDynamics Center of Excellence.