THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Wiki Markup |
---|
h2. CW Component *Available as of Camel 2.10*11 The CW component allows messages to be sent to an [Amazon CloudWatch|http://aws.amazon.com/cloudwatch/] metrics. The implementation of the Amazon API is provided by the [AWS SDK|http://aws.amazon.com/sdkforjava/]. {info:title=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|http://aws.amazon.com/cloudwatch/]. {info} h3. URI Format {code} aws-cw://namespace[?options] {code} 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&...}} h3. URI Options || Name || Default Value || Context || Description || |amazonCwClient | {{null}} | Producer | Reference to a {{com.amazonaws.services.cloudwatch.AmazonCloudWatchClient}} 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. | {info:title=Required CW component options} You have to provide the amazonCwClient in the [Registry] or your accessKey and secretKey to access the [Amazon's CloudWatch|http://aws.amazon.com/cloudwatch/]. {info} h3. Usage h4. Message headers evaluated by the CW producer {div:class=confluenceTableSmall} || 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. | {div} h4. Advanced AmazonCloudWatchClient configuration If you need more control over the {{AmazonCloudWatchClient}} configuration you can create your own instance and refer to it from the URI: {code} from("direct:start") .to("aws-cw://namepsace?amazonCwClient=#amazonCwClient"); {code} The {{#amazonCwClient}} refers to a {{AmazonCloudWatchClient}} in the [Registry]. For example if your Camel Application is running behind a firewall: {code} AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey"); ClientConfiguration clientConfiguration = new ClientConfiguration(); clientConfiguration.setProxyHost("http://myProxyHost"); clientConfiguration.setProxyPort(8080); AmazonCloudWatchClient amazonCwClient = new AmazonCloudWatchClient(awsCredentials, clientConfiguration); {code} h3. Dependencies Maven users will need to add the following dependency to their pom.xml. {code:xml|title=pom.xml} <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-aws</artifactId> <version>${camel-version}</version> </dependency> {code} where {{$\{camel-version\}}} must be replaced by the actual version of Camel (2.10 or higher). {include:Endpoint See Also} - [AWS Component|AWS] |