- Official Docs
- Icinga Reporting
- Integrate Graphs like PNP4Nagios or inGraph
- Icinga Web Integration
For more information, please refer to the
Installed via source or packages, the database backend will be used.
Import the function into your existing IDOUtils database.
Icinga Reporting 1.9 restructured the files a bit, so choose
as well as make sure your db user has the correct GRANT for EXECUTE.
Only if you don't want to use the bundled one from JasperServer
Only if you don't want to use the bundled one from JasperServer. Postgresql is required for JasperServer's internal storage. You may change that back to MySQL using the provided MySQL connector and following JasperServer documentation.
Depending on your architecture (uname -a), fetch the appropriate installer - below is x64
- Agree to license
- select bundled tomcat
- select bundled postgresql
- select a different postgresql port, like 5433 not to interfere with existing setups
- install sample reports and ireports
The installer will automatically create the needed database, create the schema and install samples.
For individual components
As from Icinga 1.6 on, the package provides configure and make scripts.
Either download from sourceforge and extract, or get the latest developer snapshot from git. ( Note: Versions will differ depending on releases)
If a developer told you to use his/her branch, check that out with
If you did not install the JasperServer into the default prefix before, you need to tell configure the location.
Invoke 'make' without params to get a full list of available options.
JasperServer natively ships with the Postgresql Connector, but if you require Mysql, the Icinga Reporting package provides one for install.
Restart the Tomcat server
or as update
Restart the Tomcat server
Open the webinterface, default credentials are jasperadmin:jasperadmin
Go to /root/Icinga/datasource (be sure that Refine contains "changed by anyone").
- edit the existing datasource and configure your values.
- if needed, change the database driver plus the type, server, port, name of the database.
- For MySQL:
- For Postgresql ( not fully working queries)
- For MySQL:
- test the configuration and save the connection.
- all reports in our package point to this datasource and should be able to run.
Verify the reports available and working.
Integrate Graphs like PNP4Nagios or inGraph
You can use the existing template activityWithGraphInGivenTime.jrxml to integrate performance-graphs during reporting generation. Please set the correct graph url instead of pnp-server-url-with-path.
Icinga Web Integration
This has been written in its very own guide, as it was target to change in the past. Please read on here.
You can set the log levels via the GUI too, but they are only valid fuer the current session (and I haven't found any log window). To enable that globally, edit this file in your jasperserver install dir (i.e./opt/jasperreports-server-cp-5.0.0/), and then restart the tomcat server.
There's the problem with a lot of internal and external dependencies, so you'd have to decide yourself what needs to be started for your jasperserver to be ready. The easiest way to accomplish that without an initscript will be to run a little script from rc.local which will be the last script to be run on startup.
If you see something like that, you should rather run make update instead. Or you'll remove the entire resources, and start over.
You must actually log into your Jasperreports Webinterface, and manually delete all duplicated items (or the entire icinga resources, like shown below).
The tomcat being run as root, trying to access the users x11 display. Allow it for everyone locally.
It could be Sun AWT trying to connect to X11 classes, but actually it's the PDF generation on a report.
Headless AWT Java
The Sun AWT classes on Unix and Linux have a dependence on the X Window System. When you use these classes, they expect to load X client libraries and be able to talk to an X display server. This makes sense if your client has a GUI; unfortunately, it's required even if your client uses AWT but does not have a GUI (which is my case, generating a report from a web application)
The way to bypass this, is setting a system property
java.awt.headless=trueon system startup.
This is the case when the newly introduced stored procedure in Icinga Reporting 1.8 cannot be executed by the db user, due to missing GRANT on EXECUTE.
Check & fix like
Restart your Jasperserver afterwards (seems to have a steady connection open which does not recognize the permissions change...)