AWS Kinesis Firehose

Send Sym logs to Kinesis Firehose, and from there, anywhere else!

Overview

With the Kinesis Firehose Log Destination, you can send the full stream of Reporting events from Sym to any destination supported by Kinesis Firehose.

Simply create a Log Destination of type kinesis_firehose, and add it to your Environment.

This is a powerful integration that can sit upstream of any number of logging destinations, including:

  • AWS S3
  • DataDog
  • New Relic
  • Redshift
  • Splunk

πŸ“˜

This Integration relies on a connector module

Before proceeding, make sure you've configured the AWS Kinesis Firehose Connector

Example implementation

To add Kinesis Firehose into your Flow, define the following items in Terraform:

resource "sym_log_destination" "firehose" {
  type           = "kinesis_firehose"
  
  integration_id = sym_integration.runtime_context.id
  
  settings = {
    stream_name = var.firehose_stream_name
  }
}

resource "sym_environment" "prod" {
  label               = "Production"
  runtime_id          = sym_runtime.this.id
  log_destination_ids = [sym_log_destination.firehose.id]
}

Note that kinesis_firehose.integration_id may point to any Integration of type permission_context and is used to allow the Sym Runtime access to Kinesis Firehose. If using the default sym_integration.runtime_context, permission can be granted easily using the aws/kinesis-firehose addon for the Runtime Connector.

The above Terraform will remain the same regardless of how the Kinesis Firehose itself is configured. To configure Datadog, see the Datadog Connector.

Downstream logging destinations

Once you've set up a basic Kinesis Firehose, you can pipe your Sym logs downstream to a number of destinations. The simplest approach is to send logs to an S3 bucket, but the combination of Kinesis + Terraform's mutual support for sending logs to HTTP endpoints makes most downstream integrations a breeze.

Downstream configurations for AWS Kinesis Firehose will usually take one of three types: Kinesis firehose built-in support, support via HTTP endpoint, or abstracted support via Sym module.

Further reading

For more information on sending logs downstream from AWS Kinesis Firehose, see the HashiCorp AWS Provider docs here.


Did this page help you?