Skip to content

🎨 Kubernetes Usage Analytics and Accounting for Cost Allocation and Capacity Planning - Hourly Trends, Daily and Monthly Accounting - Prometheus Exporter - Built-in & Grafana Dashboards.

License

Notifications You must be signed in to change notification settings

2-alchemists/kube-opex-analytics

 
 

Repository files navigation

logo-thumbnail

Apache License GitHub Actions Status Calendar Versioning Docker pulls


Overview

kube-opex-analytics (literally Kubernetes Opex Analytics) is a Kubernetes usage accounting and analytics tool to help organizations track the resources being consumed by their Kubernetes clusters over time (hourly, daily, monthly). The purpose of kube-opex-analytics is to help prevent overpaying. Indeed, it provides insightful usage analytics metrics and charts, that engineering and financial teams can use as key indicators to take appropriate cost optimization decisions.

Key features:

  • Usage accounting and trends per namespace. This allows assessing what capacities each namespace is consuming over various period of time (hourly, daily, monthly).
  • Accounting of non-allocatable capacities. At node and cluster levels, kube-opex-analytics tracks and consolidates the share of non-allocatable capacities and highlights them against usable capacities (i.e. capacities used by actual application workloads). In contrary to usable capacities, non-allocatable capacities are dedicated to Kubernetes operations (OS, kubelets, etc).
  • Cluster usage accounting and capacity planning. This feature makes it easy to account and visualize capacities consumed on a cluster, globally, instantly and over time.
  • Usage/requests efficiency. Based on hourly-consolidated trends, this functionality helps know how efficient resource requests set on Kubernetes workloads are, compared against the actual resource usage over time.
  • Cost allocation and charge back analytics: automatic processing and visualization of resource usage accounting per namespace on daily and monthly periods.
  • Insightful and extensible visualization. kube-opex-analytics enables built-in analytics dashboards, as well as a native Prometheus exporter that exposes its analytics metrics for third-party visualization tools like Grafana.

kube-opex-analytics-overview

Read the design fundamentals documentation to learn more concepts and implementation decisions.

Getting Started

Design Fundamentals

Checkout the Design Fundamentals documentation to learn more about kube-opex-analytics, it introduces concepts and implementation decisions.

Multi-cluster analytics: kube-opex-analytics tracks the usage for a single instance of Kubernetes. For a centralized multi-Kubernetes usage analytics, you may have to consider our Krossboard product. Watch a demo video.

License

kube-opex-analytics (code and documentation) is licensed under the terms of Apache License 2.0; read the LICENSE. Besides, it's bound to third-party libraries each with its specific license terms; read the NOTICE for additional information.

Support & Contributions

We encourage feedback and always make our best to handle any troubles you may encounter when using kube-opex-analytics.

Use this link to submit issues or improvement ideas.

To contribute bug patches or new features, please submit a Pull Request.

Contributions are accepted subject that the code and documentation be released under the terms of Apache 2.0 License.

About

🎨 Kubernetes Usage Analytics and Accounting for Cost Allocation and Capacity Planning - Hourly Trends, Daily and Monthly Accounting - Prometheus Exporter - Built-in & Grafana Dashboards.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 40.7%
  • JavaScript 30.7%
  • HTML 12.9%
  • CSS 9.1%
  • Shell 3.8%
  • Mustache 2.0%
  • Dockerfile 0.8%