Installation des Icinga-Reporting-Pakets mit JasperServer
Zurück | Kapitel 9. Integration mit anderer Software | Weiter

## Installation des Icinga-Reporting-Pakets mit JasperServer

Das Icinga-Reporting-Paket basiert auf einem IDOUtils-Backend und dem Icinga-Core.

Dies ist eine Kurzanleitung zur Installation des Icinga-Reporting mit dem JasperServer.

Voraussetzungen

Der Icinga-Core und die IDOUtils sind installiert und konfiguriert. Das Icinga-Reporting benötigt außerdem ein System mit installiertem JasperServer, sowie einen Tomcat-Server.

| Anmerkung
Wenn Sie Icinga noch nicht installiert haben, folgen Sie bitte den Anweisungen in der "quickstart-idoutils"-Dokumentation.

Installation des JasperServers

Sie können das JasperServer-Installations-Binary verwenden, oder Sie nutzen das spezifische WAR-Archiv, um die Software auf einem bereits existierenden Server bereitzustellen.

- Installation über das Binary

  Nutzen Sie den JasperServer-ce-linux-installer, angeboten über: Sourceforge mit bereits enthaltener MySQL-Database und Tomcat-Server. Die Ausführung des Binarys leitet Sie durch den Installationsprozess.

- Installation des WAR-Archives

  Sie können das JasperServer-CE WAR in einen bestehenden Tomcat6-Server integrieren und Ihre bereits angelegte Icinga-Datenbank benutzen. Hier wird die WAR-Installation in einen Tomcat6- Server beschreiben. Die offizielle JasperServer-Installationsanleitung finden Sie hier.

Installation von Tomcat

Fedora/RHEL/CentOS/openSuSE/SLES

     #> yum install tomcat6

Debian/Ubuntu

     #> apt-get install tomcat6

Installation des JasperServer CE in Ihren Tomcat Server

- Download von jasperserver-ce-x.x.x-bin.zip von Sourceforge/Jasper

- Folgen Sie der Installationsdokumentation veröffentlicht auf Sourceforge/Jasper (JasperServer-CE-Install-Guide.pdf)

Nach erfolgreicher JasperServer-Installation können Sie das Interface erreichen über: http://<IhrHost>:8080/jasperserver. Melden Sie sich an mit jasperadmin/jasperadmin. Bitte ändern Sie das Passwort so schnell wie möglich.

Falls Sie irgendwelche Fehler erhalten, konsultieren Sie bitte den JasperServer Troubleshooting Guide

Download der Templates

- Download des Icinga-Reporting-Pakets von Sourceforge/Icinga

- Oder Benutzen des GIT: Sie können alle Templates und die aktuellen Servlet-Implementationen herunterladen von: git://git.icinga.org/icinga-reports.git/.

  Laden Sie Ihren Klone von icinga-reports.git

       #> git clone git://git.icinga.org/icinga-reports.git

- Oder Download der Software von https://git.icinga.org/index?p=icinga-reports.git;a=snapshot;h=refs/heads/master;sf=tgz.

Installation des Icinga-Reporting-Pakets

Entpacken Sie die heruntergeladene Datei und kopieren Sie diese in Ihr JasperServer-Verzeichnis.

     #> tar xzvf icinga-reports-xxx.tar.gz
     #> cp icinga-reports-<version>/jasperreports/package/icinga-reports.zip /opt/jasperserver/scripts/
     #> cd /opt/jasperserver/scripts/

Für das Importieren des gesamten Reporting-Pakets benötigen Sie nur ein Kommando:

     #> ./js-import.sh --input-zip icinga-reports.zip

Möchten Sie ein existierendes Repository updaten, benutzen Sie bitte folgendes Kommando:

     #> ./js-import.sh --input-zip icinga-reports.zip --update

Das Icinga- Repository können Sie exportieren mit:

     #> ./js-export.sh --uris /Icinga --output-zip icinga-reports.zip

| Anmerkung
Falls das Import-Skript fehlschlägt, überprüfen Sie bitte Ihre Angaben zu Benutzer und Passwort in `jasperserver.xml`. Sie können den Benutzer und das Passwort ändern in der Datei <jasperserver-ce-dir>/scripts/config/js.jdbc.properties.

