| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
This sample application triggers a Lambda function when CloudWatch Logs detects the word ERROR in a log stream. The function downloads the full log stream and the X-Ray trace for the request that caused the error. It stores both in an Amazon S3 bucket.
This project contains the following resources:
Use the following instructions to deploy the sample application. For more information on the application's architecture and implementation, see Error Processor Sample Application for AWS Lambda in the developer guide.
Download or clone this repository.
$ git clone git@github.com:awsdocs/aws-lambda-developer-guide.git $ cd aws-lambda-developer-guide/sample-apps/error-processor
Run create-bucket.sh to create a new bucket for deployment artifacts. Or, if you already have a bucket, replace MY_BUCKET in deploy.sh with the name of an existing bucket.
error-processor$ ./create-bucket.sh make_bucket: lambda-artifacts-a5e491dbb5b22e0d
Run install.sh to install the dependencies for each function, including the X-Ray SDK.
error-processor$ ./install.sh added 16 packages from 18 contributors and audited 18 packages in 0.926s found 0 vulnerabilities added 17 packages from 19 contributors and audited 19 packages in 0.916s found 0 vulnerabilities
Run deploy.sh to deploy the application.
error-processor$ ./deploy.sh Uploading to e678bc216e6a0d510d661ca9ae2fd941 2737254 / 2737254.0 (100.00%) Successfully packaged artifacts and wrote output template to file out.yml. Waiting for changeset to be created.. Waiting for stack create/update to complete Successfully created/updated stack - error-processor
This script uses AWS CloudFormation to deploy the Lambda functions, an IAM role, and a CloudWatch Logs subscription that triggers the processor function. If the AWS CloudFormation stack that contains the resources already exists, the script updates it with any changes to the template or function code.
To generate logs and errors, invoke the random error function.
error-processor$ ./invoke.sh
{
"StatusCode": 200,
"ExecutedVersion": "$LATEST"
}
{
"StatusCode": 200,
"FunctionError": "Handled",
"ExecutedVersion": "$LATEST"
}
{
"StatusCode": 200,
"ExecutedVersion": "$LATEST"
}
The functions in this application are instrumented with AWS X-Ray. Open the X-Ray console to view the service map. The following service map shows the random error function generating errors for some requests. It also shows the processor function calling X-Ray, CloudWatch Logs, and Amazon S3.
Choose a node in the main function graph. Then choose View traces to see a list of traces. Choose any trace to view a timeline that breaks down the work done by the function.
Finally, view the logs and traces that the function stores in Amazon S3.
To view the output
To delete the application, run the cleanup script.
error-processor$ ./cleanup.sh
| Back | FazBrowse Home | New Git URL |