A Nagios dashboard with OpsCode Chef integration.
How It Works
Nagios-Dashboard parses the nagios status.dat file & sends the current status to clients via an HTML5 WebSocket.
The dashboard monitors the status.dat file for changes, any modifications trigger client updates (push).
Nagios-Dashboard queries a Chef server or Opscode platform organization for additional host information.
Requirements
- Nagios http://www.nagios.org/
- Ruby (MRI) & RubyGems http://www.ruby-lang.org/en/
- An OpsCode Chef server or platform oranization http://opscode.com/chef/ http://opscode.com/platform/
- Credentials to query Chef, user name & private key http://wiki.opscode.com/display/chef/Authentication
- Two open ports, one for the UI (default is 80, can change with -p), and port 8000 for an HTML5 WebSocket
Install
sudo gem install nagios-dashboard
Run
-> % nagios-dashboard -h Usage: nagios-dashboard (options) -c, --chef SERVER Use a Chef SERVER -d, --datfile FILE Location of Nagios status.dat FILE -k, --key KEY Chef user KEY -l, --logfile FILE Log to a different FILE -o, --organization ORGANIZATION Use a OpsCode platform ORGANIZATION -p, --port PORT Listen on a different PORT -u, --user USER Chef USER name -v, --verbose Output debug messages to screen -h, --help Show this message
Example:
nagios-dashboard -u user -k ~/.chef/platform/user.pem -o chef-organization -d /var/cache/nagios3/status.dat -p 8080 -v