Skip to content

AWS CloudWatch Metrics

Amazon WebServices CloudWatch is a cloud service which ingests, stores, graphs and monitors simple metrics.  It is part of Amazon Web Services (AWS), a comprehensive suite of tightly-integrated cloud services.  AWS CloudWatch integrates with a number of other AWS products to provide a comprehensive framework for dealing with metrics, and handling alerting, notification etc.

FusionReactor can periodically ship any internally-tracked metric to AWS CloudWatch.

AWS CloudWatch is not a free service. By enabling this functionality in FusionReactor, you are potentially subscribing to chargeable services at AWS. It is your responsibility to monitor these charges, for which Intergral GmbH cannot be held liable.

Pricing information for AWS CloudWatch can be found here.

Metrics Selection

Metrics > AWS CloudWatch Metrics allows you to select metrics to send to AWS, and the status of currently-selected metrics.

FusionReactor AWS CloudWatch Metrics must be configured before any data can be uploaded to AWS CloudWatch. This is done by clicking the Configure button. Configuration of this functionality is described here.

The Metrics Selection screen is split into a selector area, comprising a filter, series selector, dimensions selector and Add to CloudWatch button.  All series - including JMX MBean series - are  displayed here.  The displayed series can be filtered by adding a

Adding a Series

Click a series to select it;  multiple series can be selected by holding down command (Mac OS X), control (Linux + Windows).

Enter any dimensions you require for this series, and click Add to CloudWatch to begin shipping this metric to AWS.

AWS CloudWatch Dimensions allow you to differentiate the same metric coming from different servers. If you would rather have metrics aggregated, leave the Dimensions box empty, or supply the same dimension across your whole FusionReactor fleet. If you do this, be aware that you will not be able to differentiate the source of the metric in CloudWatch.

Examples

  • I want to see the Classes Loaded metric for each instance on all my servers separately. Dimensions: use the default instancename and hostname dimensions.
  • I want to see the Classes Loaded metric per server, regardless of how many FusionReactor instances are on that server. Dimensions: supply only the hostname dimension.
  • I want to see an aggregate of Classes Loaded over my whole fleet. Dimensions: leave this blank. AWS CloudWatch will aggregate the metric as it is shipped by FusionReactor.

Dimension Templates

Several dimensions can be filled in by FusionReactor using curly-brace templates. Clicking the Info "I" icon next to the Dimensions field shows the supported placeholders:

  • {hostname} - the hostname of the machine.
  • {instancename} - the name of the FusionReactor instance.

Available / Stale Metrics

The lower half of the screen shows the current Available and Stale metrics. 

The columns here show the name, description, dimensions, name of the metric within AWS, full ID and last sampled value.  The Remove button can be used to stop sending this metric to CloudWatch.

Any Stale JMX Metrics (metrics which have not published a new datapoint in the last might- – usually because the JMX bean has stopped) are listed in the Stale tab.

To change the dimensions associated with a metric, first Remove it and then add it again from Available Series.

AWS CloudMetrics Setting

The FusionReactor AWS CloudWatch Metrics system requires some configuration prior to use.  

This can be done by navigating to Metrics > AWS CloudWatch Metrics and clicking on the Configure button at the top of the page.

Name Value
AWS Access Key The AWS Access Key of a user or IAM identity under which metrics will be pushed to CloudWatch.
AWS Secret Key The AWS Secret Key corresponding to the Access Key above.
AWS Region The AWS region to which the CloudWatch metrics should be pushed.
AWS Namespace The CloudWatch Namespace under which metrics will be named. See note below.
AWS Dimensions The default set of AWS dimensions which will be applied in the AWS CloudMetrics page.
Send Stale Data Controls whether stale datapoint (JMX metrics for which no new data has been received in the last minute) are sent using their old value.
AWS CloudWatch Active Master enablement for the metrics shipping system.

Troubleshooting

In case of problems, in the first instance, ensure the configuration form is correctly filled in.  In particular any trailing spaces must be removed.

The user or IAM identity or role identified by the AWS Access Key must have permissions to write AWS CloudWatch Metric data.  This requires the following AWS Permission:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "Stmt1493894646000",
                "Effect": "Allow",
                "Action": [
                    "cloudwatch:PutMetricData"
                ],
                "Resource": [
                    "*"
                ]
            }
        ]
    }

More information may be found in the log file: plugin-fusionreactor-cloudwatch-plugin-0.log.