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
|
![]() |
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.
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 :)
© 2009-2012 Icinga Development Team, http://www.icinga.org