Amazon CloudWatch destination plugin

Amazon CloudWatch is a monitoring and observability service provided by Amazon Web Services (AWS). CloudWatch Logs lets you to monitor, store, and access log files from your EC2 instances, CloudTrail, Lambda, and other AWS resources. With CloudWatch Metrics, you can collect and analyze metric data from your resources to gain insights into their performance and health.

The CloudWatch destination plugin in Calyptia Core lets you configure your pipeline to stream your log data and metrics to CloudWatch Logs and Metrics respectively.

Configuration parameters

The Amazon CloudWatch Logs and Metrics destination plugin provides these configuration parameters.

General

KeyDescription
RegionThe AWS region to send your logs or metrics to
CloudWatch Log Group NameCloudWatch Log Group Name
CloudWatch Log Stream NameCloudWatch Log Stream Name; Not compatible with Log Stream Prefix

AWS authentication

KeyDescription
IAM Role ARNARN of an IAM role to assume (ex. for cross account access).
CloudWatch Logs and Metrics API EndpointCustom Endpoint for the FirehoSe API.
STS API EndpointCustom Endpoint for the STS API.
External ID for STS APISpecify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.

Configuration

KeyDescription
CloudWatch Log Stream Name PrefixPrefix for CloudWatch Log Stream Name. Tag is appended to the prefix to form the stream name.
CloudWatch Log Group TemplateTemplate for CloudWatch Log Group name using record accessor syntax. Plugin falls back to the log_group_name configured if needed.
CloudWatch Log Stream TemplateTemplate for CloudWatch Log Stream name using record accessor syntax. Plugin falls back to the log_stream_name or log_stream_prefix configured if needed.
Number of days to retain logsIf set to a number greater than zero, and newly create log group's retention policy is set to this many days. Valid values are: [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653].
Log FormatOptional. Used to tell CloudWatch the format of the data. A value of json/emf enables CloudWatch to extract custom metrics embedded in a JSON payload.
Log KeyBy default, the whole log record will be sent to CloudWatch. If you specify a key name with this option, then only the value of that key will be sent to CloudWatch. For example, if you are using the Fluentd Docker log driver, you can specify log_key log and only the log message will be sent to CloudWatch.
Enable Auto Retry RequestsImmediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient or random networking issues.
Enable Auto Create Log GroupAutomatically create the log group (log streams will always automatically be created).
Metric namespace for CloudWatch EMF logsMetric namespace for CloudWatch EMF logs.
Metric Dimension ListMetric dimensions is a list of lists. If you have only one list of dimensions, put the values as a comma-separated string. If you want to put list of lists, use the list as semicolon-separated strings. If your value is d1,d2;d3, we will consider it as [[d1, d2],[d3]].

Security and TLS

KeyDescription
TLSEnable or disable TLS/SSL support.
TLS Certificate ValidationTurn TLS/SSL certificate validation on or off. TLS must be on for this setting to be enabled.
TLS Debug LevelSet TLS debug verbosity level. Accepts these values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational), 4 (Verbose).
CA Certificate File PathAbsolute path to CA certificate file.
Certificate File PathAbsolute path to certificate file.
Private key File PathAbsolute path to private key file.
Private Key Path PasswordOptional password for tls.key_file file.
TLS SNI Hostname ExtensionHostname to be used for TLS SNI extension.

Advanced networking

KeyDescription
DNS ModeSelect the primary DNS connection type (TCP or UDP).
DNS ResolverSelect the primary DNS connection type (TCP or UDP).
Prefer IPv4Prioritize IPv4 DNS results when trying to establish a connection.
KeepaliveEnable or disable Keepalive support.
Keepalive Idle TimeoutSet maximum time allowed for an idle Keepalive connection.
Max Connect TimeoutSet maximum time allowed to establish a connection, this time includes the TLS handshake.
Max Connect Timeout Log ErrorOn connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message.
Max Keepalive RecycleSet maximum number of times a keepalive connection can be used before it is retired.
Source AddressSpecify network address to bind for data traffic.