-
Notifications
You must be signed in to change notification settings - Fork 0
Home
narkisr edited this page Apr 4, 2012
·
8 revisions
Gelfino is a tiny embeddable Gelf server written in pure Clojure, Gelfino enables real time processing of log events through streams either standalone or as a forwarding target from Graylog2.
Streams are defined using a Clojure DSL, a stream is curved out from the global message streams by defining selectors or embedded Drools fusion rules DSL.
Some use cases:
- Forwarding events into fnordmetric for generating graphs on specific events.
- Detecting events like server restarts, errors etc, and firing alerts.
- As a standalone server pipping events into a durable store.
- Statistics gathering, using storm and/or incanter.
Gelfino is meant to be used as library within a Clojure project, we use a DSL to define our streams and actions.
- Defining selectors is the simplest form of creating streams and applying actions on them.
- The embedded Drools rule DSL enables complex event processing queries (cep) who's results can be binded to any callback function.
Gelfino logs a couple of statistics into statistics.log file, these are updated every 5sec and include:
- Total messages received.
- Total messages processed.
- Processing rate (the difference between every 5sec).
Just add [com.narkisr/gelfino "0.3.0"] to project.clj file then follow this quick start.
- Integrating gelfino and storm.
- Use core logic in order to create facts and query them.
- Step out of the GELF spec and use snappy, see how much faster it is.
- Write a client side GELF sender, both for benchmarking and implementing chunking correctly (some existing libraries dont).
- Add syslog support.
License GPLv3
Copyright (C) 2012 narkisr.com