AWS Serverless Function Monitoring Tool
Serverless Applications are becoming increasingly popular as they relieve organizations and programmers from worrying about provisioning and maintaining the servers to just focusing on developing and deploying the code. It is also cost-effiecient in many scenarios as servers are running only when an event (for e.g. an API request) is triggered.
AWS is a leading provider in the serverless applications space with AWS Lambda functions being its central component of the architecture. However, with AWS’ numerous services and extensive docs, it becomes challenging to navigate and can be intimidating to monitor and track the health of serverless applications.
Shepherd is a free, open-source monitoring tool that users can connect to their AWS account and easily track key metrics and logs. Here is a medium article describing the philosophy behind Shepherd. The application can be downloaded here.
The following instructions are split into two sections for:
AWS End Users
This section describes the instructions for AWS end users who would like to download the application and connect their AWS account. For developers who would like to contribute to the open-source project, follow these instructions.
Installation and Setup
- Download the Shepherd application here.
- Existing login using your email and password.
- For new users, click “Signup” to create a new user account.
- Assign a Cloud Formation Stack.
- Copy and paste the unique AWS ARN outputted from the prior step.
- Login with the registered credentials.
The Shepherd application is preconfigured to track the main components of AWS serverless applications. Once the user is logged in these components can be visualized through the side navigation menu.
Displays the aggregated metrics for their Lambda functions including: Throttles, Invocations, and Errors. The metric totals by Lambda function are also shown in tabular format. Users have an option to further visualize metrics for specific functions. Users can adjust the time period shown.
Users can update the profile and their ARN key, as well as their registered emails and passwords.
This section describes the instructions for developers who would like to download and contribute to the open-source Shepherd project. For AWS end users who would like to download the application and connect their AWS account, follow these instructions instead.
The Shepherd application was built using the following frameworks / libraries:
Required software for setting up this application:
Clone the repo.
git clone https://github.com/oslabs-beta/shepherd.git cd shepherd
Install the package dependencies.
.envfile in the project root directory with the necessary credentials.
AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= MONGODB_URI=
The application can be run in development mode by running the following command and going to http://localhost:8080/ on your browser.
npm run dev
Additionally, you can build and run the application (in Electron) with the following commands. This should start up the electron application.
npm run build npm run app
- Andrew Nguyen – Github | Linkedin
- Michael Hoang –Github | Linkedin
- Connor Gillis – Github | Linkedin
- Baron Bugarcic – Github | Linkedin
Distributed under the MIT License.