Web Interfaces

Nagex

Description:

Nagex is a Nagios intranet dashboard project driven by event handlers which feeds data to a MySQL database. The PHP script pulls the data for your internal/external company users to view infrastructure status information without giving them access to the CGI interface. This project can be easily integrated inside of your existing intranet using a PHP include or iframe for a custom look and feel since it does not have navigation or links. It utilizes the $HOSTALIAS$ so users do not see internal server names. If you want to display information about every host/service checked by Nagios, simply define the event_handler in your host and service templates instead of individual host and service definitions.

Current Version

1.0

Last Release Date

2012-06-06

Compatible With

  • Nagios 2.x
  • Nagios 3.x

License

GPL


Project Files
Project Photos
Project Notes
Nagex was my November 2011 project and is a modified version of the project called Nagdash. GNU General Public License - Version 3, 29 June 2007 http://www.gnu.org The prerequisites are a Linux box running MySQL, PHP, Nagios and a web server like Apache (LAMP). The only downside to Nagex is the fact that it relies on Nagios host and service state changes before it writes values to the MySQL database since it does not pull information directly from the CGI's. In order for data to populate, the event_handler needs to be executed which means hosts/services need to change states into soft or hard. A quick and easy way is to disconnect the network connection on your Nagios box and wait 15 minutes or whatever interval you have your host/service checks configured. If you can't do this because you're working in a production environment, then you can pre-populate the database by manually inserting data into the tables. My event handler shell script will update the data if it already exists instead of inserting new entries. Here is a great MySQL reference site: http://www.pantz.org/software/mysql/mysqlcommands.html Untar the project tar -xzvf nagex.tar.gz Create a web-accessible directory mkdir /var/www/nagex Directory placement Put nagex.php and images folder in /var/www/nagex Create the database mysql -u root -ppassword mysql> create database nagex; Create the database user mysql> use mysql; mysql> grant all privileges on nagex.* to nagex@'localhost' identified by 'secret'; mysql> flush privileges; mysql> exit Import the SQL schema dump mysql -u root -ppassword nagex < nagex_structure.sql Copy the event handlers mkdir /usr/local/nagios/libexec/eventhandlers cp ~/nagex/update-nagex /usr/local/nagios/libexec/eventhandlers/ cp ~/nagex/update-nagex-host /usr/local/nagios/libexec/eventhandlers/ Set permissions chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers chmod 755 /usr/local/nagios/libexec/eventhandlers/* Add commands into commands.cfg define command{ command_name update-nagex command_line /usr/local/nagios/libexec/eventhandlers/update-nagex $HOSTNAME$ "$HOSTALIAS$" "$SERVICEDISPLAYNAME$" $SERVICESTATE$ "$LONGDATETIME$" } # 'update-nagex-host' host update command deinition define command{ command_name update-nagex-host command_line /usr/local/nagios/libexec/eventhandlers/update-nagex-host $HOSTNAME$ "$HOSTALIAS$" $HOSTSTATE$ "$LONGDATETIME$" } Update service/host definitions with event_handler define service{ host_name somehost check_command check_nrpe!CheckServiceState -a service service_description Some Service max_check_attempts 4 event_handler update-nagex } define host{ use windows-server host_name EXCH1 alias Exchange Server address 100.10.111.222 event_handler update-nagex-host } Modify nagex.php Line 18, enter the password you've use to create the mysql user. $DBpassword = "secret"; Test out the web front end http://yourhost/nagex/nagex.php Having problems? Contact me or leave a comment and i'll do my best to help you Thanks, Travis
Reviews (1) Add a Review
Worth every penny
by JohnMatrix, June 30, 2012

I didn't think this would come out until Nagios Platinum edition :p thnx this worked great on my company intranet.



Add a Review

You must be logged in to submit a review.

Thank you for your review!

Your review has been submitted and is pending approval.

Recommend

To:


From:


Thank you for your recommendation!

Your recommendation has been sent.

Project Stats
Rating
5 (2)
Favorites
0
Views
84,869