Riemann was created in 2011 by Kyle Kingsbury (also known as “aphyr”) as a flexible event stream processor for monitoring. The project was designed to provide a powerful, programmable way to process and route monitoring events. The name “Riemann” comes from the mathematician Bernhard Riemann, reflecting the project’s mathematical approach to event processing.
Kyle Kingsbury, a distributed systems engineer, created Riemann in 2011. His motivation came from:
- Rigid Tools: Existing monitoring was inflexible
- Complex Aggregation: Difficult to aggregate events
- Need Flexibility: Programmable event processing
- Distributed Systems: Monitoring complex systems
Initial Design Goals:
- Event stream processing
- Flexible routing rules
- Low latency
- Clojure-based configuration
- Distributed system support
Riemann was first released in 2011 as an open-source project under the EPL license. The initial release featured:
- Event stream processing
- Clojure configuration
- TCP/UDP interfaces
- Flexible routing
- Low latency
The tool gained popularity among engineers monitoring complex distributed systems.
| Year |
Version |
Milestone |
| 2011 |
0.1 |
First public release |
| 2012 |
0.2 |
Enhanced streams, better performance |
| 2013 |
0.3 |
Improved client libraries |
| 2014 |
0.4 |
Enhanced functionality |
| 2015 |
0.5 |
Performance improvements |
| 2016 |
0.6 |
Enhanced features |
| 2017 |
0.7 |
Modern improvements |
| 2018 |
0.8 |
Bug fixes, stability |
| 2019 |
0.9 |
Enhanced features |
| 2020 |
0.10 |
Security updates |
| 2021 |
0.11 |
Bug fixes |
| 2022 |
0.12 |
Modern improvements |
| 2023 |
0.13 |
Enhanced features |
| 2024 |
0.14 |
Security updates |
| 2025 |
0.15 |
Bug fixes |
| 2026 |
0.16.x |
Current stable release |
Initial Riemann architecture:
- Clojure/JVM: Functional programming
- Event Streams: Stream-based processing
- TCP/UDP: Network interfaces
- Flexible Routing: Programmable rules
- Low Latency: Fast event processing
Improvements introduced:
- Enhanced Streams: More stream functions
- Better Clients: Multiple language clients
- Improved Performance: Optimized processing
- Dashboard: Riemann Dash
- Integration: More integrations
Riemann is developed as an open-source project:
- Primary Developer: Kyle Kingsbury (initially)
- Community Contributions: Community bug reports and PRs
- GitHub-Based: Issue tracking and development
- EPL License: Open-source license
- Open Development: Public GitHub repository
- Regular Releases: Periodic updates
- Community Input: Feature requests via GitHub
- Clojure Ecosystem: Leiningen/Maven distribution
Riemann’s flexible architecture enabled multiple clients:
- Java Client: Official Java client
- Ruby Client: Ruby integration
- Python Client: Python integration
- Go Client: Go integration
- Many Others: Community clients
Riemann gained adoption in specific niches:
- Distributed Systems: Complex system monitoring
- Financial Services: Low-latency monitoring
- Tech Companies: Engineering teams
- Research: Academic use
Common Riemann deployments:
- Event Processing: Complex event routing
- Distributed Monitoring: Multi-system monitoring
- Alert Aggregation: Intelligent alerting
- Stream Analysis: Real-time analysis
- GitHub Stars: 4,000+
- Contributors: 50+
- Downloads: Thousands of installations
- Community: Niche but dedicated
- Development: Maintenance mode
- Maintenance releases
- Bug fixes
- Security patches
- Community contributions
- Maintenance: Continued stability
- Security: Security updates
- Compatibility: Modern system support
- Community: Community-driven development
- Performance: Continued optimization
Any questions?
Feel free to contact us. Find all contact information on our contact page.