Skip to content

oslabs-beta/MicrObserv

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

MicrObserv

A real-time & event driven observability tool for microservices!
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

MicrObserv is here to simplify observability for your microservice architecture by consolidating all logs and tracers into one centralized database.

Getting Started

  1. Fork and Clone the repo

  2. Install dependencies

    cd Backend
    npm install
  3. Demo the application (skip to step 3 if you want to implement on your actual microservices)

    1. Install dependencies
      cd ../Demo
      npm run install
    2. Create .env file in the Demo folder
      1. Assign a PostgreSQL URI to "DEMO_URI"
    3. Start servers
      cd ../Backend
      1. Start Backend Server
      npm start
      1. Start demo backend server
      cd ../Demo
      npm run start-services
    4. Launch demo front-end
      npm run start-web-app
      1. This will open the frontend in your Chrome browser to start up the demo microservices, which includes 2 services communicating back and forth
        • includes two input fields
          • Request Time - simulates the speed at which a microservice will take to respond to a request
          • Time Out - refers to how often the a new request will be made
            • this should be greater than Request Time
  4. Microservice Integration

    1. Install npm package in each microservice for tracking data.
    npm i microbserv
    1. Locally start microbserv server
    2. clone Microbserv repo
    3. Inside repo change directories and enter Backend folder
    cd Backend
    1. Install npm dependencies
    npm install
    1. Start server
    npm start
  5. Download and Launch MicrObserv executable based on your OS

    • Windows
    • Mac - M1
    • Launching takes you to the homepage where you can input your system name and a valid PostgreSQL URI for storing logs and tracers.
  6. Click on your newly added system

Logo

(back to top)

Built With

  • React
  • Electron
  • Node.js
  • Express.js
  • Webpack
  • Websocket
  • Typescript
  • Chart.js
  • PostgresSQL
  • Tailwindcss

(back to top)

Roadmap

  • Add README
  • Add GitHub Merge Tracking.
  • Add Login & Registration.
  • Add Multiple Charts to keep track of different metrics.

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

(back to top)

Acknowledgments

(back to top)