| Prometheus | Graphite | Grafana |
| What it is | Fully integrated time series DBMS and monitoring system | Time series data logging and graphing tool | Visualize and dashboard editing tool |
| What it does | Scraping, storing, querying, graphing, and alerting based on time series data, also provides API endpoints for the data it holds | Stores numeric time series data and provides graphs of that data | Visualize and dashboard editing tool |
| | | |
| Visualization and dashboard editing | Excellent, Prometheus makes use of Console Templates for visualization and dashboard editing (learning curve) | Good visualization options, but no dashboard editing | feature-rich, easy to use, and very flexible |
| Storage | dimensional model, which uses key-value tagging along the time series to better organize the data and offer strong query capabilities) | Graphite can store time series | No storage support |
| Data collection | Yes, Prometheus can do the data collection part along with the storage, Active or Pull mechanism | No data collection support directly. You need to include solutions like statd, collectd,carbon, whisper (passive or push mechanism) | No data collection support |
| Alarming and Event Tracking | Complete support here for alarm management | It can do event tracking, but it can’t directly do the alarm part | neither alarm management nor event tracking are part of its core functionality |
| Partitioning supported? | Yes, sharding | Yes, via consistent hashing | |
| Replication supported? | Yes | Not by default | |
| Open Source vs. Commercial Offering | Open Source | Open Source | Open Source |
| | | |
| References | | | |
| https://logz.io/blog/prometheus-vs-graphite/ | | | |
| https://www.loomsystems.com/blog/single-post/2017/06/07/prometheus-vs-grafana-vs-graphite-a-feature-comparison | | | |
| | | |