Platon
The Platon project aims at making Prometheus data more accessible and usable for all. By simplifying data modeling, analysis, and visualization, Platon empowers users to extract insights easily. With Platon, Prometheus data becomes a resource for everyone, driving informed decision-making and positive change. Join us in this transformative journey towards data accessibility and empowerment with Platon.
Cloud-native Monitoring
In the cloud-native environment, Prometheus has become the de-facto standard for collecting and querying data about applications. The most typical use case is applications running on Kubernetes clusters.
A standard deployment of OpenShift, one of the most prominent Kubernetes distributions comes with Prometheus and exposes more than 2000 metrics by default.
In addition to the built-in metrics, exposing custom metrics from your application to be collected from the on-cluster Prometheus deployment is quite simple to achieve.
We have all the tools and the workflows to collect all the data we need, but how can we make use of all that data?
Today, the most common approach is building dashboards using Grafana by crafting PromQL queries that make up the graphs of the dashboard. For simple metrics this is easy to achieve for someone familiar with PromQL.
However, one can quickly reach the point where the search for the right metrics, the right form of combining them with PromQL and making them visible in a understandable chart can consume a day or more of engineering time.
Understanding the load of data, and bringing it into a consumable format is not an easy task. Fast-forward a few weeks and you will have a hard time even understanding the query that past-you had crafted and added to the dashboard. Don’t dare to think of changing it.
Infrastructure Intelligence
If that sounds like you, we have some good news: You’re not alone. With Platon, we’re trying to make all that data accessible and useful for everyone, not just engineers.
Platon does so, by borrowing concepts from the Business Intelligence world, where all kinds of nice graphs and dashboards can be created for decades. The prerequisite for leveraging the advanced analytics tools out there is transforming the time series data collected by Prometheus into a consumable format, which is often referred to as a Data Warehouse.
A Data Warehouse is typically based on a SQL database which allows a structured analysis of the data at hand. Each entry has a number of values in each of the dimensions specifying the details about a given metric.
Relating multiple metrics to a shared set of dimensions gives a Data Cube.
Business Analytics workflows come with a step called data modeling, where the data to be analyzed is transformed into this structured format that can then be used to craft dashboards.
This step is missing in today’s cloud-native world, where engineers query the raw metrics using PromQL, trying to understand and combine the necessary metrics along the way.
Platon aims at providing the modeling tools, that allows engineers to transform the raw metrics into a structured, Data-Warehouse-like format that can be used for dashboarding and data analytics.
By using a well-supported technology stack, you can plug in an analytics tool of your choice.
The Mk3 Stack
Platon Mk3 is the third attempt to building the tool that automates the data transformation from the raw time series to a multi-dimensional model.
As it turned out, this is not as easy to achieve as initially thought.
In this third (and so far most promising) approach, the Cube definition comes in as a YAML file that is parsed by Platon. Platon then queries the source Prometheus deployment for all the metrics defined in the Cube YAML and combines them into a single table which is stored in a ClickHouse database. ClickHouse is a column-oriented database – a common implementation for a database used for data analytics (OLAP). While you can use any data analytics platform that supports ClickHouse, we build and test Platon using Superset, an open source analytics tool that we think is a good default choice.