Icinga

9.5. Installation of the Icinga-Reporting with JasperServer

9.5.1. Introduction
9.5.2. Official Docs
9.5.3. Requirements
9.5.4. Icinga Reporting
9.5.5. Configuration
9.5.6. Reports
9.5.7. Errors

9.5.1. Introduction

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.

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

9.5.3. 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] 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

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

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

9.5.6. Reports

Verify that the reports are available and working.

Figure 9.1. Icinga reporting

Icinga reporting

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