riemann
Riemann is an open-source event stream processing system written in Clojure that aggregates and processes events from distributed systems. It provides a domain-specific language for defining complex event workflows, making it suitable for real-time monitoring and metrics collection across infrastructure.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | riemann/riemann |
| Owner | riemann |
| Primary language | Clojure |
| License | EPL-1.0 — Requires review (not clearly OSI) |
| Stars | 4.3k |
| Forks | 502 |
| Open issues | 29 |
| Latest release | 0.3.12 (2025-05-26) |
| Last updated | 2026-04-05 |
| Source | https://github.com/riemann/riemann |
What riemann is
Riemann ingests events via multiple protocols, applies stream transformations and aggregations using a Clojure-based DSL, and routes results to outputs (alerting, dashboards, databases). It handles event correlation, windowing, and stateful processing natively within a functional programming model.
Get the riemann source
Clone the repository and explore it locally.
git clone https://github.com/riemann/riemann.gitcd riemann# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Clojure runtime dependency (JVM); operationalize Java environment, GC tuning, and memory management for sustained production workloads.
- Event schema design and DSL familiarity required; plan for Clojure training or hire experienced developers to define stream logic safely.
- State management and windowing configuration must be carefully sized; unbounded aggregations can exhaust memory on long-running streams.
- Input protocol and output sink integrations (TCP, UDP, HTTP, databases) must be vetted and configured for your topology.
- Monitoring Riemann itself (recursive monitoring) is possible but must be explicitly configured; avoid circular dependencies or feedback loops.
When to avoid it — and what to weigh
- Team lacks Clojure expertise — Configuration and extension require writing Clojure code. Teams unfamiliar with functional programming or Clojure will face a steep learning curve and slower iteration.
- Need visual rule builder or no-code configuration — Riemann requires programmatic DSL; there is no web UI for rule definition. Operators without development skills cannot configure monitoring independently.
- Require multi-tenant SaaS platform — Riemann is self-hosted infrastructure software. It does not provide managed hosting, isolation, or SaaS deployment models out of the box.
- Enterprise support and SLA guarantees are mandatory — Unknown whether commercial support agreements or SLAs are available. The project is community-driven; enterprise support terms are not documented here.
License & commercial use
Licensed under Eclipse Public License 1.0 (EPL-1.0), a reciprocal open-source license. EPL-1.0 is OSI-approved and allows modification and distribution; derivative works must remain open-source under EPL-1.0 or compatible licenses.
EPL-1.0 permits commercial use of Riemann as-is or with modifications, provided modifications remain under EPL-1.0 or compatible open license. Proprietary extensions or internal-only forks are allowed, but any distributed derivative must be open-sourced. Verify your legal and compliance team's interpretation of reciprocal clauses for your specific use case.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
EPL-1.0 licensed code is publicly auditable. Riemann ingests event streams over network protocols; validate input source authentication, encryption in transit (TLS for HTTP), and access controls on the monitoring interface. No mention of built-in encryption, authentication mechanisms, or security audit history in provided data; review threat model and penetration testing maturity independently. Running untrusted Clojure in the DSL carries code-execution risk; sandbox DSL evaluation if accepting user-defined rules.
Alternatives to consider
Logstash (ELK Stack)
Log-centric event pipeline with larger ecosystem; visual rule builders available via Kibana. Heavier resource footprint and less focus on real-time metrics aggregation.
Prometheus + Alertmanager
Dominant open-source metrics-driven monitoring platform with pull-based scraping, PromQL DSL, and wide integrations. Simpler operational model for infrastructure metrics; less flexible for custom stream processing.
Kafka Streams / Apache Flink
General-purpose stream processing frameworks with higher throughput and more mature distributed processing. Steeper learning curve and more heavyweight for small-to-medium monitoring use cases.
Build on riemann with DEV.co software developers
If your team has Clojure expertise and needs a flexible, self-hosted stream processor for complex event workflows, Riemann is worth a proof-of-concept. Otherwise, compare Prometheus, Logstash, or managed platforms first.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
riemann FAQ
Can I run Riemann in Kubernetes?
Does Riemann replace Prometheus or Grafana?
What is the learning curve for Riemann's DSL?
Is Riemann suitable for small teams or startups?
Work with a software development agency
DEV.co helps companies turn open-source tools like riemann into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source observability stack.
Evaluate Riemann for your monitoring pipeline
If your team has Clojure expertise and needs a flexible, self-hosted stream processor for complex event workflows, Riemann is worth a proof-of-concept. Otherwise, compare Prometheus, Logstash, or managed platforms first.