Skip to content
Santanu edited this page Oct 25, 2013 · 10 revisions

Why?

Most of the stuff that we work on get deployed on multiple servers. Scalable and all.. Problem is, how do I know whether that freshly written twenty lines of code is breaking something in production? On a single server it's simple, run tail -f on the log file and create a command chain using grep, awk etc. (Yes I work mostly on GNU/Linux). And believe me, I love my greps, awks, cut-s and tr-s. I am not willing to give up that flexibility for anything. Jazzy UI and all is fine, but you will take away cut from my cold dead hands...

What's Cyclops?

http://en.wikipedia.org/wiki/Cyclops or http://en.wikipedia.org/wiki/Cyclops_(comics), take you pick.

No seriously...

Ok, cyclops is a scalable distributed cousin of tail -f. Nothing more, nothing less. There is no other simpler way to describe cyclops. Specifically, it's not a highly configurable piece of bloatware log aggregation platform that hogs up twenty machines to run.

Features

Well, the first and only major feature of cyclops is it's simple. Let's see how:

  • Simple to deploy. Just run the jar file with proper command line arguments.
  • Simple to post data to. It accepts text/plain and application/json. Push any text using any standard HTTP client or even curl.
  • Simple to scale out. Just deploy more instances on multiple servers. Instances will sniff each other out and form a cluster.
  • Easy to use console with host filter and message filtering with regex.
  • Dead simple python command line client. Just use it like tail -f. Only thing is it will get you data from all 83 of your web-servers.
  • Simple client to monitor and push log data to cyclops servers.

Ok cool .. what next?

Clone this wiki locally