Monitoring notification routing + event processing system. For issues with the Flapjack packages, please see https://github.com/flapjack/omnibus-flapjack/
Monitoring notification routing + event processing system. For issues with the Flapjack packages, please see https://github.com/flapjack/omnibus-flapjack/
Flapjack is a flexible monitoring notification routing system that handles:
Flapjack will be immediately useful to you if:
The Quickstart guide will help you get Flapjack up and running in a VM locally using Vagrant and VirtualBox.
Flapjack provides a scalable method for dealing with events representing changes in system state (OK -> WARNING -> CRITICAL transitions) and alerting appropriate people as necessary.
At its core, Flapjack processes events received from external check execution engines, such as Nagios. Nagios provides a 'perfdata' event output channel, which writes to a named pipe. flapjack-nagios-receiver then reads from this named pipe, converts each line to JSON and adds them to the events queue.
Flapjack sits downstream of check execution engines (like Nagios, Sensu, Icinga, or cron), processing events to determine:
Additional check engines can be supported by adding additional receiver processes similar to the nagios receiver.
NB: v2 packages will be ready soon -- for the moment these instructions will not work
Ubuntu Precise 64 (12.04):
Tell apt to trust the Flapjack package signing key:
gpg --keyserver keys.gnupg.net --recv-keys 803709B6
gpg -a --export 803709B6 | sudo apt-key add -Add the Flapjack Debian repository to your Apt sources:
echo "deb http://packages.flapjack.io/deb/v2 precise main" | sudo tee /etc/apt/sources.list.d/flapjack.listInstall the latest Flapjack package:
sudo apt-get update
sudo apt-get install flapjackAlternatively, download the deb and install using sudo dpkg -i
The Flapjack package is an Omnibus package and as such contains most dependencies under /opt/flapjack, including Redis.
Installing the package will start Redis (non standard port) and Flapjack. You should now be able to access the Flapjack Web UI at:
And consume the REST API at:
N.B. The Redis installed by Flapjack runs on a non-standard port (6380), so it doesn't conflict with other Redis instances you may already have installed.
Other OSes:
Currently we only make a package for Ubuntu Precise (amd64). If you feel comfortable getting a ruby environment going on your preferred OS, then you can also just install Flapjack from rubygems.org:
gem install flapjackUsing a tool like rbenv or rvm is recommended to keep your Ruby applications from intefering with one another.
Alternatively, you can add support for your OS of choice to omnibus-flapjack and build a native package. Pull requests welcome, and we'll help you make this happen!
You'll also need Redis >= 2.6.12.
Have a look at the default config file and modify things as required. The package installer copies this to /etc/flapjack/flapjack_config.toml if it doesn't already exist.
# edit the config
sudo vi /etc/flapjack/flapjack_config.toml
# reload the config
sudo /etc/init.d/flapjack reloadUbuntu Precise 64:
After installing the Flapjack package, Redis and Flapjack should be automatically started.
First up, start Redis if it's not already started:
# status:
sudo /etc/init.d/redis-flapjack status
# start:
sudo /etc/init.d/redis-flapjack startOperating Flapjack:
# status:
sudo /etc/init.d/flapjack status
# reload:
sudo /etc/init.d/flapjack reload
# restart:
sudo /etc/init.d/flapjack restart
# stop:
sudo /etc/init.d/flapjack stop
# start:
sudo /etc/init.d/flapjack startPlease see the documentation.
Information on developing more Flapjack components or contributing to core Flapjack development can be found in the Developing section of the docs.
Note that the master branch corresponds to Flapjack 2; maintenance builds for Flapjack 1 are built from the maint/1.x branch.
We have the documentation for this project on a github wiki and also referenced as a submodule at /doc in this project. Run the following commands to populate the local doc/ directory:
git submodule init
git submodule updateIf you make changes to the documentation locally, here's how to publish them:
All of the documentation.
No open issues yet, or sync has not completed.