Serverless CloudWatch Dashboards Plugin
Serverless plugin to generate AWS CloudWatch dashboard for deployed lambdas
Requirements:
- Serverless v1.12.x or higher
- AWS provider
Setup
Installation
Install via npm in the root of your Serverless service:
npm install serverless-plugin-cloudwatch-dashboard
Add the plugin to the plugins
array of your Serverless service in serverless.yml
:
plugins: - serverless-plugin-cloudwatch-dashboard
Configuration
The plugin can be configured by adding a property called dashboard
to the custom properties of the Serverless
service. Following dashboards are currently supported:
Lambda Dashboards
The configuration can specify the lambda metrics
together with the stats
of the metrics to
be added. The plugin will then generate one dashboard for each metric, with each dashboard containing the
specified statistics for each lambda function.
Lambda dashboards can be globally activated/deactivated for all functions by adding an enabled
flag to the configuration.
This is the minimum required configuration:
dashboard: lambda: enabled: true
The default configuration looks like this:
dashboard: lambda: metrics: [ Duration, Errors, Invocations, Throttles ] stats: [p99, p95, p90, p50] enabled: true
To gain maximum control over which functions to be included, you can disable lambda dashboards globally,
dashboard: lambda: enabled: false
and enable it only for specific functions, by setting the dashboard
flag for those functions to true
:
functions: myFunction: handler: some_handler dashboard: true
DynamoDB Dashboards
The configuration can specify the metrics
for DynamoDB Tables and GlobalSecondaryIndexes to be added. The plugin will
then generate a new dashboard containing one widget for each metric.
DynamoDB dashboards can be globally activated/deactivated for all tables by adding an enabled
flag to the
configuration.
This is the minimum required configuration:
dashboard: dynamoDB: enabled: true
The default configuration looks like this:
dashboard: dynamoDB: enabled: true metrics: - ProvisionedReadCapacityUnits - ConsumedReadCapacityUnits - ProvisionedWriteCapacityUnits - ConsumedWriteCapacityUnits
Contribute
Any contribution is more than welcome.
- Clone the code
- Install the dependencies with
npm install
- Create a feature branch
git checkout -b new_feature
- Lint with standard
npm run lint
- Create a pull request
License
This software is released under the MIT license. See the license file for more details.