AWS Metrics from CloudWatch
Overview
AWS Metrics from CloudWatch integration will poll all your metrics from specified AWS account every 10 minutes, with one exception so far which is S3 metrics that are avaliable on CloudWatch side daily. Tags and metric definitions are pulled every 5 minutes. As a prerequisite, you need to first prepare an AWS IAM policy and role with this CloudFormation template
For more information about this integration, click here.
How to use with Terraform
To deploy this integration using Terraform, you can use the coralogix_integration resource provided by the Coralogix Terraform provider. Below is an example configuration:
resource "coralogix_integration" "aws-metrics-collector" {
integration_key = "aws-metrics-collector"
version = "0.9.1"
parameters = {
IntegrationName = "cx-aws-cw-metrics"
AwsRoleArn = "arn:aws:iam::012345678901:role/access-cloudwatch-metrics"
AwsRegion = "eu-west-1"
ApplicationName = "<ApplicationName>"
SubsystemName = "<SubsystemName>"
MetricNamespaces = [ "value1", "value2" ]
Statistics = [ "Maximum", "Minimum", "SampleCount", "Sum", "Average" ]
WithAggregations = false
EnrichWithTags = true
DiscoverNamespaces = false
IncludeLinkedAccounts = false
}
}
Replace the placeholder values with your actual configuration parameters. Refer to the parameter table below for required fields and their descriptions.
Revisions
0.9.0
| Name | Type | Required | Description |
|---|---|---|---|
| ApplicationName | String | Yes | The application name to be used in the integration. Added as the cx_application_name label to each metric. |
| AwsRegion | String | Yes | Select the AWS region from which to retrieve metrics. Choose the region where your resources are hosted. |
| AwsRoleArn | String | Yes | The ARN of the role that trusts the Coralogix AWS account. |
| DiscoverNamespaces | Boolean | Yes | Enable this option to automatically discover and collect metrics from all available CloudWatch and custom namespaces for your AWS account. This may increase AWS costs and metrics may take time to appear as namespaces are discovered. |
| EnrichWithTags | Boolean | Yes | Add resource tags as labels to specific resource metrics. |
| IncludeLinkedAccounts | Boolean | Yes | If your account is a CloudWatch Monitoring Account, you can enable this option to try to fetch metrics from all linked accounts. |
| IntegrationName | String | Yes | |
| MetricNamespaces | List | Yes | Select the metric namespaces to specify which metrics to collect. If left empty, no metrics will be collected. |
| Statistics | List | Yes | Select statistics to be collected. |
| SubsystemName | String | Yes | The subsystem name to be used in the integration. Added as the cx_subsystem_name label to each metric. |
| WithAggregations | Boolean | Yes | Add optional aggregation metrics for Minimum and Maximum statistics. This will create additional metrics with suffixes _min and _max. Note that this can result in increased data usage. The same data results can be achieved using queries. |
| CustomMetricNamespaces | String | No | Enter your custom metric namespaces to specify which metrics to collect. If left empty, no metrics will be collected. |
| EcsEnhancedMonitoringEnabled | Boolean | No | Enable ECS Enhanced Monitoring for additional metrics and ECS service and container_instances tags. Note that this will result in increased data usage. The following permissions are required: ecs::Describe* and ecs::List*. Permissions without an * can be found in the changelog. |
| ElastiCacheEnhancedMonitoringEnabled | Boolean | No | Enable ElastiCache Enhanced Monitoring for additional metrics. Note that this will result in increased data usage. The following permissions are required: elasticache:DescribeCacheClusters, elasticache:ListTagsForResource and ec2:DescribeInstanceTypes. |
| ExtendedStatisticsToCollect | JSON | No | Enter a JSON-formatted string containing additional statistics, they will be collected only for metrics matching selected Metric Namespaces. If you do not want any additional statistics put [] as a value. Example: [{\"metric_selector\":{\"namespace\": \"AWS/EC2\", \"metric_names\": [\"CPUUtilization\"]}, \"extended_statistics\": [\"p99\"]}]. Supported statistics are [\"p99\", \"p95\", \"p90\", \"p80\", \"p70\", \"p50\"]. |
| ExternalId | String | No | Optional. Fill this field if your defined AWS Role depends on the sts:ExternalId field, otherwise no data will be received from your AWS account. |
| MetricSelectors | JSON | No | Enter a JSON-formatted string containing specific metric selectors. This configuration helps limit metrics collected per namespace. If you define a namespace in both "Namespaces" and here, only the metric_names specified here will be collected. We do not support duplicate metric selector configurations per namespace. |
| PollIntervalMinutes | Number | No | Poll interval in minutes, can be set to 10 and more. |
| RdsEnhancedMonitoringEnabled | Boolean | No | Enable RDS Enhanced Monitoring for additional metrics and RDS provisioned and reserved instance tags. Note that this will result in increased data usage. The following permissions are required: rds::Describe*, rds::List*, and ec2:DescribeInstanceTypes. Permissions without an * can be found in the changelog. |
| ResourceTagsFilter | String | No | Enter a comma-separated list of tag keys or key-value pairs to use as filter. Metrics on resources not matching the filter will be skipped. Note that not all metrics are linked to resources, this filter will have no effect on them. If no filter is defined, ALL metrics will be collected. |
| StaticLabels | List | No | List of key-value pairs that will be added as labels to every metric in the integration. |
| TagsKeyFilter | List | No | Enter a comma-separated list of tag keys. Only tags matching these keys will be added as labels to the metrics. If empty, all of the tags will be added. |
0.8.0
| Name | Type | Required | Description |
|---|---|---|---|
| ApplicationName | String | Yes | The application name to be used in the integration. Added as the cx_application_name label to each metric. |
| AwsRegion | String | Yes | Select the AWS region from which to retrieve metrics. Choose the region where your resources are hosted. |
| AwsRoleArn | String | Yes | The ARN of the role that trusts the Coralogix AWS account. |
| DiscoverNamespaces | Boolean | Yes | Enable this option to automatically discover and collect metrics from all available CloudWatch and custom namespaces for your AWS account. This may increase AWS costs and metrics may take time to appear as namespaces are discovered. |
| EnrichWithTags | Boolean | Yes | Add resource tags as labels to specific resource metrics. |
| IntegrationName | String | Yes | |
| MetricNamespaces | List | Yes | Select the metric namespaces to specify which metrics to collect. If left empty, no metrics will be collected. |
| Statistics | List | Yes | Select statistics to be collected. |
| SubsystemName | String | Yes | The subsystem name to be used in the integration. Added as the cx_subsystem_name label to each metric. |
| WithAggregations | Boolean | Yes | Add optional aggregation metrics for Minimum and Maximum statistics. This will create additional metrics with suffixes _min and _max. Note that this can result in increased data usage. The same data results can be achieved using queries. |
| CustomMetricNamespaces | String | No | Enter your custom metric namespaces to specify which metrics to collect. If left empty, no metrics will be collected. |
| EcsEnhancedMonitoringEnabled | Boolean | No | Enable ECS Enhanced Monitoring for additional metrics and ECS service and container_instances tags. Note that this will result in increased data usage. The following permissions are required: ecs::Describe* and ecs::List*. Permissions without an * can be found in the changelog. |
| ElastiCacheEnhancedMonitoringEnabled | Boolean | No | Enable ElastiCache Enhanced Monitoring for additional metrics. Note that this will result in increased data usage. The following permissions are required: elasticache:DescribeCacheClusters, elasticache:ListTagsForResource and ec2:DescribeInstanceTypes. |
| ExtendedStatisticsToCollect | JSON | No | Enter a JSON-formatted string containing additional statistics, they will be collected only for metrics matching selected Metric Namespaces. If you do not want any additional statistics put [] as a value. Example: [{\"metric_selector\":{\"namespace\": \"AWS/EC2\", \"metric_names\": [\"CPUUtilization\"]}, \"extended_statistics\": [\"p99\"]}]. Supported statistics are [\"p99\", \"p95\", \"p90\", \"p80\", \"p70\", \"p50\"]. |
| ExternalId | String | No | Optional. Fill this field if your defined AWS Role depends on the sts:ExternalId field, otherwise no data will be received from your AWS account. |
| MetricSelectors | JSON | No | Enter a JSON-formatted string containing specific metric selectors. This configuration helps limit metrics collected per namespace. If you define a namespace in both "Namespaces" and here, only the metric_names specified here will be collected. We do not support duplicate metric selector configurations per namespace. |
| PollIntervalMinutes | Number | No | Poll interval in minutes, can be set to 10 and more. |
| RdsEnhancedMonitoringEnabled | Boolean | No | Enable RDS Enhanced Monitoring for additional metrics and RDS provisioned and reserved instance tags. Note that this will result in increased data usage. The following permissions are required: rds::Describe*, rds::List*, and ec2:DescribeInstanceTypes. Permissions without an * can be found in the changelog. |
| ResourceTagsFilter | String | No | Enter a comma-separated list of tag keys or key-value pairs to use as filter. Metrics on resources not matching the filter will be skipped. Note that not all metrics are linked to resources, this filter will have no effect on them. If no filter is defined, ALL metrics will be collected. |
| StaticLabels | List | No | List of key-value pairs that will be added as labels to every metric in the integration. |
| TagsKeyFilter | List | No | Enter a comma-separated list of tag keys. Only tags matching these keys will be added as labels to the metrics. If empty, all of the tags will be added. |
0.7.0
| Name | Type | Required | Description |
|---|---|---|---|
| ApplicationName | String | Yes | The application name to be used in the integration. Added as the cx_application_name label to each metric. |
| AwsRegion | String | Yes | Select the AWS region from which to retrieve metrics. Choose the region where your resources are hosted. |
| AwsRoleArn | String | Yes | The ARN of the role that trusts the Coralogix AWS account. |
| EnrichWithTags | Boolean | Yes | Add resource tags as labels to specific resource metrics. |
| IntegrationName | String | Yes | |
| MetricNamespaces | List | Yes | Select the metric namespaces to specify which metrics to collect. If left empty, no metrics will be collected. |
| Statistics | List | Yes | Select statistics to be collected. |
| SubsystemName | String | Yes | The subsystem name to be used in the integration. Added as the cx_subsystem_name label to each metric. |
| WithAggregations | Boolean | Yes | Add optional aggregation metrics for Minimum and Maximum statistics. This will create additional metrics with suffixes _min and _max. Note that this can result in increased data usage. The same data results can be achieved using queries. |
| CustomMetricNamespaces | String | No | Enter your custom metric namespaces to specify which metrics to collect. If left empty, no metrics will be collected. |
| EcsEnhancedMonitoringEnabled | Boolean | No | Enable ECS Enhanced Monitoring for additional metrics and ECS service and container_instances tags. Note that this will result in increased data usage. The following permissions are required: ecs::Describe* and ecs::List*. Permissions without an * can be found in the changelog. |
| ElastiCacheEnhancedMonitoringEnabled | Boolean | No | Enable ElastiCache Enhanced Monitoring for additional metrics. Note that this will result in increased data usage. The following permissions are required: elasticache:DescribeCacheClusters, elasticache:ListTagsForResource and ec2:DescribeInstanceTypes. |
| ExtendedStatisticsToCollect | JSON | No | Enter a JSON-formatted string containing additional statistics, they will be collected only for metrics matching selected Metric Namespaces. If you do not want any additional statistics put [] as a value. Example: [{\"metric_selector\":{\"namespace\": \"AWS/EC2\", \"metric_names\": [\"CPUUtilization\"]}, \"extended_statistics\": [\"p99\"]}]. Supported statistics are [\"p99\", \"p95\", \"p90\", \"p80\", \"p70\", \"p50\"]. |
| ExternalId | String | No | Optional. Fill this field if your defined AWS Role depends on the sts:ExternalId field, otherwise no data will be received from your AWS account. |
| MetricSelectors | JSON | No | Enter a JSON-formatted string containing specific metric selectors. This configuration helps limit metrics collected per namespace. If you define a namespace in both "Namespaces" and here, only the metric_names specified here will be collected. We do not support duplicate metric selector configurations per namespace. |
| PollIntervalMinutes | Number | No | Poll interval in minutes, can be set to 10 and more. |
| RdsEnhancedMonitoringEnabled | Boolean | No | Enable RDS Enhanced Monitoring for additional metrics and RDS provisioned and reserved instance tags. Note that this will result in increased data usage. The following permissions are required: rds::Describe*, rds::List*, and ec2:DescribeInstanceTypes. Permissions without an * can be found in the changelog. |
| ResourceTagsFilter | String | No | Enter a comma-separated list of tag keys or key-value pairs to use as filter. Metrics on resources not matching the filter will be skipped. Note that not all metrics are linked to resources, this filter will have no effect on them. If no filter is defined, ALL metrics will be collected. |
| StaticLabels | List | No | List of key-value pairs that will be added as labels to every metric in the integration. |
| TagsKeyFilter | List | No | Enter a comma-separated list of tag keys. Only tags matching these keys will be added as labels to the metrics. If empty, all of the tags will be added. |
0.6.1
| Name | Type | Required | Description |
|---|---|---|---|
| ApplicationName | String | Yes | The application name to be used in the integration. Added as the cx_application_name label to each metric. |
| AwsRegion | String | Yes | Select the AWS region from which to retrieve metrics. Choose the region where your resources are hosted. |
| AwsRoleArn | String | Yes | The ARN of the role that trusts the Coralogix AWS account. |
| EnrichWithTags | Boolean | Yes | Add resource tags as labels to specific resource metrics. |
| IntegrationName | String | Yes | |
| MetricNamespaces | List | Yes | Select the metric namespaces to specify which metrics to collect. If left empty, no metrics will be collected. |
| SubsystemName | String | Yes | The subsystem name to be used in the integration. Added as the cx_subsystem_name label to each metric. |
| WithAggregations | Boolean | Yes | Add optional aggregation metrics, like average, min and max. Note that this can result in increased data usage. The same data results can be achieved using queries. |
| CustomMetricNamespaces | String | No | Enter your custom metric namespaces to specify which metrics to collect. If left empty, no metrics will be collected. |
| EcsEnhancedMonitoringEnabled | Boolean | No | Enable ECS Enhanced Monitoring for additional metrics and ECS service and container_instances tags. Note that this will result in increased data usage. The following permissions are required: ecs::Describe* and ecs::List*. Permissions without an * can be found in the changelog. |
| ElastiCacheEnhancedMonitoringEnabled | Boolean | No | Enable ElastiCache Enhanced Monitoring for additional metrics. Note that this will result in increased data usage. The following permissions are required: elasticache:DescribeCacheClusters, elasticache:ListTagsForResource and ec2:DescribeInstanceTypes. |
| ExtendedStatisticsToCollect | JSON | No | Enter a JSON-formatted string containing additional statistics, they will be collected only for metrics matching selected Metric Namespaces. If you do not want any additional statistics put [] as a value. Example: [{\"metric_selector\":{\"namespace\": \"AWS/EC2\", \"metric_names\": [\"CPUUtilization\"]}, \"extended_statistics\": [\"p99\"]}]. Supported statistics are [\"p99\", \"p95\", \"p90\", \"p80\", \"p70\", \"p50\"]. |
| ExternalId | String | No | Optional. Fill this field if your defined AWS Role depends on the sts:ExternalId field, otherwise no data will be received from your AWS account. |
| MetricSelectors | JSON | No | Enter a JSON-formatted string containing specific metric selectors. This configuration helps limit metrics collected per namespace. If you define a namespace in both "Namespaces" and here, only the metric_names specified here will be collected. We do not support duplicate metric selector configurations per namespace. |
| PollIntervalMinutes | Number | No | Poll interval in minutes, can be set to 10 and more. |
| RdsEnhancedMonitoringEnabled | Boolean | No | Enable RDS Enhanced Monitoring for additional metrics and RDS provisioned and reserved instance tags. Note that this will result in increased data usage. The following permissions are required: rds::Describe*, rds::List*, and ec2:DescribeInstanceTypes. Permissions without an * can be found in the changelog. |
| ResourceTagsFilter | String | No | Enter a comma-separated list of tag keys or key-value pairs to use as filter. Metrics on resources not matching the filter will be skipped. Note that not all metrics are linked to resources, this filter will have no effect on them. If no filter is defined, ALL metrics will be collected. |
| StaticLabels | List | No | List of key-value pairs that will be added as labels to every metric in the integration. |
| TagsKeyFilter | List | No | Enter a comma-separated list of tag keys. Only tags matching these keys will be added as labels to the metrics. If empty, all of the tags will be added. |
0.6.0
| Name | Type | Required | Description |
|---|---|---|---|
| ApplicationName | String | Yes | The application name to be used in the integration. Added as the cx_application_name label to each metric. |
| AwsRegion | String | Yes | Select the AWS region from which to retrieve metrics. Choose the region where your resources are hosted. |
| AwsRoleArn | String | Yes | The ARN of the role that trusts the Coralogix AWS account. |
| EnrichWithTags | Boolean | Yes | Add resource tags as labels to specific resource metrics. |
| IntegrationName | String | Yes | |
| MetricNamespaces | List | Yes | Select the metric namespaces to specify which metrics to collect. If left empty, no metrics will be collected. |
| SubsystemName | String | Yes | The subsystem name to be used in the integration. Added as the cx_subsystem_name label to each metric. |
| WithAggregations | Boolean | Yes | Add optional aggregation metrics, like average, min and max. Note that this can result in increased data usage. The same data results can be achieved using queries. |
| CustomMetricNamespaces | String | No | Enter your custom metric namespaces to specify which metrics to collect. If left empty, no metrics will be collected. |
| EcsEnhancedMonitoringEnabled | Boolean | No | Enable ECS Enhanced Monitoring for additional metrics and ECS service and container_instances tags. Note that this will result in increased data usage. The following permissions are required: ecs::Describe* and ecs::List*. Permissions without an * can be found in the changelog. |
| ElastiCacheEnhancedMonitoringEnabled | Boolean | No | Enable ElastiCache Enhanced Monitoring for additional metrics. Note that this will result in increased data usage. The following permissions are required: elasticache:DescribeCacheClusters, elasticache:ListTagsForResource and ec2:DescribeInstanceTypes. |
| ExtendedStatisticsToCollect | JSON | No | Enter a JSON-formatted string containing additional statistics, they will be collected only for metrics matching selected Metric Namespaces. If you do not want any additional statistics put [] as a value. Example: [{\"metric_selector\":{\"namespace\": \"AWS/EC2\", \"metric_names\": [\"CPUUtilization\"]}, \"extended_statistics\": [\"p99\"]}]. Supported statistics are [\"p99\", \"p95\", \"p90\", \"p80\", \"p70\"]. |
| ExternalId | String | No | Optional. Fill this field if your defined AWS Role depends on the sts:ExternalId field, otherwise no data will be received from your AWS account. |
| PollIntervalMinutes | Number | No | Poll interval in minutes, can be set to 10 and more. |
| RdsEnhancedMonitoringEnabled | Boolean | No | Enable RDS Enhanced Monitoring for additional metrics and RDS provisioned and reserved instance tags. Note that this will result in increased data usage. The following permissions are required: rds::Describe*, rds::List*, and ec2:DescribeInstanceTypes. Permissions without an * can be found in the changelog. |
| ResourceTagsFilter | String | No | Enter a comma-separated list of tag keys or key-value pairs to use as filter. Metrics on resources not matching the filter will be skipped. Note that not all metrics are linked to resources, this filter will have no effect on them. If no filter is defined, ALL metrics will be collected. |
| StaticLabels | List | No | List of key-value pairs that will be added as labels to every metric in the integration. |
| TagsKeyFilter | List | No | Enter a comma-separated list of tag keys. Only tags matching these keys will be added as labels to the metrics. If empty, all of the tags will be added. |
Theme
Light