StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. DevOps
  3. Monitoring
  4. Monitoring Tools
  5. Prometheus vs Riemann

Prometheus vs Riemann

OverviewDecisionsComparisonAlternatives

Overview

Prometheus
Prometheus
Stacks4.8K
Followers3.8K
Votes239
GitHub Stars61.1K
Forks9.9K
Riemann
Riemann
Stacks41
Followers55
Votes9

Prometheus vs Riemann: What are the differences?

Introduction Prometheus and Riemann are both popular monitoring systems used in the field of software development. While they both serve the purpose of monitoring and alerting, there are key differences between the two.

  1. Data Model: Prometheus uses a time-series data model, where each sample has a unique timestamp and a set of key-value pairs. This allows for flexible querying and analysis of data over time. On the other hand, Riemann uses an event-based data model, where each event is a map or dictionary-like structure. This structure allows for easy manipulation of events but may not provide the same level of analysis as time-series data.

  2. Data Collection: Prometheus collects data through a pull model, where it regularly scrapes targets and collects metrics at regular intervals. It supports a wide range of exporters and integrations, making it easy to collect metrics from different systems. In contrast, Riemann uses a push model, where clients send events to the Riemann server. It allows for real-time data streaming and is well-suited for real-time monitoring and alerting.

  3. Aggregation: Prometheus provides built-in support for aggregation functions like sum, average, and rate calculations. This allows for easy analysis of data over time and helps in identifying trends and anomalies. Riemann, on the other hand, focuses more on event processing and does not provide built-in aggregation functions. Aggregation needs to be handled externally, either before sending events to Riemann or in the consumer layer.

  4. Alerting: Prometheus has a robust alerting system built into its core. It allows users to define complex alerting rules based on query expressions and supports various notification channels. Riemann also supports alerting but with a more simplified approach. It allows users to define thresholds and actions for events that cross those thresholds. While Prometheus provides more advanced alerting capabilities, Riemann's simplicity can be advantageous for certain use cases.

  5. Scalability: Prometheus is designed to be highly scalable and can handle a large number of time-series data. It supports efficient data storage and retrieval, making it suitable for large-scale monitoring setups. Riemann, on the other hand, is not inherently designed for scalability and may face challenges when dealing with a large volume of events. However, Riemann can be used in a distributed setup to overcome some scalability limitations.

  6. Ecosystem and Integrations: Prometheus has a vibrant ecosystem with a wide range of exporters, libraries, and integrations available. It integrates well with other monitoring tools like Grafana, Alertmanager, and Kubernetes. Riemann also has a good ecosystem but with a smaller community. It provides various client libraries, plugins, and integrations with tools like Graphite, StatsD, and Nagios.

In Summary, Prometheus and Riemann differ in their data models, data collection approaches, aggregation capabilities, alerting systems, scalability, and ecosystem/integrations. These differences make each tool suitable for different monitoring use cases and requirements.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Prometheus, Riemann

Raja Subramaniam
Raja Subramaniam

Aug 27, 2019

Needs adviceonPrometheusPrometheusKubernetesKubernetesSysdigSysdig

We have Prometheus as a monitoring engine as a part of our stack which contains Kubernetes cluster, container images and other open source tools. Also, I am aware that Sysdig can be integrated with Prometheus but I really wanted to know whether Sysdig or sysdig+prometheus will make better monitoring solution.

779k views779k
Comments
Susmita
Susmita

Senior SRE at African Bank

Jul 28, 2020

Needs adviceonGrafanaGrafana

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.

869k views869k
Comments
Mat
Mat

Head of Cloud at Mats Cloud

Oct 30, 2019

Needs advice

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.

794k views794k
Comments

Detailed Comparison

Prometheus
Prometheus
Riemann
Riemann

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.

Riemann aggregates events from your servers and applications with a powerful stream processing language. Send an email for every exception in your app. Track the latency distribution of your web app. See the top processes on any host, by memory and CPU.

Dimensional data; Powerful queries; Great visualization; Efficient storage; Precise alerting; Simple operation
See your system at a glance with a Sinatra app; Throttle or roll up multiple events into a single message; Forward any event stream to Graphite; Query states easily
Statistics
GitHub Stars
61.1K
GitHub Stars
-
GitHub Forks
9.9K
GitHub Forks
-
Stacks
4.8K
Stacks
41
Followers
3.8K
Followers
55
Votes
239
Votes
9
Pros & Cons
Pros
  • 47
    Powerful easy to use monitoring
  • 38
    Flexible query language
  • 32
    Dimensional data model
  • 27
    Alerts
  • 23
    Active and responsive community
Cons
  • 12
    Just for metrics
  • 6
    Needs monitoring to access metrics endpoints
  • 6
    Bad UI
  • 4
    Not easy to configure and use
  • 3
    Supports only active agents
Pros
  • 5
    Sophisticated stream processing DSL
  • 4
    Clojure-based stream processing
Integrations
Grafana
Grafana
No integrations available

What are some alternatives to Prometheus, Riemann?

Grafana

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.

Kibana

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

Nagios is a host/service/network monitoring program written in C and released under the GNU General Public License.

Netdata

Netdata

Netdata collects metrics per second & presents them in low-latency dashboards. It's designed to run on all of your physical & virtual servers, cloud deployments, Kubernetes clusters & edge/IoT devices, to monitor systems, containers & apps

Zabbix

Zabbix

Zabbix is a mature and effortless enterprise-class open source monitoring solution for network monitoring and application monitoring of millions of metrics.

Sensu

Sensu

Sensu is the future-proof solution for multi-cloud monitoring at scale. The Sensu monitoring event pipeline empowers businesses to automate their monitoring workflows and gain deep visibility into their multi-cloud environments.

Graphite

Graphite

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

Lumigo

Lumigo

Lumigo is an observability platform built for developers, unifying distributed tracing with payload data, log management, and real-time metrics to help you deeply understand and troubleshoot your systems.

StatsD

StatsD

It is a network daemon that runs on the Node.js platform and listens for statistics, like counters and timers, sent over UDP or TCP and sends aggregates to one or more pluggable backend services (e.g., Graphite).

Jaeger

Jaeger

Jaeger, a Distributed Tracing System

Related Comparisons

GitHub
Bitbucket

Bitbucket vs GitHub vs GitLab

GitHub
Bitbucket

AWS CodeCommit vs Bitbucket vs GitHub

Kubernetes
Rancher

Docker Swarm vs Kubernetes vs Rancher

gulp
Grunt

Grunt vs Webpack vs gulp

Graphite
Kibana

Grafana vs Graphite vs Kibana