Seite wählen

NETWAYS Blog

Jasper Reporting im Technical Review

jasper_reporting
Vor einigen Tagen ist im Linux Technical Review ein Artikel zum Thema Jasper Reporting von mir erschienen. In dem Artikel geht es um den allgemeinen Aufbau des Reporting-Frameworks, sowie Tipps & Tricks rund um iReport und Auswahl der verwendeten Daten. Ich freu mich, dass es nach langer Zeit mal wieder geklappt hat einen Artikel zu vervollständigen und arbeite schon am nächsten.
Alle Interessierten sei die Online-Ausgabe des Technical Review als Quelle für detailreiche Berichte und Artikel wärmstens empfohlen.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

Jasper Reporting – Zusammenfassung

Jasper-ReportingIn den letzten Wochen habe ich mich an dieser Stelle ausführlich mit Jasper-Report beschäftigt. Da wir Jasper stark zunehmend in unseren Kundenprojekten einsetzen auch im Bereich Managed Service  darauf zurückgreifen, lag die Serie sehr nah und ich hoffe soweit die wichtigsten Kernaspekte getroffen zu haben.
Hier nochmals die verschiedenen Posts zum Thema im Überblick:

An dieser Stelle Danke für das positive Feedback und dem starken Interesse an der Serie und dem Thema Reporting. Hier sei auch nochmals auf die NETWAYS Reports auf netways.org hingewiesen. Sollten Fragen offen geblieben sein, so freue ich mich über Kommentare oder Gespräche auf der Open Source Monitoring Conference nächste Woche.
Alle Beispielreports befinden sich auch auf dem Demo-System und können dort gegen unser Nagios-Demo-System gestartet werden.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

Jasper Reporting – Distribution

Jasper-ReportingDer vorerst letzte Teil unserer Jasper Serie widmet sich der automatischen Erzeugung und Versendung von Berichten mit Hilfe des JasperServers.  Die Konfiguration des Schedulers erfolgt über das Webinterface und erlaubt neben der Speicherung von bestimmten Reportparametern auch die Speicherung der versendeten Berichte auf dem Server.
Reports auf Basis von beweglichen Daten, wie in unserem Beispiel die NDO, sollten ergänzend zur Versendung besser gespeichert werden, da der entsprechende Bericht ja nicht wiederherstellbar ist!
Bevor die erzeugten Berichte versendet werden können, muss noch die SMTP-Konfiguration des integrierten Quartz-Schedulers erfolgen. Hierfür werden SMTP-Server und ggf. User und Passwort in der Datei js.quartz.properties angepasst. Die Datei befindet sich im Verzeichnis /apache-tomcat/webapps/jasperserver.
Ein Beispiel:
[code lang=“java“]
report.scheduler.mail.sender.host=localhost
report.scheduler.mail.sender.username=
report.scheduler.mail.sender.password=
report.scheduler.mail.sender.from=jasper@netways.org
report.scheduler.mail.sender.protocol=smtp
report.scheduler.mail.sender.port=25
[/code]
Nach Neustart des Servers sind die Einstellungen aktiv und mögliche Probleme sind im Logfile des Tomcat-Servers (/apache-tomcat/logs) zu sehen.
post14_screen1Das Webinterface ermöglicht über die entsprechende Schaltfläche die Anlage von Jobs, nachdem ein entsprechender Report ausgewählt wurde.
Im ersten Übersichtsfenster erfolgt die Einstellung der Ausführungszeit und bei Aktivierung der „Calendar Recurrence“-Box wird eine Vielzahl von weiteren Optionen zur zeitgesteuerten Ausführung angezeigt.
post14_screen2post14_screen3Verfügt der gewählte Report über Parameter, so können die entsprechenden Einstellungen im nächsten Übersichtsfenster gesetzt werden. So kann ein Bericht unter Anlage verschiedener Jobs und Definition der Parameter für verschiedene Kunden erstellt und personalisiert zugestellt werden.
post14_screen4Der Bereich Output dient der Vorauswahl der erzeugten Formate und ggf. Lokation für verschiedene Sprachen sowie Angebe des Server-Ordners der zur Speicherung der Berichte verwendet werden soll. Ergänzend kann hier noch der Emailtext für den Empfänger eingegeben werden.
post14_screen5Sobald die Einstellungen gespeichert worden sind, zeigt ein kleines Uhrensymbol neben dem Bericht den entsprechenden Job an. Bevor der Bericht automatisiert an den Kunden versendet wird, empfiehlt sich eine Testphase auf ein eigenes Mailkonto und manueller Weiterleitung der Reports. Gerade am Anfang können Kleinigkeiten für einen unschönen Seitumbruch oder eine Fehlselektion der Daten verantwortlich sein.
Im nächsten Blog-Post werde ich die vergangenen Artikel nochmals zusammenfassen und ggf. auf Frage eingehen, die uns bis dahin erreicht haben und in den Kommentaren unbeantwortet geblieben sind.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

