Skip to main content
Honeycomb AWS Integrations can be set up with HashiCorp Terraform as your preferred Infrastructure-as-Code (IaC) method and deployment process.
Honeycomb AWS Integrations utilize AWS CloudWatch, Amazon Kinesis, and AWS Lambda to send data to Honeycomb. Refer to How AWS Integrations Work to reference which AWS services use which methods. Note that standard AWS charges apply. Please refer to Amazon for specifics on associated egress costs.

HashiCorp Terraform

Honeycomb provides a Terraform module to automate configuration of various AWS services to Honeycomb. Each integration has an independently deployable submodule that the top-level module deploys all together with the ability to turn functionality on and off as needed. Supported Terraform Integrations:
  • CloudWatch Logs
  • CloudWatch Metrics
  • RDS Logs
  • Amazon S3 Bucket Logs

Terraform Setup

Implement all of the Terraform submodules at once, or choose among the available Terraform submodules.
To configure for all supported Terraform integrations:
  1. Add the minimal Terraform configuration, which includes the required fields for all supported Terraform integrations:
  2. Set the TF_VAR_HONEYCOMB_API_KEY environment variable to your team’s Honeycomb API Key.
  3. Set the environment variables with your AWS credentials.
    For more details and options, visit Terraform documentation.
  4. Run terraform plan/apply in sequence.
For more configuration options, refer to USAGE.md.

Troubleshooting

Kinesis Firehose

Kinesis Firehose sends failed data to the configured S3 bucket. Depending on the stage of the flow when the error occurred, the error log ends up in a different subdirectory. For example, if our HTTP endpoint sends a non-2xx error code back, the error log will be located in the http-endpoint-failed directory with the exact status code and error message.

RDS

A pre-requisite to using both the RDS logs Terraform module and the RDS logs CloudFormation stack is enabling RDS log exports to CloudWatch. Refer to Publishing database logs to Amazon CloudWatch for instructions. Once enabled, the module can scoop logs from those CloudWatch log groups and begin streaming them to Honeycomb.
When enabling log exports for RDS Postgresql, ensure the log_statement attribute on the parameter group is not set to ALL.
Currently, structured logs are supported for the following:
  • MySQL general logs
  • MySQL slow query logs
  • MySQL error logs
  • Postgresql slow query logs
For any RDS log types not listed above, the integration will still deliver them to Honeycomb but they will be unstructured logs.