Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 31 additions & 22 deletions pipeline/outputs/cloudwatch.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,37 @@

## Configuration parameters

| Key | Description |
|----- |------------------ |
| `region` | The AWS region. |
| `log_group_name` | The name of the CloudWatch log group that you want log records sent to. |
| `log_group_template` | Optional. Template for the log group name using Fluent Bit [`record_accessor`](https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/classic-mode/record-accessor) syntax. If configured, this field overrides the `log_group_name`. If the template translation fails, an error is logged and the `log_group_name` is used instead. See the tutorial for an example. |
| `log_stream_name` | The name of the CloudWatch log stream that you want log records sent to. |
| `log_stream_prefix` | Prefix for the log stream name. The tag is appended to the prefix to construct the full log stream name. Not compatible with the `log_stream_name` option. |
| `log_stream_template` | Optional. Template for log stream name using Fluent Bit [`record_accessor`](https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/classic-mode/record-accessor) syntax. If configured, it overrides other log stream options. If the template translation fails, an error is logged and `log_stream_name` or `log_stream_prefix` are used instead (one of those fields must be configured). See the tutorial for an example. |
| `log_key` | By 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. |
| `log_format` | Optional. A parameter that can be 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. See the [Embedded Metric Format](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Specification.html) specification. |
| `role_arn` | ARN of an IAM role to assume for cross account access. |
| `auto_create_group` | Automatically create the log group. Allowed values: `true`, `false` (case insensitive). Defaults to `false`. |
| `log_group_class` | Optional. Specifies the log storage class for new log groups when `auto_create_group` is set to `true`. You can't modify the storage class of existing log groups. Allowed values: `STANDARD`, `INFREQUENT_ACCESS`. Default: `STANDARD`. |
| `log_retention_days` | If set to a number greater than zero, and newly create log group's retention policy is set to this many days. Allowed values: [`1`, `3`, `5`, `7`, `14`, `30`, `60`, `90`, `120`, `150`, `180`, `365`, `400`, `545`, `731`, `1827`, `3653`] |
| `endpoint` | Specify a custom endpoint for the CloudWatch Logs API. |
| `metric_namespace` | An optional string representing the CloudWatch namespace for the metrics. See the [Metrics tutorial](#metrics-tutorial) section for a full configuration. |
| `metric_dimensions` | A list of lists containing the dimension keys that will be applied to all metrics. The values within a dimension set must be members on the root-node. For more information about dimensions, see [Dimension](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Dimension.html) and [Dimensions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension). In the Fluent Bit configurations, `metric_dimensions` is a comma and semicolon separated string. 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. For example, if you set the value as `dimension_1,dimension_2;dimension_3`, Fluent Bit converts it as `[[dimension_1, dimension_2],[dimension_3]]`. |
| `sts_endpoint` | Specify a custom STS endpoint for the AWS STS API. |
| `profile` | Option to specify an AWS Profile for credentials. Defaults to `default`. |
| `auto_retry_requests` | Immediately retry failed requests to AWS services once. This option doesn't affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which can help improve throughput when there are transient/random networking issues. Defaults to `true`. |
| `external_id` | Specify an external ID for the STS API, can be used with the `role_arn` parameter if your role requires an external ID. |
| `workers` | The number of [workers](../../administration/multithreading.md#outputs) to perform flush operations for this output. Default: `1`. |
| Key | Description | Default |
|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------|
| `add_enity` | Add entity to `PutLogEvent` calls. | `false` |
| `alias` | Sets an alias, useful for multiple instances of the same output plugin. | _none_ |

Check warning on line 20 in pipeline/outputs/cloudwatch.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Simplicity] Avoid words like "useful" that imply ease of use, because the user may find this action difficult. Raw Output: {"message": "[FluentBit.Simplicity] Avoid words like \"useful\" that imply ease of use, because the user may find this action difficult.", "location": {"path": "pipeline/outputs/cloudwatch.md", "range": {"start": {"line": 20, "column": 55}}}, "severity": "WARNING"}
| `auto_create_group` | Automatically create the log group. Allowed values: `true`, `false` (case insensitive). | `false` |
| `auto_retry_requests` | Immediately retry failed requests to AWS services once. This option doesn't affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which can help improve throughput when there are transient/random networking issues. | `true` |
| `endpoint` | Specify a custom endpoint for the CloudWatch Logs API. | _none_ |
| `external_id` | Specify an external ID for the STS API, can be used with the `role_arn` parameter if your role requires an external ID. | _none_ |
| `extra_user_agent` | This option appends a string to the default user agent. AWS asks that you not manually set this field yourself, it is reserved for use in our vended configurations, for example, EKS Container Insights. | _none_ |

Check warning on line 25 in pipeline/outputs/cloudwatch.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.We] Try to avoid using first-person plural like 'our'. Raw Output: {"message": "[FluentBit.We] Try to avoid using first-person plural like 'our'.", "location": {"path": "pipeline/outputs/cloudwatch.md", "range": {"start": {"line": 25, "column": 178}}}, "severity": "INFO"}

