Need advice about which tool to choose?Ask the StackShare community!
Ganglia vs Prometheus: What are the differences?
Introduction
Ganglia and Prometheus are two popular monitoring systems used in the field of software and infrastructure monitoring. While both systems serve the purpose of collecting and analyzing data for monitoring and alerting, there are some key differences between them that set them apart from each other.
Data Model: One of the major differences between Ganglia and Prometheus lies in their data models. Ganglia is a hierarchical monitoring system that relies on a central data aggregator and metric collectors distributed across the monitored infrastructure. It follows a push model, where metrics are pushed by the collectors to the aggregator for processing. On the other hand, Prometheus adopts a different approach with a pull-based model. It directly scrapes metrics from the targets being monitored, eliminating the need for a central aggregator and allowing more flexibility in terms of dynamic discovery and scalability.
Query Language: Ganglia and Prometheus also differ in terms of their query languages. Ganglia utilizes the Generalized Ganglia Language (Ganglia Web Expression Language), which provides a limited set of functions and operators for querying and manipulating metric data. Prometheus, on the other hand, employs Prometheus Query Language (PromQL), which is a powerful and expressive language for querying and aggregating time-series data. PromQL allows complex queries, aggregations, and functions, offering more advanced capabilities for monitoring and analysis.
Alerting: Another significant difference between Ganglia and Prometheus is their alerting systems. Ganglia relies on external plugins or external systems for alerting purposes. It does not have native support for alert management and requires integration with external tools, making the setup more complex. In contrast, Prometheus provides a built-in alerting and notification system. It allows users to define alerting rules based on query conditions and send alerts through various channels like email, Slack, or PagerDuty. The native alerting capabilities make it more convenient to set up and manage alert notifications.
Metrics Collection: Ganglia and Prometheus differ in how they collect and handle metrics data. Ganglia uses a "polling" model, where the metric collectors periodically poll the targets for metrics and send them to the aggregator. This approach introduces some latency and is not ideal for real-time monitoring. On the other hand, Prometheus uses a "scraping" model, where it periodically scrapes the metric endpoints at the targets, collecting fresh data without extra delay. This scraping mechanism enables real-time monitoring and up-to-date metric information, making Prometheus more suitable for time-sensitive use cases.
Service Discovery: Service discovery is another area where Ganglia and Prometheus show differences. Ganglia relies heavily on manual configuration and management of monitored hosts and services. To add or remove hosts, manual updates or scripts are required. Prometheus, on the other hand, supports dynamic service discovery using various mechanisms like DNS-based service discovery, Kubernetes service discovery, or configuration management systems like Consul or etcd. This automatic discovery simplifies the setup and maintenance of the monitoring system, providing better scalability and adaptability.
Ecosystem and Integrations: Ganglia and Prometheus have different ecosystems and integrations available. Ganglia has been around for a longer time and has a wide range of integrations with different technologies and tools. It has built-in support for various collectors, including system-level metrics, network metrics, and application-specific metrics. Prometheus, while relatively newer, has gained popularity and has a growing ecosystem of exporters and integrations. It has exporters for common technologies like Kubernetes, Docker, or AWS services, making it easy to collect metrics from different systems and leverage the broader Prometheus ecosystem.
In summary, Ganglia and Prometheus differ in their data models, query languages, alerting systems, metrics collection mechanisms, service discovery approaches, and ecosystems. While Ganglia is hierarchical and push-based, Prometheus is pull-based with a powerful query language, built-in alerting, real-time scraping, dynamic service discovery, and a growing ecosystem.
Looking for a tool which can be used for mainly dashboard purposes, but here are the main requirements:
- Must be able to get custom data from AS400,
- Able to display automation test results,
- System monitoring / Nginx API,
- Able to get data from 3rd parties DB.
Grafana is almost solving all the problems, except AS400 and no database to get automation test results.
You can look out for Prometheus Instrumentation (https://prometheus.io/docs/practices/instrumentation/) Client Library available in various languages https://prometheus.io/docs/instrumenting/clientlibs/ to create the custom metric you need for AS4000 and then Grafana can query the newly instrumented metric to show on the dashboard.
Hi, We have a situation, where we are using Prometheus to get system metrics from PCF (Pivotal Cloud Foundry) platform. We send that as time-series data to Cortex via a Prometheus server and built a dashboard using Grafana. There is another pipeline where we need to read metrics from a Linux server using Metricbeat, CPU, memory, and Disk. That will be sent to Elasticsearch and Grafana will pull and show the data in a dashboard.
Is it OK to use Metricbeat for Linux server or can we use Prometheus?
What is the difference in system metrics sent by Metricbeat and Prometheus node exporters?
Regards, Sunil.
If you're already using Prometheus for your system metrics, then it seems like standing up Elasticsearch just for Linux host monitoring is excessive. The node_exporter is probably sufficient if you'e looking for standard system metrics.
Another thing to consider is that Metricbeat / ELK use a push model for metrics delivery, whereas Prometheus pulls metrics from each node it is monitoring. Depending on how you manage your network security, opting for one solution over two may make things simpler.
Hi Sunil! Unfortunately, I don´t have much experience with Metricbeat so I can´t advise on the diffs with Prometheus...for Linux server, I encourage you to use Prometheus node exporter and for PCF, I would recommend using the instana tile (https://www.instana.com/supported-technologies/pivotal-cloud-foundry/). Let me know if you have further questions! Regards Jose
We're looking for a Monitoring and Logging tool. It has to support AWS (mostly 100% serverless, Lambdas, SNS, SQS, API GW, CloudFront, Autora, etc.), as well as Azure and GCP (for now mostly used as pure IaaS, with a lot of cognitive services, and mostly managed DB). Hopefully, something not as expensive as Datadog or New relic, as our SRE team could support the tool inhouse. At the moment, we primarily use CloudWatch for AWS and Pandora for most on-prem.
this is quite affordable and provides what you seem to be looking for. you can see a whole thing about the APM space here https://www.apmexperts.com/observability/ranking-the-observability-offerings/
I worked with Datadog at least one year and my position is that commercial tools like Datadog are the best option to consolidate and analyze your metrics. Obviously, if you can't pay the tool, the best free options are the mix of Prometheus with their Alert Manager and Grafana to visualize (that are complementary not substitutable). But I think that no use a good tool it's finally more expensive that use a not really good implementation of free tools and you will pay also to maintain its.
The objective of this work was to develop a system to monitor the materials of a production line using IoT technology. Currently, the process of monitoring and replacing parts depends on manual services. For this, load cells, microcontroller, Broker MQTT, Telegraf, InfluxDB, and Grafana were used. It was implemented in a workflow that had the function of collecting sensor data, storing it in a database, and visualizing it in the form of weight and quantity. With these developed solutions, he hopes to contribute to the logistics area, in the replacement and control of materials.
Pros of Ganglia
Pros of Prometheus
- Powerful easy to use monitoring47
- Flexible query language38
- Dimensional data model32
- Alerts27
- Active and responsive community23
- Extensive integrations22
- Easy to setup19
- Beautiful Model and Query language12
- Easy to extend7
- Nice6
- Written in Go3
- Good for experimentation2
- Easy for monitoring1
Sign up to add or upvote prosMake informed product decisions
Cons of Ganglia
Cons of Prometheus
- Just for metrics12
- Bad UI6
- Needs monitoring to access metrics endpoints6
- Not easy to configure and use4
- Supports only active agents3
- Written in Go2
- TLS is quite difficult to understand2
- Requires multiple applications and tools2
- Single point of failure1