3 ms·
> Config file isn't a config file, it's an executed bit of Clojure code For stream processing engines, configuration will be code. Unfortunate, but unavoidable
by dozzie 11y ago
> Config file isn't a config file, it's an executed bit of Clojure code
For stream processing engines, configuration will be code. Unfortunate, but
unavoidable.
> Riemann is not a replacement for an alerting mechanism
> Riemann is not a replacement for a trend graphing mechanism.
Indeed it is not. It's misadvertised as a monitoring solution, while it's
a stream processing engine.
What I think of it is that you're supposed build a monitoring system on top of
stream processing engine. It's a pity Riemann doesn't allow to subscribe to
its streams from the outside, so to add any message destination you need to
update its config.
- agentgt 11y agoThat was my problem with Riemann. I love its core but I really want something built on top of it. Basically a Jenkins of monitoring (since clojure is JVM). I contemplated building it (ie taking Jenkins plugin system as inspiration) but it was just way to much work.
- rhizome 11y agoGo any further than that and you have Yahoo Pipes or IFTTT
- falcolas 11y ago> For stream processing engines, configuration will be code. Unfortunate, but unavoidable. I honestly don't think it's unavoidable, so long as you separate the configuration (i.e. hosts, thresholds, outputs, etc) from your processing logic. Of course, this requires additional development work from within the "configuration" file.
- dozzie 11y agoBut for a stream engine the processing logic is configuration. There aren't many examples of when code is a configuration parameter for service (generic RPC server for sysadmins being another example I've encountered), but there are some.
- AdamN 11y agoIt seems like having a small tool to turn yaml files into basic clojure code for easy rulesets would be an easy extension. It might encourage Bad behavior and of course it couldn't do everything ... just an idea.
- retrogradeorbit 11y agoThat would actually be quite easy to do in clojure without the need for an external tool by writing a clojure macro that reads the other format and emits the s-expressions that represent it.
- yid 11y ago> For stream processing engines, configuration will be code. Unfortunate, but unavoidable. How so? Kafka is a stream processing engine that uses plain old Zookeeper data structures for config. Edit: Kafka also seems to have the missing features you mentioned if Riemann should be taken seriously as a general-purpose stream processing engine.
- brian_cloutier 11y agoI would argue Kafka isn't a stream processing engine so much as a stream shipping engine. Kafka barely looks at the content of your messages. I'd also argue that Zookeeper nodes are anything but "plain" :)