AMPS Monitoring Extension

AMPS Monitoring Extension

 

Use Case

AMPS is a modern publish and subscribe engine designed specifically for next generation computing environments. It is intended to allow the realization of the scalable high-throughput, low-latency messaging that is required in real-time deployments such as in financial services. This extension allows the user to connect to an AMPS server and retrieve metrics about the performance of the host for the server and the AMPS server instance.

 

This extension works only with the standalone machine agent.

 

Installation

  1. Download the attached AMPSMonitor-<version>.zip file.
  2. Unzip it into <machine_agent_dir>/monitors/
  3. Edit config.yaml file in AMPSMonitor and provide the required configuration (see Configuration section)
  4. Restart the Machine Agent.

 

Configuration

 

config.yaml

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

ParamDescriptionExample
hostAMPS Host address192.168.1.7
portAMPS port8085
useSSLuse http or httpsfalse
usernameAMPS server user name
passwordAMPS server user password
passwordEncryptedAMPS server user encrypted password
encryptionKeyencrypton key used in encrypting the password
disabledMetricsMetrics to exclude from reporting".*client status cache.*"
metricPrefixMetrics prefix for the extensionCustom Metrics|AMPS|

 

Below is an example config for monitoring AMPS:


  host: "192.168.1.7"
  port: 8085
  useSSL : false
  username: ""

  #Provide password or passwordEncrypted and encryptionKey
  password: ""

  passwordEncrypted:
  encryptionKey:

  disabledMetrics: [".*client status cache.*"]

  metricPrefix: "Custom Metrics|AMPS|"

 

Password Encryption

To generate an encrypted password, follow steps below:

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

    java -cp "appd-exts-commons-1.1.2.jar" com.appdynamics.extensions.crypto.Encryptor enter_any_encryption_key enter_plain_text_password
  3. For example: java -cp "appd-exts-commons-1.1.2.jar" com.appdynamics.extensions.crypto.Encryptor testKey adminPassword

     

  4. Add the key and resulting encrypted password in encryptionKey and passwordEncrypted fields in config.yaml respectively.

 

Metrics

Metric path is typically: Application Infrastructure Performance|<Tier>|Custom Metrics|AMPS| followed by the individual categories/metrics below:

 

host|memory

Metric NameDescription
availableThe total amount of memory available. Calculated as the sum of free, buffers and cached.
buffersThe amount of physical memory available for file buffers.
cachedThe amount of physical memory used as cache memory.
freeThe amount of physical memory left unused by the system.
in_useThe amount of memory currently in use. Calculated ask total - (free + buffers + cached).
swap_freeThe amount of swap memory which is unused.
swap_totalThe total amount of physical swap memory.
totalTotal amount of RAM.

 

host|network

Metric NameDescription
bytes_inNumber of bytes received by the interface.
bytes_outNumber of bytes transmitted by the interface.
errorsTotal errors both incoming and outgoing. This number includes packets dropped, collisions, fifo, frame, and carrier errors.
packets_inThe total number of packets received by the interface.
packets_outThe total number of packets sent by the interface.

 

instance|processors

Metric NameDescription
denied_readsNumber of read requests which have been denied.
denied_writesNumber of write requests which have been denied.
descriptionDescriptor of the processors resource.
last_activeNumber of seconds since a processor was last active.
matches_foundNumber of messages found.
matches_found_per_secRate of messages found.
messages_receivedNumber of messages received.
messages_received_per_secRate of messages received.
throttle_countNumber of times the processor has found no available work.

 

instance|cpu

Metric NameDescription
denied_readsNumber of read requests which have been denied.
denied_writesNumber of write requests which have been denied.
descriptionDescriptor of the processors resource.
last_activeNumber of seconds since a processor was last active.
matches_foundNumber of messages found.
matches_found_per_secRate of messages found.
messages_receivedNumber of messages received.
messages_received_per_secRate of messages received.
throttle_countNumber of times the processor has found no available work.

 

instance|caches

Metric NameDescription
allocationsNumber of memory allocations for this cache.
bytesNumber of bytes allocated to this cache.
efficiencyRatio of hits to requests for this cache.
entriesNumber of entries in this cache.
evictionsCount of evictions from this cache.
fetchesCount of fetches from this cache.

 

instance|queries

Metric NameDescription
queued_queriesA count of all queries which have not yet completed processing.

 

Contributing

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

 

 

Support

For any questions or feature request, please contact AppDynamics Center of Excellence.

 

Version:

1.0.1

Agent Compatibility:

3.7+

Last Update:

18 Nov 2015

 

Release Notes:

1.0.1: Initial release