AWS AutoScaling Monitoring Extension

AWS AutoScaling Monitoring Extension


Use Case

Captures AutoScaling statistics from Amazon CloudWatch and displays them in the AppDynamics Metric Browser.


This extension works only with the standalone machine agent.


Note: By default, the Machine agent can only send a fixed number of metrics to the controller. This extension can potentially report thousands of metrics, so to change this limit, please follow the instructions mentioned here.


  1. Before the extension is installed, the prerequisites mentioned here need to be met. Please do not proceed with the extension installation if the specified prerequisites are not met.


  1. Download and unzip AWSAutoScalingMonitor-<version>.zip into <machine_agent_dir>/monitors/
  2. The metricPrefix of the extension has to be configured as specified here. Please make sure that the right metricPrefix is chosen based on your machine agent deployment, otherwise this could lead to metrics not being visible in the controller.
  3. Edit config.yaml file in AWSAutoScalingMonitor/conf and provide the required configuration (see Configuration section)
  4. Restart the Machine Agent.





Note: Please avoid using tab (\t) when editing yaml files. You may want to validate the yaml file using a yaml validator.


accountsFields under this section can be repeated for multiple accounts config
awsAccessKeyAWS Access Key
awsSecretKeyAWS Secret Key
displayAccountNameDisplay name used in metric path"MyAWSAutoScaling"
regionsRegions where AutoScaling is registeredAllowed values:
enableDecryptionIf set to "true", then all aws credentials provided (access key and secret key) will be decrypted - see AWS Credentials Encryption section
decryptionKeyThe key used when encypting the credentials
hostThe proxy host (must also specify port)
portThe proxy port (must also specify host)
usernameThe proxy username (optional)
passwordThe proxy password (optional)
metricTypesFields under this section can be repeated for multiple metric types override
metricNameThe metric name"CPUUtilization"
statTypeThe statistic typeAllowed values:
excludeMetricsMetrics to exclude - supports regex"CPUUtilization",
startTimeInMinsBeforeNowThe no of mins to deduct from current time for start time of query5
endTimeInMinsBeforeNowThe no of mins to deduct from current time for end time of query.
Note, this must be less than startTimeInMinsBeforeNow
maxErrorRetrySizeThe max number of retry attempts for failed retryable requests1
noOfAccountThreadsThe no of threads to process multiple accounts concurrently3
noOfRegionThreadsPerAccountThe no of threads to process multiple regions per account concurrently3
noOfMetricThreadsPerRegionThe no of threads to process multiple metrics per region concurrently3
metricPrefixThe path prefix for viewing metrics in the metric browser."Custom Metrics|Amazon AutoScaling|"


Below is an example config for monitoring multiple accounts and regions:

  - awsAccessKey: "XXXXXXXX1"
    awsSecretKey: "XXXXXXXXXX1"
    displayAccountName: "TestAccount_1"
    regions: ["us-east-1","us-west-1","us-west-2"]

  - awsAccessKey: "XXXXXXXX2"
    awsSecretKey: "XXXXXXXXXX2"
    displayAccountName: "TestAccount_2"
    regions: ["eu-central-1","eu-west-1"]

    enableDecryption: "false"


      - metricName: "GroupInServiceInstances"
        statType: "max"

      - metricName: "GroupMinSize"
        statType: "sum"        

    excludeMetrics: ["GroupMaxSize", "GroupTotal.*"]

      startTimeInMinsBeforeNow: 5
      endTimeInMinsBeforeNow: 0

    maxErrorRetrySize: 0

  noOfAccountThreads: 3
  noOfRegionThreadsPerAccount: 3
  noOfMetricThreadsPerRegion: 3

metricPrefix: "Custom Metrics|Amazon AutoScaling|"


AWS Credentials Encryption

To set an encrypted awsAccessKey and awsSecretKey in config.yaml, follow the steps below:

  1. Download the util jar to encrypt the AWS Credentials from here.
  2. Run command:

    java -cp appd-exts-commons-1.1.2.jar com.appdynamics.extensions.crypto.Encryptor EncryptionKey CredentialToEncrypt
    For example: 
    java -cp "appd-exts-commons-1.1.2.jar" com.appdynamics.extensions.crypto.Encryptor test myAwsAccessKey
    java -cp "appd-exts-commons-1.1.2.jar" com.appdynamics.extensions.crypto.Encryptor test myAwsSecretKey
  3. Set the decryptionKey field in config.yaml with the encryption key used, as well as the resulting encrypted awsAccessKey and awsSecretKey in their respective fields.




Typical metric path: Application Infrastructure Performance|<Tier>|Custom Metrics|Amazon AutoScaling|<Account Name>|<Region>|Group|<group id> followed by the metrics defined in the link below:



Always feel free to fork and contribute any changes directly via GitHub.



  • Please look at the troubleshooting document and make sure that everything is followed correctly.
  • For any questions or feature request, please contact AppDynamics Center of Excellence.

    Agent Compatiblity3.7+
    Last Update28 March 2018