Metadata-Version: 2.1
Name: cdk-elasticache-monitor
Version: 0.0.13
Summary: ElasticacheAutoMonitor allows you to send email, sms, slack, or trigger aws lambda when an alarm occurs.
Home-page: https://github.com/jialechan/cdk-elasticache-monitor.git
Author: Jiale Chan<jiale.chan@gmail.com>
License: Apache-2.0
Project-URL: Source, https://github.com/jialechan/cdk-elasticache-monitor.git
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: JavaScript
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Typing :: Typed
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: jsii (<2.0.0,>=1.9.0)
Requires-Dist: publication (>=0.0.3)
Requires-Dist: aws-cdk.aws-cloudwatch (<2.0.0,>=1.55.0)
Requires-Dist: aws-cdk.aws-cloudwatch-actions (<2.0.0,>=1.55.0)
Requires-Dist: aws-cdk.aws-lambda (<2.0.0,>=1.55.0)
Requires-Dist: aws-cdk.aws-sns (<2.0.0,>=1.55.0)
Requires-Dist: aws-cdk.aws-sns-subscriptions (<2.0.0,>=1.55.0)
Requires-Dist: aws-cdk.core (<2.0.0,>=1.55.0)
Requires-Dist: constructs (<4.0.0,>=3.0.4)

# Welcome to `cdk-elasticache-monitor`

ElasticacheAutoMonitor allows you to send email, sms, slack, or trigger aws lambda when an alarm occurs.
You will get the following monitoring:

* Cpu Monitor: Should be less than 90%. (See below reference)
* SwapUsage Monitor: Should be less than 50M.
* Evictions Monitor: Should not have evictions value.
* CurrConnections Monitor: According to your business needs, default every 1 vcup is equal to 200 connections.
* FreeableMemory Monitor: Not less than 10%

Reference: [Here](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html)

## Usage

```python
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
stack = cdk.Stack()

# or sent with sms
ElasticacheAutoMonitor.set_up_with_sms(stack, "my-elasticache-id",
    phones=["+15533728278"],
    node_type_class=NodeType.R4_16XLARGE
)

# or sent with slack
ElasticacheAutoMonitor.set_up_with_slack(stack, "my-elasticache-id",
    web_hook_url="http://xxx.xxx.xxx",
    node_type_class=NodeType.R4_16XLARGE
)

# or trigger lambda
fn = lambda.Function(stack, "MyFunction",
    runtime=lambda.Runtime.NODEJS_10_X,
    handler="index.handler",
    code=lambda.Code.from_inline("exports.handler = function(event, ctx, cb) { return cb(null, \"hi\"); }")
)
ElasticacheAutoMonitor.set_up_with_lambda(stack, "my-elasticache-id", fn,
    node_type_class=NodeType.R4_16XLARGE
)
```


