Ninja is a modern web GUI for Naemon. Here is what it can look like:
- Dashboard for new users:
- An Availability report:
- Object listing, a.k.a. list view:
- A single object's properties:
Ninja requires the following system software to be installed:
- php 5.3+
- php-mysql
- php-cli 5.3+
- MySQL 5+
- wkhtmltopdf (optional, used for PDF reports)
It also requires the following software:
- Naemon 1.0.4+ (needs to run on the same server) https://github.com/naemon/naemon-core
- Merlin https://github.com/op5/merlin
- The Naemon project's fork of Livestatus https://github.com/naemon/naemon-livestatus
Ninja is a web application mainly written in php so in short words the installation goes something like this:
-
Download a release tarball from https://github.com/op5/ninja/releases, or by checking out the project via git.
-
Put Ninja and all of its files so that they are accessible from a webserver. Make sure that all Ninja requirements are installed, and that both the Merlin and the Livestatus broker modules are loaded by Naemon.
-
Within the Ninja directory, type
make
andmake install
. -
Copy the Ninja dir to a suitable location. Will vary between installations.
cp -a ninja /var/www/html/
Ninja sadly mixes its static assets and PHP files (patches are welcome), so copying everything into the webroot is the common choice; rewriting a lot of paths is another choice. If you successfully get away with the second approach, email us (email address is mentioned later on) and we will buy you a beer.
-
Configure your webserver. We provide an example config file for apache located at op5build/ninja.httpd-conf. The example below works for CentOS and RedHat.
cp ninja/op5build/ninja.httpd-conf /etc/httpd/conf.d/ninja-httpd.conf vim /etc/httpd/conf.d/ninja-httpd.conf service httpd restart
-
Configure Ninja.
Edit the database connection settings in ninja/application/config/database.php and the path to the livestatus socket in /etc/op5/livestatus.yml There are more configuration files located in ninja/application/config/ but you should normally not require to edit them, the same goes for ninja/index.php which contains config regarding error reporting and general paths to Ninja's files.
If you want to use Ninja over http instead of https you should copy ninja/application/config/cookie.php to ninja/application/config/custom/ and change
$config['secure'] = true;
tofalse
. -
Setup the db tables required for Ninja by executing
ninja/install_scripts/ninja_db_init.sh
-
Configure /etc/op5/*.yml files; livestatus.yml should point to your livestatus socket. Look at the other files so they match your system.
-
Point your browser to https://yourip/ninja and try your installation.
Congratulations! You now (hopefully) have a working Ninja installation
All form of communication is welcomed at op5's mailinglist, op5-users@lists.op5.com. A subscription is needed in order to post, see http://lists.op5.com/mailman/listinfo/op5-users.
Check out https://www.op5.org for more info about Ninja.