Need advice about which tool to choose?Ask the StackShare community!
Prometheus vs Thanos: What are the differences?
Prometheus and Thanos are two popular tools used for monitoring and observability in modern infrastructure and cloud-native applications. Let's explore the key differences between Prometheus and Thanos:
Data Storage: Prometheus is designed to store metrics locally on each individual node or server. It uses a time-series database for efficient storage and retrieval of metrics data. On the other hand, Thanos extends Prometheus by providing a robust distributed storage layer. It allows metrics to be stored in a highly available and scalable manner across multiple clustered instances, enabling long-term retention and global query views.
Data Retention: Prometheus retains metrics data on a short-term basis, typically up to a few weeks. While it offers local data storage and efficient querying, it lacks the capability for long-term retention and global querying of historical metrics data. Thanos, on the other hand, provides long-term data retention by leveraging its distributed storage layer, allowing organizations to retain metrics data for months or even years. This enables deep insights and analysis of historical trends and patterns.
High Availability: Prometheus is designed to be deployed as a single instance, making it susceptible to single points of failure. In case of a failure, metrics data can be lost or become inaccessible. Thanos addresses this issue by providing a highly available architecture. It allows data replication and redundancy across multiple instances, ensuring continuous availability even if individual nodes fail. This makes Thanos well-suited for mission-critical monitoring and observability requirements.
Federation and Global Queries: Prometheus supports a federation feature that allows multiple Prometheus instances to be centrally queried. However, federated queries in Prometheus can be resource-intensive and result in increased latency. Thanos provides a more efficient solution by introducing global queries. Thanos combines data from multiple Prometheus instances transparently, providing a unified view for querying across all the data without the need for expensive federation operations.
Data Deduplication: In Prometheus, if multiple instances scrape the same target, duplicate metrics can occur. Although Prometheus de-duplicates metrics during querying, the duplicate data is still stored, leading to increased storage requirements. Thanos tackles this issue by performing data deduplication during the compaction process, reducing storage costs by eliminating redundant metrics and storing only unique data.
Horizontal Scalability: Prometheus is designed to run as a vertical scaling solution, where a single instance can handle a certain volume of metrics data. As the data grows, additional instances need to be deployed in a sharded setup. Thanos, on the other hand, provides horizontal scalability out of the box. It allows for seamless scaling by adding more instances to the cluster, thus distributing the load and handling increased metrics ingestion and query traffic.
In summary, Prometheus excels in local data storage and efficient querying, while Thanos extends Prometheus by providing distributed storage, long-term retention, high availability, global querying, data deduplication, and horizontal scalability. Thanos is a powerful tool for organizations requiring scalable, fault-tolerant, and long-term storage and analysis of massive metrics data.
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.
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.
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/
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 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
Pros of Thanos
Sign up to add or upvote prosMake informed product decisions
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