Flapjack is a scalable and distributed monitoring system. It natively talks the Nagios plugin format, and can easily be scaled from 1 server to 1000.
Flapjack tries to adhere to the following tenets:
- it should be simple to set up, configure, and maintain
- it should easily scale from a single host to multiple
You can check out a demo of the admin interface.
Flapjack is currently under heavy development. Please have a
play, but be aware there will be
bugs!
Slides from Devopsdays 2009 presentation introducing Flapjack:
Installing
You'll want to read the detailed install instructions. They list the required dependencies, and cover installing on Ubuntu Hardy & by hand.
Once you have all the dependencies set up, installation is simply:
$ sudo gem sources -a http://gemcutter.com/ $ sudo gem install flapjack $ sudo install-flapjack-systemwide
Native packages for Debian/Ubuntu, Red Hat/CentOS, and OpenBSD are in the works. If you'd like to contribute packages for other systems, please check out the packaging guide!
Architecture
Flapjack consists of several components that do one thing and do it well:
-
flapjack-workerexecutes the checks and reports back results. -
flapjack-notifiernotifies people if the check results are bad. -
flapjack-adminlets you configure checks through a web interface. -
beanstalkdis a work queue used to distribute checks and results. -
CouchDBis a document-oriented database that checks and events are stored in.
Each component is loosely coupled, which makes swapping out one part of the system for another very easy. Flapjack uses well defined and tested APIs between the components to guarantee consistency.
This also makes it very easy to extend Flapjack by writing custom admin interfaces or check persistence backends.
Find out more about Flapjack's architecture.
Administering
Grab the
flapjack-admin
web interface to start configuring checks, then use the
flapjack-populator
included with
flapjack-admin
to start running the checks:
$ cd path/to/flapjack-admin $ bin/flapjack-populator
Getting help
Check out the wiki for extended documentation on installing, using, packaging, and developing Flapjack.
If you think you've found a bug, please report it on the bug tracker.
Who's reponsibile?
Flapjack is written by Lindsay Holmwood.
Logo derived from Pancake by Brandon Martin-Anderson, and is CC Attribution-Share Alike 2.0 Generic licenced.
Friends of Flapjack
- collectd, the lightweight statistics collection daemon.
- Visage, a web interface for viewing collectd statistics.
- cucumber-nagios, lets you describe how a website should work in plain text, and outputs whether it does in the Nagios plugin format.
- Puppet, configuration management & automated infrastructure.