Skip to content

Terraform module that configures pre-defined cloudwatch alerts for the provided resources and pushes them to SNS

License

Notifications You must be signed in to change notification settings

skyscrapers/terraform-cloudwatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

terraform-cloudwatch

N.B. Releases >= 2.0.0 been upgraded to use Terraform 0.12.n.

Terraform module to setup cloudwatch alerts and push them to SNS. This repository contains the following modules:

  • api-gateway: Creates general alerts for the api-gateway.
  • dynamodb: Creates the alerts needed for a dynamodb table.
  • kinesis: Creates alerts for a kinesis stream. This is used in the skyscrapers/terraform-kinesis module.
  • lambda_function: Creates the alerts for lambda functions.

API-Gateway

Creates general alerts for the API-Gateway.

N.B. Releases >= 2.0.0 the 5XXError... variables are now fiveXXError... as variables cannot start with a number.

The following resources are created:

  • Cloudwatch alerts for the API-Gateway that was passed as variable

Available variables

Name Description Type Default Required
fiveXXError_error_period The period in seconds over which the specified stat is applied. string "60" no
fiveXXError_evaluation_periods The number of periods over which data is compared to the specified threshold. string "1" no
fiveXXError_threshold The value against which the specified statistic is compared. string "5" no
api_gateway Name of the API Gateway to monitor string n/a yes
integrationlatency_error_period The period in seconds over which the specified stat is applied. string "60" no
integrationlatency_evaluation_periods The number of periods over which data is compared to the specified threshold. string "2" no
integrationlatency_threshold The value against which the specified statistic is compared. string "5000" no
latency_error_period The period in seconds over which the specified stat is applied. string "60" no
latency_evaluation_periods The number of periods over which data is compared to the specified threshold. string "2" no
latency_threshold The value against which the specified statistic is compared. string "5000" no
sns_topic_arn ARN of the SNS topic you want the alerts to be sent to string n/a yes

DynamoDB

Creates the alerts needed for a DynamoDB table.

Available variables

Name Description Type Default Required
dynamodb_table_name Name of the dynamodb table to monitor string n/a yes
dynamodb_throttle_evaluation_periods The period in seconds over which the specified stat is applied. string "1" no
dynamodb_throttle_period The number of periods over which data is compared to the specified threshold. string "60" no
dynamodb_throttle_threshold The value against which the specified statistic is compared. string "0" no
sns_topic_arn ARN of the SNS topic you want the alerts to be sent to string n/a yes

ElasticSearch

Creates the alerts needed for a ElasticSearch domain.

Available variables

Name Description Type Default Required
cpu_utilization_threshold The maximum percentage of CPU utilization string "95" no
elasticsearch_cluster_name Name of the ElasticSearch cluster to monitor string n/a yes
free_storage_space_threshold The minimum amount of available storage space in MegaByte. string "512" no
jvm_memory_pressure_threshold The maximum percentage of the Java heap used for all data nodes in the cluster string "95" no
sns_topic_arn ARN of the SNS topic you want the alerts to be sent to string n/a yes

Kinesis

Creates alerts for a Kinesis stream. This is used in the skyscrapers/terraform-kinesis module.

The following resources are created:

  • Cloudwatch alerts for the kinesis stream that was passed as variable

Available variables

Name Description Type Default Required
kinesis_iterator_age_error_evaluation_periods The number of periods over which data is compared to the specified threshold. string "1" no
kinesis_iterator_age_error_period The period in seconds over which the specified stat is applied. string "300" no
kinesis_iterator_age_error_threshold The value against which the specified statistic is compared. string "1000000" no
kinesis_stream_name Name of the kinesis stream to monitor string n/a yes
kinesis_write_throughput_exceeded_evaluation_periods The number of periods over which data is compared to the specified threshold. string "6" no
kinesis_write_throughput_exceeded_period The period in seconds over which the specified stat is applied. string "300" no
kinesis_write_throughput_exceeded_threshold The value against which the specified statistic is compared. string "10" no
sns_topic_arn ARN of the SNS topic you want the alerts to be sent to string n/a yes

lambda_function

Creates the alerts for Lambda functions.

Available variables

Name Description Type Default Required
lambda_function Name of the lambda function to monitor string n/a yes
lambda_invocation_error_evaluation_periods The number of periods over which data is compared to the specified threshold. string "1" no
lambda_invocation_error_period The period in seconds over which the specified stat is applied. string "60" no
lambda_invocation_error_threshold The value against which the specified statistic is compared. string "5" no
lambda_invocation_error_treat_missing_data Sets how this alarm is to handle missing data points. string "missing" no
lambda_iterator_age_error_evaluation_periods The number of periods over which data is compared to the specified threshold. string "1" no
lambda_iterator_age_error_period The period in seconds over which the specified stat is applied. string "60" no
lambda_iterator_age_error_threshold The value against which the specified statistic is compared. string "1000000" no
lambda_throttle_error_evaluation_periods The number of periods over which data is compared to the specified threshold. string "1" no
lambda_throttle_error_period The period in seconds over which the specified stat is applied. string "60" no
lambda_throttle_error_threshold The value against which the specified statistic is compared. string "0" no
sns_topic_arn ARN of the SNS topic you want the alerts to be sent to string n/a yes