Jasper-ReportingDa 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}

post9_screen1Um 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.

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 startet er das wöchentliche Lexware-Backup und investiert 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 seinem Sohn.