{"id":21847558,"url":"https://github.com/scribd/terraform-aws-datadog","last_synced_at":"2025-07-29T06:09:08.268Z","repository":{"id":40304611,"uuid":"241816337","full_name":"scribd/terraform-aws-datadog","owner":"scribd","description":"Terraform module for setting up AWS Datadog integration","archived":false,"fork":false,"pushed_at":"2025-02-21T23:11:19.000Z","size":155,"stargazers_count":40,"open_issues_count":9,"forks_count":31,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-07-04T20:40:18.845Z","etag":null,"topics":["aws","aws-lambda","datadog","terraform"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/scribd/datadog/aws/1.0.0","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scribd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-02-20T07:04:41.000Z","updated_at":"2025-02-21T22:52:07.000Z","dependencies_parsed_at":"2025-05-20T00:17:13.373Z","dependency_job_id":null,"html_url":"https://github.com/scribd/terraform-aws-datadog","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/scribd/terraform-aws-datadog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Fterraform-aws-datadog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Fterraform-aws-datadog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Fterraform-aws-datadog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Fterraform-aws-datadog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scribd","download_url":"https://codeload.github.com/scribd/terraform-aws-datadog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Fterraform-aws-datadog/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267639022,"owners_count":24119767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-lambda","datadog","terraform"],"created_at":"2024-11-27T23:18:38.169Z","updated_at":"2025-07-29T06:09:07.997Z","avatar_url":"https://github.com/scribd.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-aws-datadog\n\n[![cicd](https://github.com/scribd/terraform-aws-datadog/workflows/CICD/badge.svg)](https://github.com/scribd/terraform-aws-datadog/actions)\n[![terraformregistry](https://img.shields.io/badge/terraform-registry-blueviolet)](https://registry.terraform.io/modules/scribd/datadog/aws)\n\nThis module configures the AWS / Datadog integration.\n\nThere are two main components:\n\n1. Datadog core integration, enabling [datadog's AWS integration](https://docs.datadoghq.com/integrations/amazon_web_services/)\n2. Datadog logs_monitoring forwarder, enabling [logshipping watched S3 buckets](https://github.com/DataDog/datadog-serverless-functions/tree/master/aws/logs_monitoring)\n  - Forward CloudWatch, ELB, S3, CloudTrail, VPC and CloudFront logs to Datadog\n  - Forward S3 events to Datadog\n  - Forward Kinesis data stream events to Datadog, only CloudWatch logs are supported\n  - Forward custom metrics from AWS Lambda functions via CloudWatch logs\n  - Forward traces from AWS Lambda functions via CloudWatch logs\n  - Generate and submit enhanced Lambda metrics (`aws.lambda.enhanced.*`) parsed from the AWS REPORT log: duration, billed_duration, max_memory_used, and estimated_cost\n\n\n## Usage\n\n**Set up all supported AWS / Datadog integrations**\n\n```\nmodule \"datadog\" {\n  source                = \"scribd/datadog/aws\"\n  version               = \"~\u003e3\"\n  aws_account_id        = data.aws_caller_identity.current.account_id\n  datadog_api_key       = var.datadog_api_key\n  env                   = \"prod\"\n  namespace             = \"team_foo\"\n\n  cloudtrail_bucket_id  = aws_s3_bucket.org-cloudtrail-bucket.id\n  cloudtrail_bucket_arn = aws_s3_bucket.org-cloudtrail-bucket.arn\n\n  cloudwatch_log_groups = [\"cloudwatch_log_group_1\", \"cloudwatch_log_group_2\"]\n\n  account_specific_namespace_rules = {\n    elasticache = true\n    network_elb = true\n    lambda      = true\n  }\n}\n```\n\nNote: The full integration setup should only be done within one terraform stack\nper account since some of the resources it creates are global per account.\nCreating this module in multiple terraform stacks will cause conflicts.\n\n\n**Limit to only Cloudwatch log sync**\n\n```\nmodule \"datadog\" {\n  source                         = \"scribd/datadog/aws\"\n  version                        = \"~\u003e3\"\n  datadog_api_key                = var.datadog_api_key\n  create_elb_logs_bucket         = false\n  enable_datadog_aws_integration = false\n  env                            = \"prod\"\n  namespace                      = \"project_foo\"\n\n  cloudwatch_log_groups = [\"cloudwatch_log_group_1\", \"cloudwatch_log_group_2\"]\n}\n```\n\nNote: It is safe to create multiple Cloudwatch only modules across different\nTerraform stacks within a single AWS account since all resouces used for\nCloudwatch log sync are namspaced by module.\n\n**Be certain to use unique  `namespace`/`env` combinations, to avoid conflict with other instances of this module.\n\n## Module Versions\n\n**Version 3.x.x** and greater require terraform version \u003e 0.13.x and AWS provider \u003e 4.0.0.  \n**Version 2.x.x** and greater require terraform version \u003e 0.13.x and AWS provider \u003c 4.0.0.  \n**Version 1.x.x** is the latest version that support terraform version 0.12.x and AWS provider \u003c 4.0.0.  \nWhen using this module, please be sure to [pin to a compatible version](https://www.terraform.io/docs/configuration/modules.html#module-versions).\n\n## Examples\n\n- [Full AWS Datadog integration](https://github.com/scribd/terraform-aws-datadog/tree/master/examples/full_integration)\n- [Cloudwatch log sync only](https://github.com/scribd/terraform-aws-datadog/tree/master/examples/cloudwatch_log_sync)\n\n\n## Development\n\nReleases are cut using [semantic-release](https://github.com/semantic-release/semantic-release).\n\nPlease write commit messages following [Angular commit guidelines](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines)\n\n\n### Release flow\n\nSemantic-release is configured with the [default branch workflow](https://semantic-release.gitbook.io/semantic-release/usage/configuration#branches)\n\nFor this project, releases will be cut from master as features and bugs are developed.\n\nIn commit message summary, use `feat:` to cut new minor version, use `fix:` to cut new patch version. `BREAKING CHANGE:` in body of the commit message for new major version.\n\n\n### Maintainers\n- [Jim](https://github.com/jim80net)\n- [QP](https://github.com/houqp)\n\n## Troubleshooting\n\nIf you should encounter `Datadog is not authorized to perform action sts:AssumeRole Accounts affected: 1234567890, 1234567891 Regions affected: every region Errors began reporting 18m ago, last seen 5m ago`\nThen perhaps the external ID has changed. Execute `./terraform taint module.datadog.datadog_integration_aws.core[0]` in the root module of the account repo to force a refresh.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscribd%2Fterraform-aws-datadog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscribd%2Fterraform-aws-datadog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscribd%2Fterraform-aws-datadog/lists"}