Container monitoring tool Prometheus now runs more efficiently in low-resource environments
The developers of the popular Prometheus monitoring tool announced a new operating mode for the software today that’s designed to run more efficiently in low-resource environments such as edge networks and “internet of things” deployments.
Prometheus is a popular open-source tool that’s used to monitor software containers managed with Kubernetes. Developers use containers to host the components of modern, cloud-native applications that can run on any infrastructure. Kubernetes is another open-source tool that’s used to manage large clusters of containers.
Containers bring a lot of advantages, but they cause headaches too because they generate substantially larger volumes of operational metrics than traditional apps do. Added to that, containers usually share infrastructure resources with hundreds or even thousands of other containers, making it difficult to keep track of what they’re doing using standard monitoring tools. So developers can struggle to get insights on the performance of their container-hosted apps.
Enter Prometheus, which is optimized to gather operational metrics from containers and provide alerts if any issues arise. Crucially, Prometheus integrates directly with Kubernetes, meaning it can be used to track the performance of thousands of individual containers at once. Other advantages include no extensive set up required, fast outage discovery and a functional query language called PromQL that makes it easy to select and aggregate time-series data in real time.
Prometheus has become the poster child for container monitoring, but in a blog post its developers acknowledged that the tool doesn’t always work so well in every situation. The majority of Prometheus deployments are used to monitor containers hosted in public clouds or on-premises data centers, where ample compute power is available. But increasingly, developers are using Prometheus to monitor container deployments in other types of environments, for example at edge locations, where resources can be more limited.
“The default mode of data forwarding in Prometheus is federation,” the developers wrote in a blog post. “While this is reliable, it does not match all users’ operational needs.”
To cater for those users, the developers have created an entirely new “operating mode” called Prometheus Agent, which uses significantly fewer resources by forwarding data to centralized remote endpoints. Built into Prometheus itself, the new operating mode behaves just as a normal Prometheus server does, with the only difference being that data is not available to query locally. Instead, it must be forwarded to a regular Prometheus server hosted elsewhere, or another compliant remote write endpoint, the developers said.
Previously, some users had taken the initiative and done much the same thing, using regular Prometheus servers.
“Our users have been successfully using Prometheus in decentralized scenarios that report all or some of their metrics to remote write endpoints,” the developers explained. “This works reliably and at scale, but at a cost: Full Prometheus servers still have many capabilities not required for forwarding, in particular full local storage.”
The Prometheus Agent solves that problem, making it possible to run the software in resource-constrained environments with minimal overheads, meaning there’s no additional drain on those limited resources.
“Our agent removes the data immediately after successful writes,” said Bartek Plotka, a principal software engineer at Red Hat Inc. “This enables Prometheus Agent to use only a fraction of resources Prometheus would normally use in a similar situation. It is also a drop-in replacement for Prometheus server mode, as the behavior, interfaces and configuration are the same.”
Constellation Research Inc. analyst Holger Mueller told SiliconANGLE it has always been difficult to run applications in edge locations because of power, performance and network constraints.
“It means that applications at the edge need to be lean to be successful,” Mueller said. “Prometheus is trying to change this with Prometheus Agent, which only activates the software when it’s being used and therefore goes easier on edge resources.”
The Prometheus Agent is available to use in beta starting today.
A message from John Furrier, co-founder of SiliconANGLE:
Show your support for our mission by joining our Cube Club and Cube Event Community of experts. Join the community that includes Amazon Web Services and Amazon.com CEO Andy Jassy, Dell Technologies founder and CEO Michael Dell, Intel CEO Pat Gelsinger and many more luminaries and experts.
We really want to hear from you, and we’re looking forward to seeing you at the event and in theCUBE Club.