Reporting in Nagios Centreon
1. Centreon Reports
2. Nagios Reports
3. Posible Improvements
4. Othe tools Links
It has a very nice web interface, but In my opnion Centreon lacks a lot in Reporting, it can be improved in many many ways.
Right now it lets you choose a Host/HostGroup/ServiceGroup and Period Selection: Yestarday/This Week/Last 7 days/This Month/Last 30 days/Last Month…
Then it lets you custom select from what day untill what day, but
It gets data from log_archive_path=/usr/local/nagios/var/archives/ (check your nagios.cfg).
By default it rotates every day, the files look like these:
 SERVICE ALERT: SJ136;Memoria Virtual;WARNING;SOFT;1;Disk WARNING – Virtual Memory  SERVICE ALERT: SJ219;Conexion-HTTPS-OWA;OK;SOFT;2;HTTP OK HTTP/1.1 200 OK – 9082  SERVICE ALERT: SJ136;Memoria Virtual;WARNING;SOFT;2;Disk WARNING – Virtual Memory …
Really cool to play with the custom reports here:
Notice that these page will not allow hour/minute but you can play with the query like:
The nagios-reporter.v131.pl (bellow) is a great script that builds upon these URL parses the result and send an email.
Also the nagios reports could be Improved very much.
3. Posible Improvements
Centreon Posible Improvement 1:
First of it would be to add Hour/Minute to the selection.
Nowhere you can choose hours or minutes, or predifined Top 10, like nagios.
I tried to change the source /usr/local/centreon/www/main.php and
/usr/local/centreon/www/include/reporting/dashboard/DB-Func.php but I found out the problem is in the DB where the date information is stored in Unix time, in Centstorage date_end / date_start. Value like: 1222725600 1222639200
The big problem is, those values do not contain hour/minute information, only days!
Centreon/Nagios Posible Improvement 2:
Allows sorting in web the reports by most Down/UP, Critical/OK etc…
Centreon Posible Improvement 3:
The export to excel puts the date in UNIX format or something because they come really strange.
Nagios has no option to export.
Centreon/Nagios Posible Improvement 4:
Export directly to PDF
Centreon/Nagios Posible Improvement 5:
Allow to auto send reports preconfigured, probably a lot of work but would be really cool.
I actualy have this setup with a perl script that uses Nagios reports from web and parses and sends an email.
Here is my post about it.
Centreon Posible Improvement 6:
In distributed architetures, the reports behaves funny. I get no data under Service.
I tried both for local and remote poolers.
These can be a big problem for large setups, because the nagios reports would only see the checks
its doing on its own server. So you would have to query each server for a certain Host.
Nagios Posible Improvement 7:
Why have only these Limited Report Type, now we have:
25 Most Recent hard Alerts / 25 Most Recent hard hosts Alerts / Top 25 Most Hard Service Alerts etc…
anyways its cool because from the previous mentioned URL we can customize much.
But it seems just a metter of developing a better web GUI for it.
5.Other Tools Links
NXE Nagios XML Engine
“NXE will report the status of one or more Nagios systems as XML, it will allow you to transform the status XML using XSLT stylesheets to the format of your choice and NXE will process and create Nagios external commands on your behalf allowing you to control operations of your Nagios system via standard XML interfaces.”
I have not personaly tested it but I believe it was developed for Nagios 2, not sure if it would work with Nagios 3.
A french group that developed this nice real time appliaction that works with Nagios, I tried really hard
to make it work with Nagios 3, no luck. I tried contaction the developers, but it looks like they have abandon
the project. This tool is also included in FAN (Fully Automated Nagios). Website is in french only.
A script from asanabria6910 at nagiosexchange.org
It covers the need to send a daily reports of every host that has been down since midnight?
Its written in python and I have not tested.
Perl script can request an overnight, daily, weekly or monthly report from the Nagios server using the standard CGIs, It fetches Nagios report from web, processes HTML/CSS and emails to someone.
I tested it is what I have been using, really nice script! I even customized for the time period I needed.
It was the best solution, I even put it in cron so I get a report every week for the top 10 services that have the most critical alerts from 8 to 20h.
Thanks to Rob Moss, for these great script.
Note:This script requires Perl 5 and Bundle::LWP Net::SMTP Date::Manip Getopt::Long
I wrote a modified version of these script and it can be download here