Skip to content
Ninja is Now Just Awesome - a modern web GUI for Naemon
Branch: master
Clone or download
Latest commit 794aa85 Jul 3, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
application
cli-helpers Remove the CLI user import Feb 11, 2011
docs readme: Move docs/README to README Jun 1, 2016
etc migrate_auth.php: service_view_all grants traps_view_all Oct 24, 2016
features Bugfix/mon 11672 direct kb links in monitor gui broken since confluen… May 27, 2019
install_scripts ninja:Existing scheduled reports broken in 7.4.10. Jan 8, 2019
modules Apply recurring downtimes on Sundays (#81) Jun 11, 2019
op5build ninja: Add logrotate funtionality Jul 3, 2019
screenshots readme: Add screenshots to showcase Ninja Oct 19, 2016
sql/mysql ninja:Existing scheduled reports broken in 7.4.10. Jan 8, 2019
src/op5 Ninja : Edit User Menu only save the last group edited Mar 6, 2019
system Make it possible to render nested about data Feb 23, 2017
test Apply recurring downtimes on Sundays (#81) Jun 11, 2019
.gitignore Revert "Merge pull request #272 in MONITOR/ninja from feature/MON-102… Apr 18, 2018
CONTRIBUTING.md DOC: Add contributing guidelines Dec 4, 2018
Kohana_License.html
Makefile
README.md readme: Add screenshots to showcase Ninja Oct 19, 2016
autoloader.php Remove unnecessary logic from autoloaders locate function Mar 9, 2016
build.php Keep a list of all classes for autoload Jul 4, 2016
example.htaccess
index.php don't write errors to stdout, they will be logged by httpd anyway Apr 11, 2017
ninja.doxy Remove old documentation residing in xdoc Jul 19, 2016

README.md

Ninja - Ninja is Now Just Awesome

Ninja is a modern web GUI for Naemon. Here is what it can look like:

  • Dashboard for new users: Dashboard for new users
  • An Availability report: An Availability report
  • Object listing, a.k.a. list view: Object listing, a.k.a. list view
  • A single object's properties: A single object's properties

Requirements

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:

Installation

Ninja is a web application mainly written in php so in short words the installation goes something like this:

  1. Download a release tarball from https://github.com/op5/ninja/releases, or by checking out the project via git.

  2. 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.

  3. Within the Ninja directory, type make and make install.

  4. 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.

  5. 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
    
  6. 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; to false.

  7. Setup the db tables required for Ninja by executing

    ninja/install_scripts/ninja_db_init.sh

  8. Configure /etc/op5/*.yml files; livestatus.yml should point to your livestatus socket. Look at the other files so they match your system.

  9. Point your browser to https://yourip/ninja and try your installation.

Congratulations! You now (hopefully) have a working Ninja installation

Questions, feedback, patches

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.

You can’t perform that action at this time.