Graphite vs Prometheus

Need advice about which tool to choose?Ask the StackShare community!

Graphite

392
418
+ 1
42
Prometheus

4.5K
3.7K
+ 1
239
Add tool

Graphite vs Prometheus: What are the differences?

Introduction

This Markdown code provides a comparison between Graphite and Prometheus, highlighting their key differences. Graphite and Prometheus are both popular monitoring tools used in different ways to collect and visualize metric data. Below are six key differences between these monitoring tools.

  1. Data Model: Graphite uses a hierarchical data model where metrics are organized into a structure resembling a file system, with metrics stored as dotted strings. On the other hand, Prometheus uses a multidimensional data model where metrics are identified by key-value pairs called labels, allowing flexible querying and filtering based on different dimensions.

  2. Data Storage: Graphite stores metric data as time-series in round-robin databases (RRD), which aggregates the data over time intervals. Prometheus, in contrast, uses its custom time-series database with a flexible storage model that allows for more complex queries and retention policies.

  3. Data Collection: Graphite relies on a pull-based approach, where applications or systems push metrics to the Graphite server periodically. Prometheus, however, uses a pull-based approach, where it scrapes metric endpoints exposed by monitored applications or systems at regular intervals, making it more resilient to network failures and scalable when monitoring large environments.

  4. Query Language: Graphite uses its own query language called Graphite Query Language (GQL) for data retrieval and manipulation. GQL supports various wildcard expressions and mathematical operations. In contrast, Prometheus uses a more powerful query language called PromQL (Prometheus Query Language), which provides a rich set of functions, operators, and aggregations to easily explore and analyze metric data.

  5. Alerting: Graphite lacks native alerting capabilities and relies on third-party tools for alerting. Prometheus, on the other hand, includes a built-in alerting system that allows defining alert rules based on custom query expressions, sending notifications to various channels (like email, Slack, PagerDuty) when specific conditions are met.

  6. Ecosystem and Integrations: Graphite has a rich ecosystem of compatible tools and integrations, including Grafana for visualization, Carbon for data forwarding, and many others. Prometheus also has a growing ecosystem and integrations with popular tools like Grafana, Alertmanager, and exporters, which allow for seamless integration with existing monitoring and notification setups.

In summary, Graphite and Prometheus differ in their data models, storage mechanisms, collection methods, query languages, alerting capabilities, and ecosystem/integrations, making them suitable for different monitoring use cases and environments.

Advice on Graphite and Prometheus
Susmita Meher
Senior SRE at African Bank · | 4 upvotes · 780.2K views
Needs advice
on
GrafanaGrafanaGraphiteGraphite
and
PrometheusPrometheus

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.

See more
Replies (1)
Sakti Behera
Technical Specialist, Software Engineering at AT&T · | 3 upvotes · 565.5K views
Recommends
on
GrafanaGrafanaPrometheusPrometheus

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.

See more
Sunil Chaudhari
Needs advice
on
MetricbeatMetricbeat
and
PrometheusPrometheus

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.

See more
Replies (2)
Matthew Rothstein
Recommends
on
PrometheusPrometheus

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.

See more
Recommends
on
InstanaInstana

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

See more
Mat Jovanovic
Head of Cloud at Mats Cloud · | 3 upvotes · 709.6K views
Needs advice
on
DatadogDatadogGrafanaGrafana
and
PrometheusPrometheus

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.

See more
Replies (2)
Lucas Rincon
Recommends
on
InstanaInstana

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/

See more
Recommends
on
DatadogDatadog

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.

See more
Decisions about Graphite and Prometheus
Matt Menzenski
Senior Software Engineering Manager at PayIt · | 15 upvotes · 984.1K views

Grafana and Prometheus together, running on Kubernetes , is a powerful combination. These tools are cloud-native and offer a large community and easy integrations. At PayIt we're using exporting Java application metrics using a Dropwizard metrics exporter, and our Node.js services now use the prom-client npm library to serve metrics.

See more
Leonardo Henrique da Paixão
Junior QA Tester at SolarMarket · | 15 upvotes · 351.7K views

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.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Graphite
Pros of Prometheus
  • 16
    Render any graph
  • 9
    Great functions to apply on timeseries
  • 8
    Well supported integrations
  • 6
    Includes event tracking
  • 3
    Rolling aggregation makes storage managable
  • 47
    Powerful easy to use monitoring
  • 38
    Flexible query language
  • 32
    Dimensional data model
  • 27
    Alerts
  • 23
    Active and responsive community
  • 22
    Extensive integrations
  • 19
    Easy to setup
  • 12
    Beautiful Model and Query language
  • 7
    Easy to extend
  • 6
    Nice
  • 3
    Written in Go
  • 2
    Good for experimentation
  • 1
    Easy for monitoring

Sign up to add or upvote prosMake informed product decisions

Cons of Graphite
Cons of Prometheus
    Be the first to leave a con
    • 12
      Just for metrics
    • 6
      Bad UI
    • 6
      Needs monitoring to access metrics endpoints
    • 4
      Not easy to configure and use
    • 3
      Supports only active agents
    • 2
      Written in Go
    • 2
      TLS is quite difficult to understand
    • 2
      Requires multiple applications and tools
    • 1
      Single point of failure

    Sign up to add or upvote consMake informed product decisions

    What is Graphite?

    Graphite does two things: 1) Store numeric time-series data and 2) Render graphs of this data on demand

    What is Prometheus?

    Prometheus is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Graphite?
    What companies use Prometheus?
    See which teams inside your own company are using Graphite or Prometheus.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Graphite?
    What tools integrate with Prometheus?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Dec 8 2020 at 5:50PM

    DigitalOcean

    GitHubMySQLPostgreSQL+11
    3
    2349
    May 21 2020 at 12:02AM

    Rancher Labs

    KubernetesAmazon EC2Grafana+12
    6
    1484
    PythonDockerKubernetes+14
    12
    2596
    Node.jsnpmKubernetes+6
    1
    1400
    Jun 26 2018 at 3:26AM

    Twilio SendGrid

    GitHubDockerKafka+10
    11
    9935
    JavaScriptGitHubNode.js+29
    14
    13381
    What are some alternatives to Graphite and Prometheus?
    Grafana
    Grafana is a general purpose dashboard and graph composer. It's focused on providing rich ways to visualize time series metrics, mainly though graphs but supports other ways to visualize data through a pluggable panel architecture. It currently has rich support for for Graphite, InfluxDB and OpenTSDB. But supports other data sources via plugins.
    Graphene
    Graphene is a Python library for building GraphQL schemas/types fast and easily.
    Pencil
    A web application microframework for Rust
    Kibana
    Kibana is an open source (Apache Licensed), browser based analytics and search dashboard for Elasticsearch. Kibana is a snap to setup and start using. Kibana strives to be easy to get started with, while also being flexible and powerful, just like Elasticsearch.
    Nagios
    Nagios is a host/service/network monitoring program written in C and released under the GNU General Public License.
    See all alternatives