Captures AWS AutoScaling statistics from Amazon CloudWatch and displays them in the AppDynamics Metric Browser.
Note : By default, the Machine agent can only send a fixed number of metrics to the controller. This extension potentially reports thousands of metrics, so to change this limit, please follow the instructions mentioned here.
- Please give the following permissions to the account being used to with the extension. cloudwatch:ListMetrics cloudwatch:GetMetricStatistics
- In order to use this extension, you do need a Standalone JAVA Machine Agent or SIM Agent. For more details on downloading these products, please visit here.
- The extension needs to be able to connect to AWS Cloudwatch in order to collect and send metrics. To do this, you will have to either establish a remote connection in between the extension and the product, or have an agent on the same machine running the product in order for the extension to collect and send the metrics.
Note: This extension is compatible with Machine Agent version 4.5.13 or later.
-
If you are seeing warning messages while starting the Machine Agent, update the http-client and http-core JARs in
{MACHINE_AGENT_HOME}/monitorsLibs
tohttpclient-4.5.9
andhttpcore-4.4.12
to make this warning go away. -
To make this extension work on Machine Agent < 4.5.13, the http-client and http-core JARs in
{MACHINE_AGENT_HOME}/monitorsLibs
need to be updated tohttpclient-4.5.9
andhttpcore-4.4.12
.
- Run 'mvn clean install' from aws-auto-scaling-monitoring-extension
- Copy and unzip AWSAutoScalingMonitor-<version>.zip from 'target' directory into <machine_agent_dir>/monitors/
- Edit config.yml file in AWSAutoScalingMonitor and provide the required configuration (see Configuration section).
- Restart the Machine Agent. Please place the extension in the "monitors" directory of your Machine Agent installation directory. Do not place the extension in the "extensions" directory of your Machine Agent installation directory.
In order to use the extension, you need to update the config.yml file that is present in the extension folder. The following is a step-by-step explanation of the configurable fields that are present in the config.yml file.
-
If SIM is enabled, then use the following metricPrefix
metricPrefix: "Custom Metrics|Amazon AutoScaling|"
Else, configure the "COMPONENT_ID" under which the metrics need to be reported. This can be done by changing the value of<COMPONENT_ID>
in metricPrefix: "Server|Component:<COMPONENT_ID>|Custom Metrics|Amazon AutoScaling|".For example, ``` metricPrefix: "Server|Component:100|Custom Metrics|Amazon AutoScaling|" ```
-
Provide accessKey(required) and secretKey(required) of our account(s), also provide displayAccountName(any name that represents your account) and regions(required). If you are running this extension inside an EC2 instance which has IAM profile configured then you don't have to configure these values, extension will use IAM profile to authenticate.
accounts: - 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"]
-
Provide the list of auto scaling group names that needs to be monitored. This list accepts regular expressions.
autoScalingNames: ["eks-2ab8ebd5-e027-34a3-edc2-180bd2acf8b", "eks-fhfhf-e027-34a3-edkdubfc2-nhgfjgbg454jk"]
To set an encrypted awsAccessKey and awsSecretKey in config.yaml, follow the steps below:
-
Download the util jar to encrypt the AWS Credentials from here.
-
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
-
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.
Always feel free to fork and contribute any changes directly via GitHub.
Find out more in the AppSphere community.
For any questions or feature request, please contact AppDynamics Center of Excellence.
Name | Version |
---|---|
Extension Version | 2.0.0 |
Controller Compatibility | 4.4 or Later |
Last Update | May 1, 2020 |