AWS Serverless Function Monitoring Tool

About Shepherd

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.

Getting Started

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

  1. Download the Shepherd application here.
  2. Existing login using your email and password.
  3. For new users, click “Signup” to create a new user account.
  4. Assign a Cloud Formation Stack.
  5. Copy and paste the unique AWS ARN outputted from the prior step.
  6. Login with the registered credentials.
  7. Done!



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.

Lambda Metrics

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.

User Profile

Users can update the profile and their ARN key, as well as their registered emails and passwords.

Developers

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.

Built With

The Shepherd application was built using the following frameworks / libraries:

Project Setup

Required software for setting up this application:

  1. Clone the repo.

    git clone https://github.com/oslabs-beta/shepherd.git
    cd shepherd
  2. Install the package dependencies.

    npm install
  3. Update the .env file in the project root directory with the necessary credentials.

    AWS_ACCESS_KEY_ID= 
    AWS_SECRET_ACCESS_KEY=
    MONGODB_URI=
  4. 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
  5. 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

Contributors

Project Links: Website | Github | Linkedin | Press

License

Distributed under the MIT License.