Browse the Repo

file-type-icon.circleci
file-type-icon.github
file-type-icon.patcher
file-type-icon_docs
file-type-iconexamples
file-type-iconmodules
file-type-iconagents
file-type-iconalarms
file-type-iconlogs
file-type-iconmetrics
file-type-icon_deprecated
file-type-iconcloudwatch-custom-metrics-iam-policy
file-type-iconREADME.md
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvariables.tf
file-type-iconcloudwatch-dashboard-metric-widget
file-type-iconcloudwatch-dashboard-text-widget
file-type-iconcloudwatch-dashboard
file-type-iconREADME.md
file-type-icontest
file-type-icon.editorconfig
file-type-icon.gitignore
file-type-icon.pre-commit-config.yaml
file-type-iconCODEOWNERS
file-type-iconLICENSE.txt
file-type-iconREADME.md
file-type-iconsetup.cfg
file-type-iconterraform-cloud-enterprise-private-module-...

Browse the Repo

file-type-icon.circleci
file-type-icon.github
file-type-icon.patcher
file-type-icon_docs
file-type-iconexamples
file-type-iconmodules
file-type-iconagents
file-type-iconalarms
file-type-iconlogs
file-type-iconmetrics
file-type-icon_deprecated
file-type-iconcloudwatch-custom-metrics-iam-policy
file-type-iconREADME.md
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvariables.tf
file-type-iconcloudwatch-dashboard-metric-widget
file-type-iconcloudwatch-dashboard-text-widget
file-type-iconcloudwatch-dashboard
file-type-iconREADME.md
file-type-icontest
file-type-icon.editorconfig
file-type-icon.gitignore
file-type-icon.pre-commit-config.yaml
file-type-iconCODEOWNERS
file-type-iconLICENSE.txt
file-type-iconREADME.md
file-type-iconsetup.cfg
file-type-iconterraform-cloud-enterprise-private-module-...
CloudWatch

CloudWatch

Send all metrics to CloudWatch, including those not visible to the EC2 hypervisor. Create dashboards and alerts as code.

Code Preview

Preview the Code

mobile file icon

README.md

down

CloudWatch Custom Metrics IAM Policy

This module contains Terraform templates that define an IAM policy required for reading and writing CloudWatch metrics. You can attach this IAM policy to any EC2 Instances that need CloudWatch metrics.

Note: CloudWatch provides many metrics for your EC2 Instances by default, but not memory and disk usage metrics. See the cloudwatch-agent module for scripts you can use to configure your EC2 Instances to report memory and disk usage metrics as well.

Example

See the cloudwatch-agent example for an example of how to use this module.

How do you use this module?

The basic idea is to add the module to your Terraform templates and then to use an aws_iam_policy_attachment to attach the IAM policy to the IAM roles of your EC2 Instances.

module "cloudwatch_metrics" {
  source = "git::git@github.com:gruntwork-io/terraform-aws-monitoring.git//modules/metrics/cloudwatch-custom-metrics-iam-policy?ref=v0.0.18"
}

resource "aws_iam_policy_attachment" "attach_cloudwatch_metrics_policy" {
    name = "attach-cloudwatch-metrics-policy"
    roles = ["${aws_iam_role.my_ec2_instance_iam_role.id}"]
    policy_arn = "${module.cloudwatch_metrics.cloudwatch_metrics_policy_arn}"
}

Questions? Ask away.

We're here to talk about our services, answer any questions, give advice, or just to chat.

Ready to hand off the Gruntwork?