You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+43-16Lines changed: 43 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,9 @@ Features
22
22
23
23
7. Logging and Monitoring: Easily configure logging destinations for slow logs and engine logs, allowing you to monitor the performance and troubleshoot any issues efficiently.
24
24
25
+
8. CloudWatch Alerts: Set up CloudWatch alarms to monitor the health and performance of your Redis cluster. Integrate these alarms with AWS Simple Notification Service (SNS) to receive real-time alerts. Use AWS Lambda functions to customize your alerting logic, and send notifications to Slack channels for immediate visibility into your Redis cluster's status.
| <aname="input_alarm_actions"></a> [alarm\_actions](#input\_alarm\_actions)| Alarm action list |`list(string)`|`[]`| no |
127
+
| <aname="input_alarm_cpu_threshold_percent"></a> [alarm\_cpu\_threshold\_percent](#input\_alarm\_cpu\_threshold\_percent)| CPU threshold alarm level |`number`|`75`| no |
128
+
| <aname="input_alarm_memory_threshold_bytes"></a> [alarm\_memory\_threshold\_bytes](#input\_alarm\_memory\_threshold\_bytes)| Ram threshold alarm level in bytes |`number`|`10000000`| no |
108
129
| <aname="input_allowed_cidr_blocks"></a> [allowed\_cidr\_blocks](#input\_allowed\_cidr\_blocks)| A list of CIDR blocks which are allowed to access the database |`list(any)`|`[]`| no |
109
130
| <aname="input_allowed_security_groups"></a> [allowed\_security\_groups](#input\_allowed\_security\_groups)| A list of Security Group ID's to allow access to |`list(any)`|`[]`| no |
110
131
| <aname="input_at_rest_encryption_enabled"></a> [at\_rest\_encryption\_enabled](#input\_at\_rest\_encryption\_enabled)| (Optional) Whether to enable encryption at rest |`bool`|`true`| no |
111
132
| <aname="input_automatic_failover_enabled"></a> [automatic\_failover\_enabled](#input\_automatic\_failover\_enabled)| Enable automatic failover |`bool`|`true`| no |
112
133
| <aname="input_availability_zones"></a> [availability\_zones](#input\_availability\_zones)| The no. of AZs |`string`|`2`| no |
134
+
| <aname="input_cloudwatch_metric_alarms_enabled"></a> [cloudwatch\_metric\_alarms\_enabled](#input\_cloudwatch\_metric\_alarms\_enabled)| Boolean flag to enable/disable CloudWatch metrics alarms |`bool`|`false`| no |
135
+
| <aname="input_cw_sns_topic_arn"></a> [cw\_sns\_topic\_arn](#input\_cw\_sns\_topic\_arn)| The username to use when sending notifications to Slack. |`string`|`""`| no |
113
136
| <aname="input_engine_log_destination"></a> [engine\_log\_destination](#input\_engine\_log\_destination)| The destination for engine logs(eg. Cloudwatch log-group name or kinesis firehose stream name) |`string`|`null`| no |
114
137
| <aname="input_engine_log_destination_type"></a> [engine\_log\_destination\_type](#input\_engine\_log\_destination\_type)| The type of destination for engine logs(eg . cloudwatch-logs or kinesis-firehose) |`string`|`""`| no |
115
138
| <aname="input_engine_log_format"></a> [engine\_log\_format](#input\_engine\_log\_format)| the format for logs eg. json/text |`string`|`"json"`| no |
@@ -124,9 +147,13 @@ Security scanning is graciously provided by Prowler. Proowler is the leading ful
124
147
| <aname="input_node_type"></a> [node\_type](#input\_node\_type)| The instance size of the redis cluster |`string`|`"cache.t3.micro"`| no |
125
148
| <aname="input_notification_topic_arn"></a> [notification\_topic\_arn](#input\_notification\_topic\_arn)| (Optional) ARN of an SNS topic to send ElastiCache notifications |`string`|`null`| no |
126
149
| <aname="input_num_cache_nodes"></a> [num\_cache\_nodes](#input\_num\_cache\_nodes)| The number of cache nodes |`number`|`1`| no |
150
+
| <aname="input_ok_actions"></a> [ok\_actions](#input\_ok\_actions)| The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Number (ARN) |`list(string)`|`[]`| no |
127
151
| <aname="input_parameter_group_description"></a> [parameter\_group\_description](#input\_parameter\_group\_description)| Parameter group |`string`|`null`| no |
128
152
| <aname="input_port"></a> [port](#input\_port)| The redis port |`number`|`6379`| no |
129
153
| <aname="input_recovery_window_aws_secret"></a> [recovery\_window\_aws\_secret](#input\_recovery\_window\_aws\_secret)| Number of days that AWS Secrets Manager waits before it can delete the secret. This value can be 0 to force deletion without recovery or range from 7 to 30 days. |`number`|`0`| no |
154
+
| <aname="input_slack_channel"></a> [slack\_channel](#input\_slack\_channel)| The Slack channel where notifications will be posted. |`string`|`""`| no |
155
+
| <aname="input_slack_username"></a> [slack\_username](#input\_slack\_username)| The username to use when sending notifications to Slack. |`string`|`""`| no |
156
+
| <aname="input_slack_webhook_url"></a> [slack\_webhook\_url](#input\_slack\_webhook\_url)| The Slack Webhook URL where notifications will be sent. |`string`|`""`| no |
130
157
| <aname="input_slow_log_destination"></a> [slow\_log\_destination](#input\_slow\_log\_destination)| The destination for slow logs(eg. Cloudwatch log-group name or kinesis firehose stream name.) |`string`|`null`| no |
131
158
| <aname="input_slow_log_destination_type"></a> [slow\_log\_destination\_type](#input\_slow\_log\_destination\_type)| The type of destination for slow logs(eg . cloudwatch-logs or kinesis-firehose) |`string`|`""`| no |
132
159
| <aname="input_slow_log_format"></a> [slow\_log\_format](#input\_slow\_log\_format)| the format for logs eg. json/text |`string`|`"json"`| no |
|[aws_iam_policy_document.lambda_cwl_access](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document)| data source |
34
+
|[aws_iam_policy_document.lambda_exec_role_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document)| data source |
35
+
36
+
## Inputs
37
+
38
+
| Name | Description | Type | Default | Required |
| <aname="input_artifact_file"></a> [artifact\_file](#input\_artifact\_file)| The path to the function's deployment package within the local filesystem |`string`|`null`| no |
41
+
| <aname="input_cwl_retention_days"></a> [cwl\_retention\_days](#input\_cwl\_retention\_days)| The retention time in days for the CloudWatch Logs Stream. |`number`|`30`| no |
42
+
| <aname="input_description"></a> [description](#input\_description)| Description of what the Lambda Function does. |`string`|`null`| no |
43
+
| <aname="input_environment"></a> [environment](#input\_environment)| The Lambda environment's configuration settings. |`map(string)`|`{}`| no |
44
+
| <aname="input_handler"></a> [handler](#input\_handler)| The function entrypoint in the code. |`string`|`"index.handler"`| no |
45
+
| <aname="input_memory_size"></a> [memory\_size](#input\_memory\_size)| Amount of memory in MB your Lambda Function can use at runtime. |`number`|`128`| no |
46
+
| <aname="input_name"></a> [name](#input\_name)| A unique name for the Lambda Function. |`string`| n/a | yes |
47
+
| <aname="input_runtime"></a> [runtime](#input\_runtime)| The Runtime used in the Lambda Function. |`string`| n/a | yes |
48
+
| <aname="input_tags"></a> [tags](#input\_tags)| A mapping of tags to assign to the module resources. |`map(string)`|`{}`| no |
49
+
| <aname="input_timeout"></a> [timeout](#input\_timeout)| The amount of time your Lambda Function has to run in seconds. |`number`|`6`| no |
50
+
51
+
## Outputs
52
+
53
+
| Name | Description |
54
+
|------|-------------|
55
+
| <aname="output_arn"></a> [arn](#output\_arn)| The ARN identifying the Lambda Function. |
56
+
| <aname="output_exec_role_id"></a> [exec\_role\_id](#output\_exec\_role\_id)| The ID of the Function's IAM Role. |
57
+
| <aname="output_invoke_arn"></a> [invoke\_arn](#output\_invoke\_arn)| The ARN to be used for invoking Lambda Function from API Gateway. |
58
+
| <aname="output_name"></a> [name](#output\_name)| The name of the Lambda Function. |
0 commit comments