Jasper Reporting – Business Process Reporting

Jasper-ReportingUnterschiedliche Nutzer haben unterschiedliche Anforderungen an ein Überwachungssystem und damit auch an die Reports: Während für die Gruppe der Administratoren oder Applikationsbetreuer bereits der Ausfall eines redundanten Netzteils relevant sein kann, ist dies für den Nutzer eines Services ohne Bedeutung – zumindest solange der Dienst weiterläuft.
post13_screen1Komplexer wird die Aufgabenstellung, wenn mehrere Server und Komponenten an dem Gesamtprozess beteiligt sind und nur das korrekte Zusammenspiel, aber vielleicht auch nur der Ausfall mehrerer Komponenten einen Einfluss auf die Serviceverfügbarkeit hat. Hier stellt sich dem Betreuer der System Management Lösung die Aufgabenstellung, entsprechende Prozessdefinitionen einzuholen oder gar selbst zu definieren und diese in eine technische Lösung umzusetzen. Ohne Definition eines Services kann kein Geschäftsprozessmonitoring und somit auch ein nachgelagertes Reporting erfolgen!
Zur Umsetzung dieser Definitionen kann für Nagios oder Icinga das Business Process Addon verwendet werden. Es aggregiert die Zustände verschiedener Host & Services und verknüpft deren Zustand nach definierbaren Regeln. So auch kann auch in komplexen Systemen die Verfügbarkeit eines Services überwacht werden. Da die ermittelten Gesamtwerte wieder als Services eines virtuellen Hosts in die Datenbank gespeichert werden können, lassen sich sich dann auch wieder im Rahmen von Reports auswerten.
Auf unserem Demo-System schränken wir hierfür die Auswahl auf die Service-Objekte des Business Process Hosts ein.
[code lang=“sql“]
select a.service_object_id,
a.display_name,
c.sla_created,
c.sla_availability_percent,
c.sla_outage_percent,
c.sla_period_identifier,
b.current_state
from nagios_services a,
nagios_servicestatus b,
np_aggregate_sla c,
nagios_hosts d
where a.service_object_id = b.service_object_id
and a.service_object_id = c.sla_service_objectid
and a.host_object_id = d.host_object_id
and a.instance_id = 1
and b.instance_id = 1
and c.sla_period_name = ‚month‘
and c.sla_period_identifier > ‚2009-01-01‘
and c.sla_period_identifier < ‚2009-03-01‘
and d.display_name = ‚business_processes‘
[/code]
Nach Update des Reports auf dem Server, werden die Verfügbarkeiten der Geschäftsprozesse angezeigt und können mit zusätzlichen Filtern für Start- und Endedatum sowie der gewünschten Auswertungsperiode versehen auch in komplexeren Berichten weiterverarbeitet werden.
Hier kann der erstellte Report eingesehen oder die Vorlage bei netways.org heruntergeladen werden.
Der nächste und letzte Teil dieser Serie widmet sich der automatischen Erstellung und Versendung von Reports mit Hilfe des JasperServers.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

Weekly snap: From SMSFinder firmware and Jasper to UK & Open Source

weekly snapOct 5-9 took us across to the UK, deep into reporting and briefly on hardware.
Martin tipped off a new Multitech SMSFinder firmware, which offers load balancing for up to 4 Finders in a network, and multi-user interface for up to 20 simultaneous users.
Bernd then rolled on with his Jasper Reporting series and taught us how to define dynamic parameters for interactive reports and template functionality. After which, he stretched reporting to the past and showed how to generate host availability reports in Jasper with percentage availability for specified time periods in a neat pie chart.
On the open source UK thread, Julian celebrated the London Stock Exchange’s switch to Linux and Solaris for their .NET based trade platform, while we joined the Open Source Consortium in support of open fellows over there. Hopefully more news from that way will hit the blog in the future, so look out.