/lambda-logger

The last logging tool you'll ever need.

Primary LanguageJavaScriptMIT LicenseMIT

Lambda-logger

Lambda Logger tackles post-lambda-deployment challenges by introducing an intuitive interface for swift log inspection. With JSON format logs and a custom parser for clarity, users gain accessible value. Ensuring security, the application employs AWS IAM credentials for authentication, diminishing reliance on the sluggish AWS CloudWatch console.

Table of Contents

  1. Features
  2. Instructions
  3. Documentation
  4. Open Source Information
  5. Contributors

Features

  • Dynamically Fetch Logs From CloudWatch
  • Custom Log Interpreter
  • Searchable Logs

Instructions

  • Visit https://lambdalogger.dev/, navigate to App, and enter your temporary AWS access credentials.

  • From Lambda-logger, fork to your repo, then in the terminal, git clone 'copied URL'

  • How can you get your "access key" and "secret key" to log in?

    • From your AWS root account, you should have your own IAM user. If you do not have it yet, click here to learn how to create it.

    • After getting your "IAM User" credentials, in your AWS Console, at the search bar, search for IAM and click. Go to the Users tab, then choose the IAM user that you just created. Click Create access key --> choose Local code --> Check the I understand box --> click Next --> In Description tag value, put any name you want --> click Create access key

    • Now you should save your Secret access key somewhere safe (Note: This key is very sensitive, do NOT publish), or click on Download .csv file before clicking Done. If you forget this step, you won't have a chance to view your "Secret key access" again, so you'll have to create a new one.

    • Note: You can only create up to two Access keys at a time per user. If you want to create another one, you must delete an old one.

  • Now that we have our credentials, in your local terminal, run npm install, then npm run dev. Navigate to http://localhost:8080 to view the web application, navigate to the App page, and enter your credentials and region to access your Lambda Logs.

  • Nav Bar Overview (Dropdowns, Search, Theme)

  • Select a Lambda Function Log group and Log Stream to view, then you'll get content that looks like this:

Documentation

  • Full documentation available here

  • How is the AWS SDK Implemented?

    • A software development kit (SDK) is a set of platform-specific building tools for developers. Developers require components like debuggers, compilers, and libraries to create code that runs on a specific platform, operating system, or programming language. SDKs put everything you need to develop and run software in one place. Additionally, they contain resources like documentation, tutorials, and guides as well as APIs and frameworks for faster application development.
    • Lambda Logger uses the AWS SDK for JavaScript v3 API Reference Guide which provides a JavaScript API for AWS services. This project uses the AWS-SDK to fetch data from CloudWatch.
    • For more info, click here.
  • React Syntax Highlighter

    • Syntax highlighting component for `React`` using the seriously super amazing lowlight and refractor by wooorm.
    • Click here for more information.

Open Source Information

Testing

  • Before running tests, if the server is currently running (after running npm run dev), exit the server (keyboard command "Control + C" or "Command + C).
  • Note: To ensure the server shuts down, double check by running lsof -i:3000 in the terminal. If the server is still running, you'll see its "PID" in the terminal, and you'll have to kill it (kill -9 <PID>) before testing.
    • Run npm run test to test the whole app.
    • Run npm run test <filename.js> to test only that specific file.

Roadmap

Feature Status
Dynamically Fetch Logs From CloudWatch
Back-end Testing
Dark/Light Mode
Increase Testing Coverage
Make Stream Content Linkable/Shareable ⚡️
Add More Themes! ⚡️
Improve Search Functionality ⚡️
  • ✅ = Completed
  • ⏳ = In-Progress
  • ⚡️ = Backlog

Contributing

  • Potential Iteration Ideas
    • Anything from the backlog
    • Add additional front-end tests
    • Add additional back-end tests
    • Migrate to AWS SDK 3
    • Implemnet Apache Solr for better search
    • Implement Grafana to make expanded dashboards
    • Improve or expand the capabilities of the JSON parser (see documentation)

Contributors


Conrad Preston
🖇️ 🐙

Hoang Dang
🖇️ 🐙

Luke Clarkson
🖇️ 🐙

Nick C. Mason
🖇️ 🐙
  • 🖇️ = LinkedIn
  • 🐙 = Github