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 -
consul
Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. -
Vault
A tool for secrets management, encryption as a service, and privileged access management -
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 -
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. -
SFTPGo
Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob -
Jocko
Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native) -
discovery
A registry for resilient mid-tier load balancing and failover. -
algernon
:tophat: Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support -
Flagr
Flagr is a feature flagging, A/B testing and dynamic configuration microservice -
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 -
go-feature-flag
A simple and complete self hosted feature flag solution, without any complex backend system to install, all you need is a file as your backend. 🎛️ -
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 tenant ID based on metric labels -
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. -
lets-proxy2
Reverse proxy with automatically obtains TLS certificates from Let's Encrypt -
psql-streamer
Stream database events from PostgreSQL to Kafka -
autobd
autobd is an automated, networked and containerized backup solution -
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 -
go-fitbit
Fitbit API for Go to fetch, add, update and delete data on Fitbit using REST API
Build time-series-based applications quickly and at scale.
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).