| Anmerkung
Der export-/import-Prozess ist detailliert beschrieben in Kapitel 5.12 des JasperServer CE-Install-Guide

Installieren der JAVA-Klassen für die SLA-Reports

Das automatische Generieren von monatlichen, wöchentlichen und jährlichen Reports setzt die automatische Datumsberechnung für den jeweiligen Bericht voraus. Um dieses Feature nutzen zu können, müssen Sie das icinga-reporting.jar- Archiv ( zu finden unter `icinga-reports/ReportClasses/`) in das lib-Verzeichnis Ihres Jasperservers installieren (kopieren). Dies sollte unter dem WEB-INF-Verzeichnis Ihrer Installation zu finden sein, z.B. `/opt/jasperserver-ce-3.7.1/apache-tomcat/webapps/jasperserver/WEB-INF/lib`. Bitte starten Sie nach der Installation Ihren Jasperserver neu!

Konfigurieren des Quartzscheduler

Die Verteilung der Reports erfolgt über den Quartzscheduler. Um die Absenderadresse und Ihre lokalen Gateways zu konfigurieren, editieren Sie bitte:

<tomcat_home>`/webapps/jasperserver/WEB-INF/js.quartz.properties` und starten Sie Ihren Tomcat neu.

     service tomcat6 restart or /etc/init.d/tomcat restart

Konfigurieren der Datenbankverbindung

Einloggen auf http://localhost:8080/jasperserver mit jasperadmin/jasperadmin.

Nach erfolgreicher Paketinstallation finden Sie die Datasource hier:

`/root/Icinga/datasource` (stellen Sie sicher, dass Refine "changed by anyone" eingestellt ist).

- Editieren Sie die existierende Datasource und geben Sie Ihre Verbindungsparameter ein.

- Testen Sie die Konfiguration und speichern Sie die Verbindung.

- Alle Reporte in unserem Paket verwenden diese Datasource und sollten nun ausführbar sein.

| Anmerkung
Denken Sie daran das Suchfeld zu ändern und setzen Sie die vier "Dropdowns" auf die folgenden Werte, um Ihre Datenquelle zu finden:

- "Changed by anyone" (wie bereits oben erwähnt)

- "All"

- "Any time"

- "Any schedule"

Wenn Sie nun den Suche-Button betätigen, sollten Sie die Datenquellen sehen.

Unterschiedliche Tabellen-Präfix

Falls Sie Ihren Tabellen-Präfix während der Installation geändert haben, können Sie den existierenden Präfix mit folgendem Skript ersetzen:

     grep -l -r " icinga_" .  | xargs sed -i.BAK -e 's/ icinga_/ /g'
     grep -l -r "icinga_" . | xargs sed -i.BAK -e 's/^icinga_//g'
     find . -iname "*BAK" -exec rm -f {} \;

Known Bugs: Wenn Sie in Ihrem PDF-Export keine Graphen-Beschriftungen sehen, wechseln Sie von OpenJDK zu SUNJava.

Abbildung 9.1. Icinga-Reporting in Icinga-Web | Abbildung 9.2. Icinga-Reporting TOP10 in Icinga-Web

Integration in Icinga-Web

Voraussetzungen

- icinga-core

- MySQL lauffähig

- ido2db-Modul konfiguriert und in die Datenbank schreibend

- Icinga-Web installiert

- Jasper-Server installiert und lauffähig

- icinga-reporting Paket auf dem Jasper-Server installiert

Installation

Der Reporting-Cronk ist voll in Icinga-Web integriert, so dass Sie nichts zusätzlich installieren müssen.

Konfiguration

