Skip to content

oslabs-beta/Fathom

Repository files navigation

Fathom for Kubernetes

Fathom is an open-source application that provides comprehensive monitoring and analysis of Kubernetes metrics. With Fathom, you can easily monitor the performance and health of your Kubernetes clusters, compare metric snapshots, and gain insights across multiple clusters.

For more information visit our website


TypeScript Javascript NextJS NextAuth tRPC Prisma React Kubernetes Grafana Prometheus Docker


Features

  1. Real-time Cluster Monitoring: Get immediate insights into your Kubernetes clusters with real-time monitoring and visually appealing Grafana charts.
  2. OAuth for Secure User Authentication: Safeguard user data and access to Fathom through OAuth integration for authentication.
  3. Tabbed Navigation between Clusters: Seamlessly switch between multiple clusters within Fathom's interface for efficient management and monitoring.
  4. Dashboard Snapshots for Easy Comparison: Capture and save dashboard snapshots to analyze and compare metric trends over time.
  5. Flexible Data Storage Options: Choose between local or cloud-hosted databases to store and retrieve dashboard snapshots based on your needs.
  6. Dual Dashboard Display: Compare and contrast snapshots side by side with Fathom's dual dashboard display, enabling comprehensive analysis of multiple clusters.

Getting Started

Before you begin, set up your kubernetes cluster with Prometheus, Grafana as external services, and allow embedding - Example Initializing on Google Kubernetes Engine

Make sure to take note of the Grafana external IP!

Locally

  1. Fork and clone this repo
  2. Install dependencies pnpm install (optionally, use npm as your package manager instead for the remainder of the instructions)
  3. Start up the application pnpm run dev and visit the localhost address in a web browser
  4. Add the Grafana IP of the cluster you want to monitor

Through Docker-hub

  1. Install/run Docker desktop
  2. Pull the docker image docker pull fathomforkubernetes/fathom-beta
  3. Run the image passing in your oAuth Client_ID and Secret and exposing port 3000 docker run <br> -e GITHUB_CLIENT_ID=<your_github_client_id> \ -e GOOGLE_CLIENT_ID=<your_google_client_id> \ -e GITHUB_CLIENT_SECRET=<your_github_client_secret> \ -e GOOGLE_CLIENT_SECRET=<your_google_client_secret> \ -p 3000:3000 fathomforkubernetes/fathom-beta:0.1
  4. visit the localhost address in a web browser
  5. Add the Grafana IP of the cluster you want to monitor

Through our website

  1. Visit our application website
  2. Allow insecure content from Site settings
  3. Add the Grafana IP of the cluster you want to monitor

Contributing

We appreciate your interest in contributing to Fathom-for-Kubernetes! Whether you want to report a bug, propose new features, or submit improvements to the project, we welcome your contributions.

To contribute to Fathom, please follow these guidelines:

  • Fork the repository and create your own branch for the feature/bug fix you intend to work on.

  • Ensure that your code adheres to the project's coding conventions and style guidelines.

  • Write clear, concise, and well-documented code. Include necessary comments to help others understand your contributions.

  • Test your changes thoroughly to ensure they do not introduce any new issues and that existing functionality remains intact.

  • Commit your changes and provide a descriptive and meaningful commit message.

  • Push your changes to your forked repository.

  • Submit a pull request to the main repository, clearly outlining the purpose and details of your contribution. Include any relevant information that helps reviewers understand the context and purpose of your changes.

  • Be responsive to feedback and actively participate in discussions related to your pull request.

By contributing to Project Name, you agree that your contributions will be licensed under the MIT LICENSE.

Thank you for your valuable contributions to Fathom! We greatly appreciate your help in making this project even better.


Fathom Team

Developed By Github LinkedIn
Melissa Armstrong Github LinkedIn
Sun Jin Kim Github LinkedIn
Faisal Rahman Github LinkedIn
Wayland Singh Github LinkedIn

About

kubernetes analytics visualization

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •