CW Component
*Available as of Camel 2.11
The CW component allows messages to be sent to an Amazon CloudWatch metrics. The implementation of the Amazon API is provided by the AWS SDK.
 | Prerequisites You must have a valid Amazon Web Services developer account, and be signed up to use Amazon CloudWatch. More information are available at Amazon CloudWatch. |
URI Format
The metrics will be created if they don't already exists.
You can append query options to the URI in the following format, ?options=value&option2=value&...
URI Options
| Name | Default Value | Context | Description |
|---|
| amazonCwClient | null | Producer | Reference to a com.amazonaws.services.cloudwatch.AmazonCloudWatch in the Registry. |
| accessKey | null | Producer | Amazon AWS Access Key |
| secretKey | null | Producer | Amazon AWS Secret Key |
| name | null | Producer | The metric name which is used if the message header 'CamelAwsCwMetricName' is not present. |
| value | 1.0 | Producer | The metric value which is used if the message header 'CamelAwsCwMetricValue' is not present. |
| unit | Count | Producer | The metric unit which is used if the message header 'CamelAwsCwMetricUnit' is not present. |
| namespace | null | Producer | The metric namespace which is used if the message header 'CamelAwsCwMetricNamespace' is not present. |
| timestamp | null | Producer | The metric timestamp which is used if the message header 'CamelAwsCwMetricTimestamp' is not present. |
| amazonCwEndpoint | null | Producer | The region with which the AWS-CW client wants to work with. |
 | Required CW component options You have to provide the amazonCwClient in the Registry or your accessKey and secretKey to access the Amazon's CloudWatch. |
Usage
Message headers evaluated by the CW producer
| Header | Type | Description |
|---|
| CamelAwsCwMetricName | String | The Amazon CW metric name. |
| CamelAwsCwMetricValue | Double | The Amazon CW metric value. |
| CamelAwsCwMetricUnit | String | The Amazon CW metric unit. |
| CamelAwsCwMetricNamespace | String | The Amazon CW metric namespace. |
| CamelAwsCwMetricTimestamp | Date | The Amazon CW metric timestamp. |
Advanced AmazonCloudWatch configuration
If you need more control over the AmazonCloudWatch instance configuration you can create your own instance and refer to it from the URI:
from("direct:start")
.to("aws-cw:);
The #client refers to a AmazonCloudWatch in the Registry.
For example if your Camel Application is running behind a firewall:
AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("http:);
clientConfiguration.setProxyPort(8080);
AmazonCloudWatch client = new AmazonCloudWatchClient(awsCredentials, clientConfiguration);
registry.bind("client", client);
Dependencies
Maven users will need to add the following dependency to their pom.xml.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
where ${camel-version} must be replaced by the actual version of Camel (2.10 or higher).
See Also