Skip to content

geekcell/terraform-aws-new-relic-integration

Repository files navigation

Geek Cell GmbH

Code Quality

License GitHub release (latest tag) Release Validate Lint

Security

Infrastructure Tests

Cloud

Infrastructure Tests Infrastructure Tests Infrastructure Tests Infrastructure Tests Infrastructure Tests

Container

Infrastructure Tests Infrastructure Tests Infrastructure Tests Infrastructure Tests

Data protection

Infrastructure Tests Infrastructure Tests Infrastructure Tests Infrastructure Tests Infrastructure Tests Infrastructure Tests Infrastructure Tests

Terraform AWS New Relic Integration

Terraform module which creates resources to integrate AWS with New Relic by using Kinesis Firehose streams. Supports VPC Flow logs. Comes with the following sub modules:

Inputs

Name Description Type Default Required
cloudwatch_metric_stream_name Name of the Cloudwatch Metric Stream. string null no
firehose_metrics_delivery_stream_name Name of the Firehose Delivery Stream to use for Cloudwatch Metrics. string null no
firehose_role_name Name of the Firehose Role to use for Cloudwatch Metrics. string null no
firehose_role_name_prefix Whether to use a prefix for the Firehose Role name. bool false no
firehose_s3_bucket_name Name of the S3 Bucket to use for Firehose. string null no
firehose_vpc_delivery_stream_name Name of the Firehose Delivery Stream to use for VPC Flow Logs. string null no
flow_logs_vpc_ids List of VPC IDs to enable VPC Flow Logs for. If empty, VPC Flow Logs will not be enabled. list(string) [] no
ingeration_role_name Name of the Integration Role for New Relic. string null no
integration_role_name_prefix Whether to use a prefix for the Integration Role name. bool false no
metric_stream_role_name Name of the Metric Stream Role to use for Cloudwatch Metrics. string null no
metric_stream_role_name_prefix Whether to use a prefix for the Metric Stream Role name. bool false no
name Name or prefix for the resources. string "new-relic" no
new_relic_account_id Unique identifier for New Relic account. string n/a yes
new_relic_cloudwatch_metrics_endpoint New Relic Cloudwatch Endpoint for either EU or US. string "https://aws-api.eu01.nr-data.net/cloudwatch-metrics/v1" no
new_relic_firehose_endpoint New Relic Firehose Endpoint for either EU or US. string "https://aws-api.eu.newrelic.com/firehose/v1" no
tags Tags to add to the resources. map(any) {} no

Outputs

No outputs.

Providers

Name Version
aws >= 4.36, < 5.0.0
newrelic >= 2.37.0

Resources

  • resource.aws_cloudwatch_metric_stream.main (main.tf#145)
  • resource.aws_flow_log.main (main.tf#294)
  • resource.aws_kinesis_firehose_delivery_stream.cloudwatch_metrics (main.tf#157)
  • resource.aws_kinesis_firehose_delivery_stream.vpc_flow_logs (main.tf#193)
  • resource.aws_s3_bucket.main (main.tf#261)
  • resource.aws_s3_bucket_acl.main (main.tf#267)
  • resource.aws_s3_bucket_public_access_block.main (main.tf#282)
  • resource.aws_s3_bucket_server_side_encryption_configuration.main (main.tf#272)
  • resource.newrelic_api_access_key.main (main.tf#311)
  • resource.newrelic_cloud_aws_link_account.main (main.tf#325)
  • data source.aws_caller_identity.current (main.tf#10)

Examples

Minimal

module "example" {
  source = "../../"

  new_relic_account_id = "123456789"
}