AWS Kinesis Data Firehose Receiver
The AWS Kinesis Data Firehose Receiver is for ingesting delivery stream messages and parsing the records received
based on the configured record type.
Configuration
Example:
receivers:
awsfirehose:
endpoint: 0.0.0.0:4433
encoding: awscloudwatchmetricstreams_encoding
access_key: "some_access_key"
tls:
cert_file: server.crt
key_file: server.key
extensions:
awscloudwatchmetricstreams_encoding:
format: json
The configuration includes the OpenTelemetry collector's server confighttp,
which allows for a variety of settings. Only the most relevant ones will be discussed here, but all are available.
The Amazon Data Firehose Delivery Streams currently only support HTTPS endpoints using port 443.
This can be potentially circumvented using a Load Balancer.
endpoint:
The address:port to bind the listener to.
default: localhost:4433
See our security best practices doc to understand how to set the endpoint in different environments.
tls:
See documentation for more details.
A cert_file and key_file are required.
encoding:
The ID of an encoding extension for decoding logs or metrics.
This configuration also supports the built-in encodings listed in the Encodings section.
If no encoding is specified, then the receiver will default to a signal-specific encoding: cwmetrics for metrics, and cwlogs for logs.
In the future, the default encodings will be removed, and it will be required to specify an encoding extension.
record_type:
Deprecated, use encoding instead. record_type will be removed in a future release; it is an alias for encoding.
access_key (Optional):
The access key to be checked on each request received. This can be set when creating or updating the delivery stream.
See documentation for details.
Encodings
Any encoding extension can be used with this receiver. There are additionally built-in encodings, which are deprecated.
In the future it will be required to specify an encoding extension, and the built-in encodings will be removed.
cwmetrics (deprecated)
The built-in cwmetrics encoding is deprecated and will be removed in a future version.
Use the awscloudwatchmetricstreams_encoding
extension with format: json instead.
extensions:
awscloudwatchmetricstreams_encoding:
format: json
receivers:
awsfirehose:
encoding: awscloudwatchmetricstreams_encoding
cwlogs (deprecated)
The built-in cwlogs encoding is deprecated and will be removed in a future version.
Use the aws_logs_encoding extension with
format: cloudwatch instead.
The receiver detects and decompresses gzip-compressed Firehose records before invoking any configured logs encoding.
extensions:
aws_logs_encoding:
format: cloudwatch
receivers:
awsfirehose:
encoding: aws_logs_encoding
otlp_v1 (deprecated)
The built-in otlp_v1 encoding is deprecated and will be removed in a future version.
Use the awscloudwatchmetricstreams_encoding
extension with format: opentelemetry1.0 instead.
extensions:
awscloudwatchmetricstreams_encoding:
format: opentelemetry1.0
receivers:
awsfirehose:
encoding: awscloudwatchmetricstreams_encoding