Need advice about which tool to choose?Ask the StackShare community!
ELK vs Prometheus: What are the differences?
ELK vs Prometheus
ELK and Prometheus are both popular observability solutions used in monitoring and analyzing system performance. While they share similarities in terms of functionality, there are significant differences between the two.
Data Collection and Storage: ELK (Elasticsearch, Logstash, Kibana) utilizes Logstash for data collection and Elasticsearch as the storage backend. On the other hand, Prometheus collects data directly through its own instrumentation libraries and stores it in a time-series database.
Querying and Analysis: ELK uses a powerful search engine, Elasticsearch, for querying and analyzing data. It offers a rich query language, including full-text search capabilities and aggregations. Prometheus, on the other hand, provides a specific query language called PromQL, designed for working with time-series data. While it may not be as versatile as Elasticsearch, PromQL is optimized for quick queries on large amounts of time-series data.
Alerting and Monitoring: Prometheus has native support for alerting, allowing users to define complex rules based on metrics and send alerts. It also provides a built-in dashboard for monitoring. ELK, on the other hand, requires additional configuration and integration with external tools like Beats or Logstash for alerting capabilities, making it a bit more complex to set up and maintain.
Scalability: ELK is known for its distributed architecture, allowing it to scale horizontally by adding more nodes to handle large amounts of data. Elasticsearch handles the distribution and replication of data across the nodes. Prometheus, on the other hand, is more focused on vertical scalability and is designed for single-node operation. While sharding and federation can be used to achieve some level of scalability in Prometheus, it may not be as suitable as ELK for handling extremely large datasets.
Data Visualization: ELK includes Kibana, a powerful visualization tool, which allows users to create elaborate dashboards and reports to analyze data. Kibana offers a wide range of visualizations and customization options. Prometheus, on the other hand, provides basic graphing and visualization capabilities within its own UI, but it may not be as sophisticated as Kibana in terms of visual presentation and customization.
Community and Ecosystem: Both ELK and Prometheus have active and growing communities, but ELK has a larger and more mature ecosystem. ELK is part of the Elastic Stack, which includes additional tools like Beats and Logstash, providing a comprehensive solution for log management and data processing. Prometheus, while it has a rich library of exporters for collecting metrics from various services, does not have as extensive of an ecosystem as ELK.
In summary, ELK is a powerful, scalable, and feature-rich observability solution with versatile querying, rich visualization, and a mature ecosystem. Prometheus, on the other hand, is focused on time-series data collection, has native alerting capabilities, and offers a simpler and more lightweight approach, making it a suitable choice for specific monitoring needs.
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.
Pros of ELK
- Open source13
- Can run locally3
- Good for startups with monetary limitations3
- External Network Goes Down You Aren't Without Logging1
- Easy to setup1
- Json log supprt0
- Live logging0
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 ELK
- Elastic Search is a resource hog5
- Logstash configuration is a pain3
- Bad for startups with personal limitations1
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