Installation of the Icinga-Reporting with JasperServer
Prev | Chapter 9. Integration With Other Software | Next

## Installation of the Icinga-Reporting with JasperServer

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 JasperServer.

Official Docs

For more information, please refer to http://sourceforge.net/projects/jasperserver/files/JasperServer/JasperServer%204.2.1/JasperReports-Server-CP-Install-Guide.pdf or http://jasperforge.org/espdocs/espbrowse.php?id=86&type=folder&group_id=112&parent=86

Requirements

- 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

- JasperServer

  Depending on your architecture (`uname -a`), fetch the appropriate installer - below is x64

       $> wget http://sourceforge.net/projects/jasperserver/files/JasperServer/JasperServer%204.2.1/jasperreports-server-cp-4.2.1-linux-x64-installer.run

       $> chmod +x jasperreports-server-cp-4.2.1-linux-x64-installer.run
       $> sudo ./jasperreports-server-cp-4.2.1-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.

  Start

       #> cd /opt/jasperreports-server-cp-4.2.1/
       #> ./ctlscript.sh start

  For individual components

       #> ./ctlscript.sh postgresql start|stop
       #> ./ctlscript.sh tomcat start|stop

Icinga Reporting

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 http://sourceforge.net/projects/icinga/files/icinga-reporting/1.6.0/icinga-reports-1.6.0.tar.gz; \
          tar xzf icinga-reports-1.6.0.tar.gz; \
          cd icinga-reports-1.6.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 JasperServer into the default prefix before, you need to tell configure the location.

       $> ./configure --with-jasper-server=/opt/jasperreports-server-cp-4.2.1

- Make

  Invoke 'make' without params to get a full list of available options.

  - MySQL Connector

    JasperServer 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-4.2.1
         #> ./ctlscript.sh stop tomcat
         #> ./ctlscript.sh start tomcat

  - Install

         #> make install

    Restart the Tomcat server

         #> cd /opt/jasperreports-server-cp-4.2.1
         #> ./ctlscript.sh stop tomcat
         #> ./ctlscript.sh start tomcat

Configuration

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.

  - test the configuration and save the connection.

  - all reports in our package point to this datasource and should be able to run.

Reports

Verify that the reports are available and working.

Figure 9.1. Icinga reporting

Errors

- 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-4.2.1
       $> sudo sh ctlscript.sh stop
       $> sudo sh ctlscript.sh start

Prev | Up | Next
MKLiveStatus Integration | Home | Chapter 10. Additional software

© 2009-2012 Icinga Development Team, http://www.icinga.org