lambda-kinesis-forward

baikonur-oss/lambda-kinesis-forward/aws

Terraform Module HCL AWS

Terraform module and Lambda for forwarding JSON logs from one Kinesis stream to another.

Install
module "lambda-kinesis-forward" {
source = "baikonur-oss/lambda-kinesis-forward/aws"
version = "2.0.7"
}
plain text: /constructs/tfmod-baikonur-oss-lambda-kinesis-forward-aws/install.txt
⭐ Source on GitHub 📦 Registry page
README

Amazon Kinesis to Kinesis log forwarding Terraform module Terraform module and Lambda for transferring JSON log records from one Kinesis Data Streams stream to another, with key filtering. !terraform v0.12.x ![Language grade: Python](https://lgtm.com/projects/g/baikonur-oss/terraform-aws-lambda-kinesis-forward/context:python) Prerequisites 1. Records in Kinesis stream must be valid JSON data. Non-JSON data will be ignored. 1. gzipped JSON, CloudWatch Logs subscription filters log format are supported. 2. Broken JSON logs or logs without log type will be saved to S3 as unknown. 2. JSON data must have the following keys (key names are modifiable via variables): 1. log_type: Log type identifier. Used for filtering data sent to target stream. 3. Recommended keys (necessary if target stream has

Inputs (23)
NameTypeDescriptionDefault
namestringResource name required
source_stream_namestringSource Kinesis Data Stream name required
lambda_package_urlstringLambda package URL (see Usage in README) required
failed_log_s3_bucketstringS3 bucket name for saving failed logs (ES API errors etc.) required
target_stream_namestringTarget Kinesis Data Stream name required
batch_sizestringMaximum number of records passed for a single Lambda invocation required
failed_log_s3_prefixstringPath prefix for failed logs required
starting_positionstringKinesis ShardIterator type (see: https://docs.aws.amazon.com/kinesis/latest/APIR"TRIM_HORIZON"
log_timestamp_fieldstringKey name for log timestamp"time"
timezonestringtz database timezone name (e.g. Asia/Tokyo)"UTC"
handlerstringLambda Function handler (entrypoint)"main.handler"
log_type_field_whitelistlist(string)Log type whitelist (if empty, all types will be processed)[]
tagsmap(string)Tags for Lambda Function{}
log_retention_in_daysstringLambda Function log retention in days30
timeoutstringLambda Function timeout in seconds60
runtimestringLambda Function runtime"python3.7"
log_id_fieldstringKey name for unique log ID"log_id"
kinesis_max_retriesnumberTimes to retry PutRecords on errors (wait time between retires is 500ms)3
tracing_modestringX-Ray tracing mode (see: https://docs.aws.amazon.com/lambda/latest/dg/API_Traci"PassThrough"
enable_kinesis_mappingstringDetermines if the event source mapping will be enabledtrue
log_type_fieldstringKey name for log type"log_type"
log_type_unknown_prefixstringLog type prefix for logs without log type field"unknown"
memorystringLambda Function memory in megabytes256
Resources (4)
aws_cloudwatch_log_groupaws_iam_role_policy_attachmentaws_lambda_event_source_mappingaws_lambda_function
Details
FrameworkTerraform Module
LanguageHCL
Version2.0.7
Cloud AWS
★ Stars3
Forks4
Total downloads11.9k
Inputs23
Resources4
LicenseMIT
Namespacebaikonur-oss
Updated