Prometheus is an open-source systems monitoring and alerting application originally created by SoundCloud, an online audio distribution platform and music sharing website. Prometheus collects and stores real-time metrics in a time series database. Time series collection is enabled by using a HTTP pull model.
Thanks to our flexible input APIs, Clarify can be easily connected to Prometheus, providing a cost-efficient and simple way of getting value from the time series data collected by this solution.
Clarify makes it easy to visualize time series data from your IoT network, access it on web and mobile devices, as well as sharing data to other people. With Clarify, your organization can focus on key business goals instead of configuring dashboards or developing expensive custom solutions.
Founded in 2007 by Alexander Ljung and Eric Wahlforss, SoundCloud is a music sharing platform. The service allows users to upload and share audio files, as well as to promote their own music and listen to it in a streaming mode.
Based in Berlin, Germany, SoundCloud claims to have more than 175 mln users worldwide in total, and almost 80 mln active monthly users. The total number of music creators on the platform is over 30 mln; they uploaded on SoundCloud more than 265 million tracks.
In 2019, SoundCloud acquired artist distribution platform Repost Network.
SoundCloud has no limits on amounts of audio content users are allowed to listen to. Although registered users without paid subscriptions can only upload up to 180 minutes of audio to their profile at no cost.
SoundCloud platform has a number of unique features such as the ability to access uploaded files via unique URLs. This allows users to embed sound files in Twitter and Facebook posts. The platform also depicts audio tracks in visual form as waveforms and allows users to post comments, attached to specific parts of any track.
SoundCloud started developing Prometheus in 2012 as an open source project, upon realizing that existing monitoring tools and metrics are not fully applicable to their needs. SoundCloud required a systems monitoring solution that would support scalable data collection and multi-dimensional data models, while being easy to operate and having a powerful query language. As the project was developed as open source, the solution soon gained popularity among Boxever and Docker users.
Prometheus was released as a production monitoring tool for SoundCloud in 2013. In 2016, the Prometheus application was publicly launched.
In 2016, SoundCloud passed Prometheus to Cloud Native Computing Foundation, a Linux Foundation project that was founded in 2015 to help advance container technology. For Cloud Native Computing Foundation, Prometheus became the second project in their management portfolio, wth Kubernetes as the first one. According to the Foundation, SoundCloud decided to pass Prometheus to an open source organization as it already was used by many companies, including Google, Red Hat, Ericsson, CoreOS, Weaveworks, and many others.
In 2017, Prometheus 2.0 was released by Cloud Native Computing Foundation. In 2018, the Foundation announced that Prometheus had graduated into an independent open source project, having early 20 active maintainers, more than 1,000 contributors and more than 13,000 commits from its growing user base, including companies such as Uber, DigitalOcean, Weaveworks, ShowMax, ShuttleCloud, Datawire, and others.
To officially graduate from incubating status at Cloud Native Computing Foundation, the Prometheus project adopted the CNCF Code of Conduct, executed an independent security audit and defined its own governance structure. Additionally, Prometheus also had to earn a Core Infrastructure Initiative (CII) Best Practices Badge, which shows an ongoing commitment to code quality and security best practices.
Prometheus works well for recording any purely numeric time series data, which makes it suitable for machine-centric monitoring as well as monitoring of highly dynamic service-oriented architectures. Its support for multi-dimensional data collection and querying also makes it relevant to the use in microservices.
Prometheus was designed for reliability. This is why each Prometheus server is standalone, not depending on network storage or other remote services.
Prometheus stores time series in memory and on local disk in an efficient custom format. Scaling is achieved by functional sharding and federation. Prometheus's local storage is limited to a single node's scalability and durability. Instead of trying to solve clustered storage in Prometheus itself, Prometheus offers a set of interfaces that allow integrating with remote storage systems.
Prometheus provides a functional query language called PromQL (Prometheus Query Language) that lets the user select and aggregate time series data in real time. The results of their operations with data can be visualized as graphs or viewed as tabular data in Prometheus's expression browser. It can also be exported to external systems via the HTTP API.