- Jasper Reporting – Dynamische Parameter
- Jasper Reporting – Eine Einführung
- Jasper Reporting – Host Availability
- Jasper Reporting – Die Installation
- Jasper Reporting – iReport
- Jasper Reporting – Business Process Reporting
- Jasper Reporting – Upload des Reports
- Jasper Reporting – Distribution
- Jasper Reporting – Design Tips
- Jasper Reporting – Zusammenfassung
- Jasper Reporting – Parameter
- Jasper Reporting – Gruppierung von Daten
- Jasper Reporting – Diagramme hinzufügen
- Jasper Reporting – Statusanzeige
- Jasper Reporting – Inhalte verlinken
Da wir uns bisher auf die reine Verarbeitung von Bestandsdaten konzentriert haben, soll dieser Post den Datenumfang etwas erweitern und auch den aktuellen Host-Status der selektierten Objekte ermitteln. Bei Versendung eines solchen mit Hilfe des Schedulers (dazu später mehr) ist darauf zu achten, den versendeten Report auch zu speichern, da eine Reproduktion in der Praxis kaum möglich ist.
Wir beginnen wieder mit der Erweiterung unserer SQL-Abfrage um den aktuellen Hoststatus zu ermitteln.
select c.alias,
a.host_object_id,
a.display_name,
a.address,
d.current_state
from nagios_hosts a,
nagios_hostgroup_members b,
nagios_hostgroups c,
nagios_hoststatus d
where a.host_object_id = b.host_object_id
and b.hostgroup_id = c.hostgroup_id
and a.host_object_id = d.host_object_id
and a.instance_id = 1
and b.instance_id = 1
and c.instance_id = 1
and d.instance_id = 1
and display_name like $P{p_hostgroup}
Um den Status ähnlich einer Ampel anzuzeigen positionieren wir zwei Rectangle-Objekte aus der Palette in den Detail-Bereich und versehen eines mit roter und das andere mit grüner Vorder- und Hintergrundfarbe.
Zur besseren Bearbeitung empfiehlt es sich, die beiden Objekte erst nebeneinander und erfolgter Parametrisierung hintereinander zu positionieren. Um die Anzeige abhängig vom aktuellen Hoststatus zu machen, setzen wir analog zur farbigen Hinterlegung der Datenzeilen auf die “Print When Expression”, welche wie nachfolgend beschrieben für beide Objekte gesetzt werden muss.
Für den Roten:
new Boolean( $F{current_state}.intValue() == 1 )
Für den Grünen:
new Boolean( $F{current_state}.intValue() == 0 )
Somit wird entweder der Rote oder Grüne Rectangle angezeigt.
Hier kann wie immer der entsprechende Report heruntergeladen werden und er steht natürlich auf netways.org und unserem Demo-System zur Verfügung.
Im nächsten Post versehen wir die vorhandenen Diagramme mit Links zum Nagios-System.









Ok! Alles verstanden! Besten Dank für die Erklärungen!