AWS CloudWatch
Configuring the AWS CloudWatch backend (Managed)
Getting Started
Make sure that you have the necessary AWS Credentials
and permissions set up.
AWS credentials are retrieved from the default credential chain.
Setting up AWS credentials with AWS EKS (Elastic Kubernetes Service)
The following command will create a link between your EKS cluster and your IAM account, effectively allowing the EKS cluster to assume IAM roles and access AWS services.
Replace $EKS_CLUSTER_REGION
with the region of your EKS cluster and $EKS_CLUSTER_NAME
with the name of your EKS cluster (or set them as environment variables).
Setting up the IAM policy
Configuring Destination Fields
- AWS_CLOUDWATCH_LOG_GROUP_NAME
string
: Log Group Name. The group name of the CloudWatch Logs. If it does not exist it will be created automatically.- This field is required
- AWS_CLOUDWATCH_LOG_STREAM_NAME
string
: Log Stream Name. The stream name of the CloudWatch Logs. If it does not exist it will be created automatically.- This field is required
- AWS_CLOUDWATCH_REGION
string
: Region. The AWS region where the log stream is in. Region must be specified if it is not already set in the default credential chain.- This field is optional
- AWS_CLOUDWATCH_ENDPOINT
string
: Endpoint. The CloudWatch Logs service endpoint which the requests are forwarded to.- This field is optional
- AWS_CLOUDWATCH_LOG_RETENTION
string
: Log Retention. LogRetention is the option to set the log retention policy for only newly created CloudWatch Log Groups. The value is in days, 0 = Never Expire. This value can also be changed later-on via the AWS console (UI) or AWS API, it’s not a permanent decision once set. Also, the value here might not reflect the actual retention value in the destination if it was modified or some automatic policy is applied.- This field is optional and defaults to
0
- This field is optional and defaults to
- AWS_CLOUDWATCH_TAGS
{ key: string; value: string; }[]
: Tags. Tags is the option to set tags for the CloudWatch Log Group. If specified, please add at most 50 tags. Keys must be between 1-128 characters and follow the pattern: (alphanumerics, whitespace, and _.:/=+-!). Values must be between 1-256 characters and follow the pattern: (alphanumerics, whitespace, and _.:/=+-!).- This field is optional
- AWS_CLOUDWATCH_RAW_LOG
boolean
: Raw Log. If set to true, only the log message will be exported to CloudWatch Logs. This needs to be set to true for EMF logs.- This field is optional and defaults to
False
- This field is optional and defaults to
- AWS_CLOUDWATCH_METRICS_NAMESPACE
string
: Metrics Namespace. Customized CloudWatch metrics namespace. Metrics in different namespaces are isolated from each other. Please note this is not a cluster namespace.- This field is optional and defaults to
Odigos
- This field is optional and defaults to
- AWS_CLOUDWATCH_METRICS_DIMENSION_ROLLUP
string
: Metrics Dimension Rollup. The option for metrics dimension rollup.- This field is optional and defaults to
NoDimensionRollup
- This field is optional and defaults to
- AWS_CLOUDWATCH_METRICS_DETAILED
boolean
: Detailed Metrics. Retain detailed datapoint values in exported metrics (e.g instead of exporting a quantile as a statistical value, preserve the quantile’s population).- This field is optional and defaults to
False
- This field is optional and defaults to
- AWS_CLOUDWATCH_RETAIN_INITIAL_VALUE_OF_DELTA_METRIC
boolean
: Retain Initial Value of Delta Metric. This option specifies how the first value of a metric is handled. AWS EMF expects metric values to only contain deltas to the previous value. In the default case the first received value is therefor not sent to AWS but only used as a baseline for follow up changes to this metric. This is fine for high throughput metrics with stable labels. In this case it does not matter if the first value of this metric is discarded. However when your metric describes infrequent events or events with high label cardinality, then the exporter in default configuration would still drop the first occurrence of this metric. With this configuration value set to true the first value of all metrics will instead be send to AWS.- This field is optional and defaults to
False
- This field is optional and defaults to
- If the log group and/or log stream are specified in an EMF log, that EMF log will be exported to that log group and/or log stream (i.e. ignores the log group and log stream defined in the configuration).
- The log group and log stream will also be created automatically if they do not already exist.
- Example of an EMF log with log group and log stream:
- Resource ARNs (Amazon Resource Name (ARN) of the AWS resource running the collector) are currently not supported with the CloudWatch Logs Exporter.
Adding Destination to Odigos
There are two primary methods for configuring destinations in Odigos:
Using the UI
Use the Odigos CLI to access the UI
Click on Add Destination
, select AWS CloudWatch
and follow the on-screen instructions
Using Kubernetes manifests
Save the YAML below to a file (e.g. cloudwatch.yaml
)
Apply the YAML using kubectl