Abhängig von Ihrer aktuellen Umgebung müssen Sie den Cronk konfigurieren, um den Jasper-Server-Standort und die Benutzerinformationen zu setzen. Die Konfiguration erfolgt im Reporting-Modul:

     $ cd app/modules/Reporting/config/
     $ ls autoload.xml config_handlers.xml module.xml routing.xml
     $ vi module.xml

     <!-- Jasper configurations -->
     <setting name="jasperconfig.default">
        <ae:parameter name="jasper_url">http://10.121.0.95:8080/jasperserver</ae:parameter>
        <ae:parameter name="jasper_user">jasperadmin</ae:parameter>
        <ae:parameter name="jasper_pass">jasperadmin</ae:parameter>
        <ae:parameter name="tree_root">/Icinga/reports</ae:parameter>
     </setting>
     <!-- Custom config if I have more that one -->
     <!--
     <setting name="jasperconfig.custom1">
        <ae:parameter name="jasper_url">http://127.0.0.175/jasperserver</ae:parameter>
        <ae:parameter name="jasper_user">custom_user</ae:parameter>
        <ae:parameter name="jasper_pass">custom_passwd</ae:parameter>
     </setting>
     -->

Bitte passen Sie jasperconfig.default an Ihre Umgebung an und ändern Sie die Werte von jasper_url, jasper_user und jasper_pass.

Sie können mehr als einen Jasper-Server integrieren. Der Konfigurationsname wird später in den Reporting-Cronk inkludiert. Bitte wählen Sie einen eindeutigen Namen für jede Konfiguration.

Die XML-Konfiguration ist 'prefixed'. Der volle Name für 'jasperconfig.default' lautet modules.reporting.jasperconfig.default. Der lange Name ist die richtige Einstellung für die Nutzung in der Cronks-Konfiguration.

Der Default `/Icinga/reports` ist der Pfad für das Icinga-Reporting-Paket, aber Sie können jeden mit Jasper konfigurierten Report mit Hilfe des Cronks ausführen. Wenn Sie mehrere Benutzer für unterschiedliche Lokationen einrichten möchten, dann müssen Sie mehrere Cronks mit groups_only-Berechtigungen anlegen.

Cronk-Konfiguration

Die Jasper-Konfiguration ist erledigt. Sie benötigen nun einen Cronk, dem Sie mitteilen müssen, welche Konfiguration Sie benutzen möchten. Gehen Sie zu Ihrer Cronk-Konfiguration (`cronks.xml`) und fügen Sie einen neuen Cronk ähnlich dem Folgenden hinzu:

| Anmerkung
Bedingt durch Konfigurationsänderungen zwischen 1.4 und 1.5 gibt es verschiedene Stellen für die Cronk-Einstellungen. Bitte werfen Sie einen Blick in die anderen Dokumente, wo das zu tun ist

     <cronk name="IcingaReportingDefault">
        <ae:parameter name="module">Reporting</ae:parameter>
        <ae:parameter name="action">Cronk.Main</ae:parameter>
        <ae:parameter name="hide">false</ae:parameter>
        <ae:parameter name="description">Seamless Jasper Integration</ae:parameter>
        <ae:parameter name="name">Reporting</ae:parameter>
        <ae:parameter name="categories">reporting</ae:parameter>
        <ae:parameter name="image">cronks.Weather Could Sun</ae:parameter>
        <ae:parameter name="ae:parameter">
           <ae:parameter name="jasperconfig">modules.reporting.jasperconfig.default</ae:parameter>
           <ae:parameter name="enable_onthefly">1</ae:parameter>
           <ae:parameter name="enable_repository">1</ae:parameter>
           <ae:parameter name="enable_scheduling">1</ae:parameter>
        </ae:parameter>
     </cronk>

Haben Sie den Konfigurations-String bemerkt? Dies ist die Zeichenkette, die Sie in `module.xml` im vorigen Abschnitt eingestellt haben.

Sie können außerdem noch einige Modi für diesen Cronk aktivieren:

- `enable_onthefly` Der "Reports-im-Fluge-erzeugen" Modus. Er erlaubt Ihnen, Ihre Reports im icinga-web zu erzeugen, Voransichten anzusehen, etc ...

- `enable_repository` Eine Repository-Sicht. Wenn Sie geplante Reports habe, die die Ausgaben im Jasper-Server Virtual-Directory erzeugen. Sie können Jasper-Ressourcen herunterladen und eine Vorschau auf Inhalte werden.

Wir geben Ihnen einige Beispiel-Reports an die Hand, ändern Sie diese gern auf Ihre Bedürfnisse :)

Zurück | Nach oben | Weiter
MKLiveStatus-Integration | Zum Anfang | Kapitel 10. weitere Software

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