Check warning on line 25 in pipeline/outputs/cloudwatch.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Contractions] Feel free to use 'it's' instead of 'it is'. Raw Output: {"message": "[FluentBit.Contractions] Feel free to use 'it's' instead of 'it is'.", "location": {"path": "pipeline/outputs/cloudwatch.md", "range": {"start": {"line": 25, "column": 152}}}, "severity": "INFO"}
| `log_format` | An optional parameter that can be 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. | _none_ |
| `log_group_class` | Specifies the log storage class for new log groups when `auto_create_group` is set to `true`. You can't modify the storage class of existing log groups. Allowed values: `STANDARD`, `INFREQUENT_ACCESS`. | `STANDARD` |
| `log_group_name` | The name of the CloudWatch log group that you want log records sent to. | _none_ |
| `log_group_template` | OTemplate for CW Log Group name using record accessor syntax. Plugin falls back to the log_group_name configured if needed. | _none_ |

Check warning on line 29 in pipeline/outputs/cloudwatch.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Spelling] Spelling check: 'log_group_name'? Raw Output: {"message": "[FluentBit.Spelling] Spelling check: 'log_group_name'?", "location": {"path": "pipeline/outputs/cloudwatch.md", "range": {"start": {"line": 29, "column": 127}}}, "severity": "INFO"}

Check warning on line 29 in pipeline/outputs/cloudwatch.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Spelling] Spelling check: 'OTemplate'? Raw Output: {"message": "[FluentBit.Spelling] Spelling check: 'OTemplate'?", "location": {"path": "pipeline/outputs/cloudwatch.md", "range": {"start": {"line": 29, "column": 40}}}, "severity": "INFO"}
| `log_key` | By 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. | _none_ |
| `log_level` | Specifies the log level for output plugin. If not set here, plugin uses global log level in `service` section. | `info` |
| `log_retention_days` | If set to a number greater than zero, and newly create log group's retention policy is set to this many days. Allowed values: [`1`, `3`, `5`, `7`, `14`, `30`, `60`, `90`, `120`, `150`, `180`, `365`, `400`, `545`, `731`, `1827`, `3653`] | `0` |
| `log_stream_name` | The name of the CloudWatch log stream that you want log records sent to. | _none_ |
| `log_stream_prefix` | Prefix for the log stream name. The tag is appended to the prefix to construct the full log stream name. Not compatible with the `log_stream_name` option. | _none_ |
| `log_stream_template` | Template for CloudWatch Log Stream name using record accessor syntax. Plugin falls back to the `log_stream_name` or `log_stream_prefix` configured if needed. | _none_ |
| `log_supress_interval` | Suppresses log messages from output plugin that appear similar within a specified time interval. `0` no suppression. | `0` |
| `match` | Set a tag pattern to match records that output should process. Exact matches or wildcards (for example `*`). | _none_ |
| `match_regex` | Set a regular expression to match tags for output routing. This allows more flexible matching compared to simple wildcards. | _none_ |

Check warning on line 38 in pipeline/outputs/cloudwatch.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Simplicity] Avoid words like "simple" that imply ease of use, because the user may find this action difficult. Raw Output: {"message": "[FluentBit.Simplicity] Avoid words like \"simple\" that imply ease of use, because the user may find this action difficult.", "location": {"path": "pipeline/outputs/cloudwatch.md", "range": {"start": {"line": 38, "column": 146}}}, "severity": "WARNING"}
| `metric_dimensions` | Metric dimensions is a list of lists. If you have only one list of dimensions, put the values as a comma seperated string. If you want to put list of lists, use the list as semicolon seperated strings. If your value is `d1,d2;d3`, it will consider it as `[[d1, d2],[d3]]`. | _none_ |

Check warning on line 39 in pipeline/outputs/cloudwatch.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Spelling] Spelling check: 'seperated'? Raw Output: {"message": "[FluentBit.Spelling] Spelling check: 'seperated'?", "location": {"path": "pipeline/outputs/cloudwatch.md", "range": {"start": {"line": 39, "column": 223}}}, "severity": "INFO"}

Check warning on line 39 in pipeline/outputs/cloudwatch.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Spelling] Spelling check: 'seperated'? Raw Output: {"message": "[FluentBit.Spelling] Spelling check: 'seperated'?", "location": {"path": "pipeline/outputs/cloudwatch.md", "range": {"start": {"line": 39, "column": 145}}}, "severity": "INFO"}
| `metric_namespace` | An optional string representing the CloudWatch namespace for the metrics. See the [Metrics tutorial](#metrics-tutorial) section for a full configuration. | _none_ |
| `profile` | Option to specify an AWS Profile for credentials. | _none_ |
| `region` | The AWS region to send logs to. | _none_ |
| `retry_limit` | Set retry limit for output plugin when delivery fails. Integer, `no_limits`, `false`, or `off` to disable, or `no_retries` to disable retries entirely. | `1` |
| `role_arn` | ARN of an IAM role to assume for cross account access. | _none_ |
| `sts_endpoint` | Specify a custom STS endpoint for the AWS STS API. | _none_ |
| `tls.windows.certstore_name` | Sets the certificate store name on an output (Windows). | _none_ |
| `tls.windows.use_enterprise_store` | Sets whether using enterprise certificate store or not on an output (Windows). | _none_ |

## Get started

Expand Down