riemann-relay alternatives and similar packages
Based on the "Server Applications" category.
Alternatively, view riemann-relay alternatives based on common mentions on social networks and blogs.
-
etcd
Distributed reliable key-value store for the most critical data of a distributed system -
Caddy
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS -
Vault
A tool for secrets management, encryption as a service, and privileged access management -
consul
Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. -
apex
Build, deploy, and manage AWS Lambda functions with ease (with Go support!). -
RoadRunner
🤯 High-performance PHP application server, process manager written in Go and powered with plugins -
SFTPGo
Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob -
Ponzu
Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go. -
Jocko
Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native) -
Flagr
Flagr is a feature flagging, A/B testing and dynamic configuration microservice -
algernon
Small self-contained pure-Go web server with Lua, Teal, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support -
discovery
A registry for resilient mid-tier load balancing and failover. -
Key Transparency
A transparent and secure way to look up public keys. -
Trickster
Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator -
Rendora
dynamic server-side rendering using headless Chrome to effortlessly solve the SEO problem for modern javascript websites -
jackal
💬 Instant messaging server for the Extensible Messaging and Presence Protocol (XMPP). -
Golang API Starter Kit
Go Server/API boilerplate using best practices DDD CQRS ES gRPC -
SDNS
A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy. -
go-feature-flag
GO Feature Flag is a simple, complete and lightweight self-hosted feature flag solution 100% Open Source. 🎛️ -
Euterpe
Self-hosted music streaming server 🎶 with RESTful API and Web interface. Think of it as your very own Spotify! ☁️🎧 -
Walrus
🔥 Fast, Secure and Reliable System Backup, Set up in Minutes. -
goproxy
🦁 goproxy is a proxy server which can forward http or https requests to remote servers./ goproxy 是一个反向代理服务器,支持转发 http/https 请求。 -
Eru
Eru, a simple, stateless, flexible, production-ready orchestrator designed to easily integrate into existing workflows. Can run any virtualization things in long or short time. -
marathon-consul
Integrates Marathon apps with Consul service discovery. -
cortex-tenant
Prometheus remote write proxy that adds Cortex/Mimir tenant ID based on metric labels -
lets-proxy2
Reverse proxy with automatically obtains TLS certificates from Let's Encrypt -
go-proxy-cache
Simple Reverse Proxy with Caching, written in Go, using Redis. -
Simple CRUD App w/ Gorilla/Mux, MariaDB
Simple CRUD Application with Go, Gorilla/mux, MariaDB, Redis. -
psql-streamer
Stream database events from PostgreSQL to Kafka -
simple-jwt-provider
Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management. -
protoxy
A proxy server than converts JSON request bodies to protocol buffers -
autobd
autobd is an automated, networked and containerized backup solution -
go-fitbit
Fitbit API for Go to fetch, add, update and delete data on Fitbit using REST API -
Gin Healthcheck
Lightweight, customizable healthcheck endpoint for Gin Framework
Collect and Analyze Billions of Data Points in Real Time
Do you think we are missing an alternative of riemann-relay or a related project?
README
riemann-relay
This is a service that receives a Riemann Protobuf-formatted event stream and sends it to one or more targets in Riemann or Graphite format. Although that can be done in Riemann itself, this service is simpler, probably faster and lightweight (no Java)
Features
- Receive event batches in Riemann Protobuf format (see riemann.proto)
- Receive events in Riemann JSON format using Websocket API
- Convert Riemann events to Carbon metrics using flexible field mapping syntax
- Send events in configurable batch sizes to any number of Riemann/Carbon targets
- Supports TCP and Unix Sockets
- Different target selection algorithms:
- Round-Robin
- Hash
- Failover
- Broadcast
- Optional failover to other targets if the selected one is down (in Hash and Round-Robin modes)
- Prometheus metrics
- Log stats periodically
- Configurable batch and buffer sizes, flush intervals, timeouts
- Build RPM and DEB packages
See riemann-relay.conf for more details on features and how to configure them
Performance
On 2 average CPU cores it's able to handle about 500k events per second, depending on batch size and incoming Riemann message sizes. It will scale to more CPUs when using more targets and clients (each target and client gets it's own thread). There's a room for optimizations, though.
JSON URI and Event structure for Websocket
URI: ws://1.1.1.1:1234/events
{
"host": "host1",
"service": "svc1",
"description": "cool",
"state": "ok",
"tags": ["tag1", "tag2"],
"metric": 123,
"time": "2018-04-10T13:36:04.787Z",
"attributes": [
{
"key": "key1",
"value": "val1"
}
]
}
Install
For now in the releases only binaries for linux-amd64 are available. For other platforms see the Build section below.
Build
riemann-relay is written in Go and uses dep as a dependency manager, so you need to install them first.
Then:
# dep ensure
# go build
Packaging
To build RPM & DEB packages you'll need gox and fpm.
Then just do one of:
# make rpm
# make deb
Run
# /path/to/riemann-relay -config /etc/riemann-relay.conf
The logging currently goes to stdout. Use -debug option to get a lot more detailed output (not for production).