awsfirehosereceiver

package module
v0.0.0-...-b49d0cb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 19, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

README

AWS Kinesis Data Firehose Receiver

Status
Stability alpha: metrics
Distributions contrib, observiq, sumo
Issues Open issues Closed issues
Code Owners @Aneurysm9

Receiver for ingesting AWS Kinesis Data Firehose delivery stream messages and parsing the records received based on the configured record type.

Configuration

Example:

receivers:
  awsfirehose:
    endpoint: 0.0.0.0:4433
    record_type: cwmetrics
    access_key: "some_access_key"
    tls:
      cert_file: server.crt
      key_file: server.key

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 AWS Kinesis 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: 0.0.0.0:4433

tls:

See documentation for more details.

A cert_file and key_file are required.

record_type:

The type of record being received from the delivery stream. Each unmarshaler handles a specific type, so the field allows the receiver to use the correct one.

default: cwmetrics

See the Record Types section for all available options.

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.

Record Types

cwmetrics

The record type for the CloudWatch metric stream. Expects the format for the records to be JSON. See documentation for details.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFactory

func NewFactory() receiver.Factory

NewFactory creates a receiver factory for awsfirehose. Currently, only available in metrics pipelines.

Types

type Config

type Config struct {
	// HTTPServerSettings is used to set up the Firehose delivery
	// endpoint. The Firehose delivery stream expects an HTTPS
	// endpoint, so TLSSettings must be used to enable that.
	confighttp.HTTPServerSettings `mapstructure:",squash"`
	// RecordType is the key used to determine which unmarshaler to use
	// when receiving the requests.
	RecordType string `mapstructure:"record_type"`
	// AccessKey is checked against the one received with each request.
	// This can be set when creating or updating the Firehose delivery
	// stream.
	AccessKey configopaque.String `mapstructure:"access_key"`
}

func (*Config) Validate

func (c *Config) Validate() error

Validate checks that the endpoint and record type exist and are valid.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL