Icinga

9.5. Installation von Icinga-Reporting mit JasperServer

9.5.1. Offizielle Dokumentation
9.5.2. Voraussetzungen
9.5.3. Icinga Reporting
9.5.4. Konfiguration
9.5.5. Reports
9.5.6. Fehler

Icinga-Reporting basiert auf dem IDOUtils-Backend und unterstützt, genau wie der Icinga-Core, alle großen Datenbankplattformen.

Hier geben wir Ihnen einige Hinweise, wie Sie das Icinga-Reporting mit JasperServer installieren.

9.5.1. Offizielle Dokumentation

Mehr Information finden Sie unter http://sourceforge.net/projects/jasperserver/files/JasperServer/JasperServer%204.2.1/JasperReports-Server-CP-Install-Guide.pdf oder http://jasperforge.org/espdocs/espbrowse.php?id=86&type=folder&group_id=112&parent=86

9.5.2. Voraussetzungen

  • Apache Tomcat

    Nur falls Sie nicht den mit JasperServer gebündelten Tomcat benutzen möchten.

     #> apt-get install tomcat6
  • PostgreSQL

    Nur falls Sie nicht das mit JasperServer gebündelte PostgreSQL benutzen möchten. PostgreSQL ist für JasperServers interne Speicherung erforderlich.

    [Anmerkung] Anmerkung

    JasperServer haben ihr Backend in Version 4.2.1 von MySQL nach PostgreSQL geändert! Source

  • JasperServer

    Abhängig von Ihrer Architektur (uname -a) holen Sie sich den entsprechenden Installer - hier im Beispiel 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
    • stimmen Sie der Lizenz zu

    • wählen Sie "bundled tomcat"

    • wählen Sie "bundled postgresql"

      • wählen Sie eine anderen PostgreSQL-Port, wie z.B. 5443, um nicht mit existierenden Einstellungen zu kollidieren

    • installieren Sie die Beispiel-Reports und "ireports"

    Der Installer wird automatisch die benötigte Datenbank und das Schema anlegen und die Beispiele installieren.

    Start

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

    Für einzelne Komponenten

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

9.5.3. Icinga Reporting

Beginnend mit Icinga 1.6 liefert das Paket configure- und make-Scripte.

  • Sourcen

    Laden Sie das Paket von sourceforge herunter und entpacken es. Falls Sie ein Problem haben, das ggf. in der Entwickerversion gelöst ist, dann holen Sie sich den aktuellen Entwickler-Snapshot aus 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

    oder

     $> git clone git://git.icinga.org/icinga-reports.git ; \
        cd icinga-reports

    Falls ein Entwickler Sie gebeten hat, ihren/seinen Branch zu benutzen, dann benutzen Sie

     $> git branch localbranch origin/devhead/devbranch
     $> git checkout localbranch
     $> git log
  • Konfigurieren

    Falls Sie den JasperServer vorher nicht mit dem Default-Präfix installiert haben, dann müssen Sie configure den Standort mitteilen.

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

    Rufen Sie 'make' ohne Parameter auf, um eine komplette Liste der verfügbaren Optionen zu erhalten.

    • MySQL Connector

      JasperServer wird mit dem PostgreSQL-Connector ausgeliefert, aber wenn Sie MySQL benötigen, dann bietet das Icinga-Reporting-Paket eins zur Installation an.

       #> make install-mysql-connector

      Starten Sie den Tomcat-Server neu

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

       #> make install

      Starten Sie den Tomcat-Server neu

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

9.5.4. Konfiguration

Öffnen Sie das Web-Interface, Standardwerte sind jasperadmin:jasperadmin

http://127.0.0.1:8080/jasperserver

  • IDO

    Gehen Sie nach /root/Icinga/datasource (stellen Sie sicher, dass Refine den Wert "changed by anyone" enthält).

    • editieren Sie die vorhandene "datasource" und stellen Sie Ihre Werte ein.

    • testen Sie die Konfiguration und speichern Sie die Verbindung.

    • alle Reports in unserem Paket zeigen auf diese "datasource" und sollten lauffähig sein.

9.5.5. Reports

Überprüfen Sie, dass die Reports verfügbar und lauffähig sind.

Abbildung 9.1. Icinga reporting

Icinga reporting

9.5.6. Fehler

  • Anzeigefehler

     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.

    Der Tomcat läuft als root und versucht, auf das X11-Display des Benutzers zuzugreifen. Erlauben Sie es für jeden lokalen Benutzer.

     $> xhost +local:all
  • Generierungsfehler

     org.springframework.web.util.NestedServletException: Handler processing failed;
     nested exception is java.lang.NoClassDefFoundError:
     Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser

    Es könnte Sun AWT sein, das versucht, auf X11-Klassen zuzugreifen, aber tatsächlich ist es die PDF-Generierung für einen Report.

     $> sudo apt-get install msttcorefonts
     $> cd /opt/jasperreports-server-cp-4.2.1
     $> sudo sh ctlscript.sh stop
     $> sudo sh ctlscript.sh start