Cloud cost monitoring is moving beyond just preventing runaway cost explosions – it’s about empowering JupyterHub administrators with the guardrails they need to run efficient, transparent, and sustainable infrastructures. A cloud cost bill can show a broad view of services and machines provisioned, but how can we provide granular insights into each user and the value they are deriving from the hub on an application level?
This tool provides a per-user cost reporting system for JupyterHubs running on AWS, enabling hub administrators to monitor and report the costs associated with each user. This approach delivers cloud observability and cost transparency that can be reliably deployed using Kubernetes and integrated with Zero to JupyterHub distributions.
- Metric Collection – Prometheus collects resource usage metrics (including CPU, memory, and storage) from individual user pods via standard and custom exporters.
- Cost Estimation – Usage is correlated with AWS cost data to estimate per-user costs.
- Visualization – Grafana dashboards display rich, interactive views of usage and cost data, making it easy to monitor trends, identify high-cost workloads, and generate reports for funders and decision-makers.
This project is designed to be compatible with Zero to JupyterHub distributions, making it easy to deploy in the cloud with Kubernetes.
Add this project as a subchart of the z2jh Chart.yaml
file with
dependencies:
- name: jupyterhub-cost-monitoring
version: "<version-number>"
repository: "https://2i2c.org/jupyterhub-cost-monitoring/"
condition: jupyterhub-cost-monitoring.enabled
In the values file, enable the cost monitoring chart for your Kubernetes cluster:
jupyterhub-cost-monitoring:
enabled: true
extraEnv:
- name: CLUSTER_NAME
value: "<name-of-cluster>"
Contributions to the jupyterhub-cost-monitoring
project are welcome! Please follow the standard GitHub workflow:
- Fork the repository.
- Create a feature branch.
- Submit a pull request.
Please refer to CONTRIBUTING.md
for more details.
This project is licensed under the BSD 3-Clause License.