Overview ¶
Statusengine comes with a brand new responsive web frontend so you can take a look at your monitoring environment with every device you like.
The interface supports external commands like schedule a downtime or submit a passive check result.
Visit demo
You want to see the power of Stautsengine's Interface? Click here to jump into the demo
Try the Vagrant box
You are not sure if Statusengine's Interface fits your needs? Install your own playground in less than 10 minutes!
Install on your system
You want to use Statusengine's Interface? Click here to read the installation guide.
Features ¶
- Modern and responsive Web Frontend for Naemon and Nagios 4
- Made for Smartphones and Tablets
- Support for long host and service output
- Works with your current monitoring environment
- Backend based on PHP, JavaScript (jQuery) and MySQL
- Less configuration due to Statusengine is able to process performance data
- Less parsing! You like to query the interface? Extend the URL with
.json
or.xml
- Multiple themes for the web interface
External commands
Easy communication with monitoring core due to the inbuilt external command interface
History
With the history views for each host and service debugging your environment is very comfortable. You can search and sort any list or export it as json and xml.
Configuration changes
Made temporary configuration changes for Notifications, Active/Passive checks, Flap detection and Event handler. Click on Enabled or Disabled to change.
Themes ¶
Statusengine interface comes with two responsive themes:
By default the Interface is powered by a bootstrap theme called "AdminLTE".
If you like it more minimalistic you can use the "classic" UI:
Want to create your own theme? No problem.
You don't need to touch PHP or JavaScript files. Take a look at the CakePHP documentation about creating themes
Requirements ¶
- Working installation of Naemon or Nagios 4
- MySQL root access
- PHP >= 5.4
- Ubuntu 14.04 (or any other Debian based OS)
Notice:
Please check your files /etc/php5/apache2/php.ini and /etc/php5/cli/php.ini if your timezone settings are correct, like in this example:
date.timezone = "Europe/Berlin"
How to setup? (Ubuntu 14.04)¶
Notice:
This guide is made for Ubuntu 14.04!
Click here if you are on Ubuntu 16.04
-
Install dependencies
apt-get install mysql-server apache2 libapache2-mod-php5 gearman-job-server libgearman-dev gearman-tools uuid-dev php5-gearman php5-cli php5-dev libjson-c-dev manpages-dev build-essential rrdtool php5-rrd php5-mysqlnd php5-gd unzip
-
Download Statusengine
Download and unzip/untar the latest version of Statusengine. -
Execute basic installation
cd statusengine-x.x.x/ chmod +x install.sh ./install.sh
-
Create MySQL databases
Naemon:mysql -u root -p < sql/naemon.sql
mysql -u root -p < sql/nagios.sql
mysql -u root -p < sql/statusengine.sql
-
Set your MySQL username and passwort in /opt/statusengine/cakephp/app/Config/database.php
Naemon:
<?php
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '123',
'database' => 'statusengine',
'prefix' => '',
'encoding' => 'utf8',
);
public $legacy = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '123',
'database' => 'naemon', //Change database from nagios to naemon!
'prefix' => 'naemon_', //Change prefix from nagios_ to naemon_!
'encoding' => 'utf8', //Set charset to UTF-8
);
<?php
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '123',
'database' => 'statusengine',
'prefix' => '',
'encoding' => 'utf8',
);
public $legacy = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '123',
'database' => 'nagios',
'prefix' => 'nagios_',
'encoding' => 'utf8', //Set charset to UTF-8
); -
Create database tables
yes | /opt/statusengine/cakephp/app/Console/cake schema update --plugin Legacy --file legacy_schema_innodb.php --connection legacy
-
Enable Apache2 configuration
cp apache2/sites-available/* /etc/apache2/sites-available/ a2enmod rewrite a2ensite statusengine service apache2 restart
-
Enable Statusengine's perfdata processor in /opt/statusengine/cakephp/app/Config/Statusengine.php
If you don't want to use Statusengine to process your performance data (maybe you are using an other solution), you can skip this step!<?php
//If you want, Statusengine's servicestatus workers are able to
//process performacne data for you and save them to RRD files
//so you don't need to install any additional software to
//get the job done.
'process_perfdata' => true, //Change this value from false to true!mkdir -p /var/lib/pnp4nagios/perfdata
-
Set the right path to naemonstats or nagiostats in /opt/statusengine/cakephp/app/Config/Interface.php
Example:<?php
// Path to naemonstats binary
'naemonstats' => '/opt/naemon/bin/naemonstats', -
Fix your naemon.cfg or nagios.cfg
Naemon:naemon_group=www-data
nagios_group=www-data
#Naemon: broker_module=/opt/statusengine/statusengine-naemon.o #Nagios: broker_module=/opt/statusengine/statusengine-nagios.o
process_performance_data=0
-
Enable database clenup cronjob
cp etc/cron.d/statusengine /etc/cron.d/statusengine
Notice:
Statusengine will delete status entries older X seconds out of your database.
You can modify this values in /opt/statusengine/cakephp/app/Config/Cronjob.php
-
Finalize your setup
update-rc.d statusengine defaults chown www-data:www-data /opt/statusengine/cakephp/app/tmp -R service statusengine start service naemon restart
-
Navigate to http://xxx.xxx.xxx.xxx/statusengine with your favorite browser
Username: admin
Password: admin
Optional steps ¶
These steps are not required. But if you want you can extend the power of Statusengine Web Interface...
-
Install pnp4nagios
apt-get install -y pnp4nagios --no-install-recommends
-
Enable Apache2 configuration for pnp4nagios
a2ensite pnp4nagios.conf service apache2 restart
How to setup? (Ubuntu 16.04)¶
Notice:
This guide is made for Ubuntu 16.04!
Click here if you are on Ubuntu 14.04
-
Install dependencies
apt-get install mysql-server apache2 libapache2-mod-php gearman-job-server libgearman-dev gearman-tools uuid-dev php-cli php-dev libjson-c-dev manpages-dev build-essential rrdtool php-rrd php-mysqlnd php-gd unzip
-
Download Statusengine
Download and unzip/untar the latest version of Statusengine.
First Version with Ubuntu 16.04 and PHP7 support is Statusengine 2. -
Execute basic installation
cd statusengine-x.x.x/ chmod +x install.sh ./install.sh
-
Create MySQL databases
Naemon:mysql -u root -p < sql/naemon.sql
mysql -u root -p < sql/nagios.sql
mysql -u root -p < sql/statusengine.sql
-
Set your MySQL username and passwort in /opt/statusengine/cakephp/app/Config/database.php
Naemon:
<?php
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '123',
'database' => 'statusengine',
'prefix' => '',
'encoding' => 'utf8',
);
public $legacy = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '123',
'database' => 'naemon', //Change database from nagios to naemon!
'prefix' => 'naemon_', //Change prefix from nagios_ to naemon_!
'encoding' => 'utf8', //Set charset to UTF-8
);
<?php
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '123',
'database' => 'statusengine',
'prefix' => '',
'encoding' => 'utf8',
);
public $legacy = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '123',
'database' => 'nagios',
'prefix' => 'nagios_',
'encoding' => 'utf8', //Set charset to UTF-8
); -
Create database tables
yes | /opt/statusengine/cakephp/app/Console/cake schema update --plugin Legacy --file legacy_schema_innodb.php --connection legacy
-
Enable Apache2 configuration
cp apache2/sites-available/* /etc/apache2/sites-available/ a2enmod rewrite a2ensite statusengine systemctl restart apache2
-
Enable Statusengine's perfdata processor in /opt/statusengine/cakephp/app/Config/Statusengine.php
If you don't want to use Statusengine to process your performance data (maybe you are using an other solution), you can skip this step!<?php
//If you want, Statusengine's servicestatus workers are able to
//process performacne data for you and save them to RRD files
//so you don't need to install any additional software to
//get the job done.
'process_perfdata' => true, //Change this value from false to true!mkdir -p /var/lib/pnp4nagios/perfdata
-
Set the right path to naemonstats or nagiostats in /opt/statusengine/cakephp/app/Config/Interface.php
Example:<?php
// Path to naemonstats binary
'naemonstats' => '/opt/naemon/bin/naemonstats', -
Fix your naemon.cfg or nagios.cfg
Naemon:naemon_group=www-data
nagios_group=www-data
#Naemon: broker_module=/opt/statusengine/statusengine-naemon.o #Nagios: broker_module=/opt/statusengine/statusengine-nagios.o
process_performance_data=0
-
Enable database clenup cronjob
cp etc/cron.d/statusengine /etc/cron.d/statusengine
Notice:
Statusengine will delete status entries older X seconds out of your database.
You can modify this values in /opt/statusengine/cakephp/app/Config/Cronjob.php
-
Finalize your setup
systemctl enable statusengine.service chown www-data:www-data /opt/statusengine/cakephp/app/tmp -R systemctl start statusengine systemctl restart cron /etc/init.d/naemon restart
-
Navigate to http://xxx.xxx.xxx.xxx/statusengine with your favorite browser
Username: admin
Password: admin
Try the Vagrant Box ¶
You are not sure if Statusenigne is the right Web Interface for you? Or you just need a sandbox to play around?
Vagrant is an Open Source Software to deploy virtual machines.
Vagrant doesn't require any manual configuration! Everything is defined in a file called "Vagrantfile". Just download this file and run your own instance of Statusenigne.
Install VirtualBox and Vagrant on your system
and download the Vagrantfile.
If you are using Ubuntu it's pretty easy:
sudo apt-get install vagrant virtualbox
mkdir statusengine-demo
cd statusengine-demo/
wget http://statusengine.org/oldstable/Vagrantfile
vagrant up
If the virtual machine is ready you will see a welcome message with instructions how to continue.
You don't need to configure or install something. Everything work out of the box!
Open Source ¶
Statusengine is a project I develop in my spare time. Everything is Open Source and you are welcomed to join development
Nagios, NDOUtils and the Nagios logo are trademarks, servicemarks, registered trademarks or registered servicemarks owned by Nagios Enterprises, LLC. All other trademarks, servicemarks, registered trademarks, and registered servicemarks are the property of their respective owner(s).
All other trademarks are property of their respective owners. Other product or company names mentioned may be trademarks or trade names of their respective owner.