The Icinga Reporting is based on the IDOUtils backend and just like the Icinga Core, it will support all major database platforms.
Here we'll give you some instructions on how to install the Icinga Reporting with JasperReports Server.
For more information, please refer to http://sourceforge.net/projects/jasperserver/files/JasperServer/JasperServer%205.0.0/JasperReports-Server-CP-Install-Guide.pdf or http://jasperforge.org/espdocs/espbrowse.php?id=86&type=folder&group_id=112&parent=86
Icinga and IDOUtils
Installed via sources or packages.
![]() |
Note |
---|---|
Starting with Icinga 1.8 there is a database function providing all needed sla-informations. This function needs to be imported into your existing IDOUtils database additional to the Icinga Reporting package. |
MySQL
#> /usr/bin/mysql icinga < icinga-reports-1.10.0/db/icinga/mysql/availability.sql
Please make sure your database user (here icinga@localhost) has the correct GRANT for EXECUTE.
#> /usr/bin/mysql -u root -p <password> icinga mysql> GRANT EXECUTE ON icinga.* TO 'icinga'@'localhost' ; quit
Apache Tomcat
Only if you don't want to use the bundled one from JasperServer
#> apt-get install tomcat6
PostgreSQL
Only if you don't want to use the bundled one from JasperServer. PostgreSQL is required for JasperServer's internal storage.
![]() |
Note |
---|---|
JasperServer changed their backend from MySQL to PostgreSQL in 4.2.1! Source |
JasperReports Server
![]() |
Note |
---|---|
The new JasperReports Server 5.0.0 is only supported starting with Icinga Reporting 1.9. If you want to use an older version of the Icinga Reporting- package, please use at least JasperReports Server 4.5.0. |
Depending on your architecture (uname -a
), fetch the appropriate installer - below is x64
$> wget http://sourceforge.net/projects/jasperserver/files/JasperServer/JasperServer%205.0.0/jasperreports-server-cp-5.0.0-linux-x64-installer.run $> chmod +x jasperreports-server-cp-5.0.0-linux-x64-installer.run $> sudo ./jasperreports-server-cp-5.0.0-linux-x64-installer.run
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.
![]() |
Note |
---|---|
The default installation location will be /opt/jasperreports-server-cp-5.0.0/, so make sure to work on the correct JasperReports Server if you are doing an upgarde! |
Start
#> cd /opt/jasperreports-server-cp-5.0.0/ #> ./ctlscript.sh start
For individual components
#> ./ctlscript.sh postgresql start|stop #> ./ctlscript.sh tomcat start|stop
As from Icinga 1.6 on, the package provides configure and make scripts.
Sources
Download from sourceforge and extract. If you have an issue which might be solved in the developer version then get the latest developer snapshot from git
$> wget https://github.com/Icinga/icinga-reports/releases/download/v1.10.0/icinga-reports-1.10.0.tar.gz \ tar xzf icinga-reports-1.10.0.tar.gz; \ cd icinga-reports-1.10.0
or
$> git clone git://git.icinga.org/icinga-reports.git ; \ cd icinga-reports
If a developer told you to use his/her branch, check that out with
$> git branch localbranch origin/devhead/devbranch $> git checkout localbranch $> git log
Configure
If you did not install the JasperReports Server into the default prefix before, you need to tell configure the location.
$> ./configure --with-jasper-server=/opt/jasperreports-server-cp-5.0.0
Make
Invoke 'make' without params to get a full list of available options.
MySQL Connector
JasperReports Server natively ships with the PostgreSQL Connector, but if you require MySQL, the Icinga Reporting package provides one for install.
#> make install-mysql-connector
Restart the Tomcat server
#> cd /opt/jasperreports-server-cp-5.0.0 #> ./ctlscript.sh stop tomcat #> ./ctlscript.sh start tomcat
Install
JasperReports Server must be running!
#> make install
Restart the Tomcat server
#> cd /opt/jasperreports-server-cp-5.0.0 #> ./ctlscript.sh stop tomcat #> ./ctlscript.sh start tomcat
Open the webinterface, default credentials are jasperadmin:jasperadmin
http://127.0.0.1:8080/jasperserver
IDO
Go to /root/Icinga/datasource
(be sure that Refine contains "changed by anyone").
edit the existing datasource and configure your values. MySQL driver: com.mysql.jdbc.Driver MySQL URL: jdbc:mysql://localhost:3306/icinga
test the configuration and save the connection.
all reports in our package point to this datasource and should be able to run.
Display Errors
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.InternalError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
The tomcat being run as root, trying to access the users x11 display. Allow it for everyone locally.
$> xhost +local:all
Generation Errors
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
It could be Sun AWT trying to connect to X11 classes, but actually it's the PDF generation on a report.
$> sudo apt-get install msttcorefonts $> cd /opt/jasperreports-server-cp-5.0.0 $> sudo sh ctlscript.sh stop $> sudo sh ctlscript.sh start
© 1999-2009 Ethan Galstad, 2009-2017 Icinga Development Team, https://www.icinga.com