awsfirehosereceiver

package module
v0.72.0 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2023 License: Apache-2.0 Imports: 17 Imported by: 7

README

AWS Kinesis Data Firehose Receiver

Status
Stability alpha
Supported pipeline types metrics
Distributions contrib

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

Overview

Package awsfirehosereceiver implements a receiver that can be used to receive requests from the AWS Kinesis Data Firehose and transform them into formats usable by the Opentelemetry collector. The configuration determines which unmarshaler to use. Each unmarshaler is responsible for processing a Firehose record format that can be sent through the delivery stream.

More details can be found at: https://docs.aws.amazon.com/firehose/latest/dev/httpdeliveryrequestresponse.html

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 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