This is lambda-papertrail, a Lambda function to forward logs from CloudWatch to Papertrail. It is built with the Serverless Framework, and is a perfect companion to the serverless-log-forwarding
plugin.
Install Node 12.x, Docker, and the AWS CLI. Then clone this repository & install dependencies:
# Install dependencies
npm install
# Run local tests:
npm test
Next, configure serverless-dev
(for dev & QA stages) and serverless-production
IAM roles:
$ aws configure --profile serverless-dev
AWS Access Key ID [None]: **************
AWS Secret Access Key [None]: **************
Default region name [None]: us-east-1
Default output format [None]: text
$ aws configure --profile serverless-production
AWS Access Key ID [None]: **************
AWS Secret Access Key [None]: **************
Default region name [None]: us-east-1
Default output format [None]: text
Finally, run either npm run deploy:dev
, npm run deploy:qa
, or npm run deploy:prod
to deploy!
You can now easily forward logs from any other Serverless application with serverless-log-forwarding
.
plugins:
- serverless-log-forwarding
custom:
logForwarding:
destinationARN: ${cf:lambda-papertrail-${opt:stage}.ForwarderLambdaArn}
You can also manually attach a log group by clicking Actions → Stream to AWS Lambda from the CloudWatch Log Groups dashboard. Then just choose the appropriate destination Lambda function (e.g. lambda-papertrail-prod-forwarder
) and configure a filter (or "Other" to forward all log messages).
© DoSomething.org. lambda-papertrail is free software, and may be redistributed under the terms specified in the LICENSE file. The name and logo for DoSomething.org are trademarks of Do Something, Inc and may not be used without permission.