Seite wählen

Jasper Reporting – Host Availability

von | Okt 9, 2009 | Nagios, Development, Serien, Jasper Reporting

Jasper-ReportingBisher haben wir uns lediglich den Konfigurationsdaten und dem aktuellen Status der Systeme gewidmet, aber wirklich spannend ist bei der Erstellung ja der Blick in die Vergangenheit und im Idealfall dann noch der Überblick über einen bestimmten Zeitraum.
Da die Verfügbarkeitsreports innerhalb von Nagios auf Filebasis erfolgen, müssen die Einträge in der Datenbank erst aufbereitet werden, vorausgesetzt man möchte sich nicht selbst darum kümmern.
Um eine Durchschnittsaussage über einen größeren Zeitraum durchzuführen, müssen die einzelnen Statuswechsel und die Zeiträume dazwischen analysiert und summiert werden. Das ganze kann mit Hilfe unseres Packages netMySLA erfolgen, dass genau diese Informationen in einem nächtlichen Batch ermittelt und in entsprechenden Aggregatstabellen speichert. Nach Installation dieses Packages kann unsere Abfrage wie folgt erweitert werden:
[code lang=“sql“]
select c.alias,
a.host_object_id,
a.display_name,
a.address,
e.sla_availability_percent,
e.sla_outage_percent,
e.sla_period_identifier,
d.current_state
from nagios_hosts a,
nagios_hostgroup_members b,
nagios_hostgroups c,
nagios_hoststatus d,
np_aggregate_sla e
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.host_object_id = e.sla_host_objectid
and a.instance_id = 1
and b.instance_id = 1
and c.instance_id = 1
and d.instance_id = 1
and e.sla_service_name is null
and e.sla_period_name = ‚month‘
and e.sla_period_identifier > ‚2009-06-01‘
[/code]
Das Datum ist hier fälschlicherweise fest Codiert und muss in Realität entweder parametrisiert oder via Datums-Parameter gefüllt werden. Mit diesem Statement bekommen wir anschließend sowohl den aktuellen Status als auch den prozentualen Anteil der Verfügbarkeit in dem angegebenen Monatszeitraum.
post12_screen1Da die Darstellung unter Verwendung eines Kuchendiagramms erfolgen soll, ist dieses über die Palette in den Detailbereich des Reports einzufügen.
Die Datenübergabe an das Diagramm erfolgt wie in den vorhergehenden Beispielen mittels Kontextmenü. Wichtig ist, dass das Kuchendiagramm mit zwei Serien bestückt wird.
Serie Availability:
Key expression: „Availability“
Value expression:
[code lang=“java“]
$F{sla_availability_percent}
[/code]
Serie Outage:
Key expression: „Outage“
Value expression:
[code lang=“java“]
$F{sla_outage_percent}
[/code]
post12_screen2Wenn das Diagramm korrekt im Detailbereich platziert worden ist, wird die entsprechende Verfügbarkeit nun pro definiertem Service dargestellt. Um bei der Anzeige mit Ausfallkandidaten zu beginnen, genügt es dem Statement noch ein „order by e.sla_outage_percent“ anzuhängen.
Hier kann der erstellte Beispielbericht wie gewohnt geladen werden. Die Vorlage gibt es bei netways.org und auf unserem Demo-System.
Der nächste Teil der Serie ergänzt das Thema Verfügbarkeit noch mit der Integration des Business Process Addons for Nagios.

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.

2 Kommentare

  1. sorar

    Das Paket heisst netMySLA und nicht netMySQL soweit ich weiss ;-). Super Howto, danke dafür.

    Antworten
  2. Bernd Erk

    Es heisst wirklich netMySLA… Hier der Link:

    Grüsse
    Bernd

    Antworten

Trackbacks/Pingbacks

  1. Weekly snap: From SMSFinder firmware and Jasper to UK & Open Source › NETWAYS Blog - [...] template functionality. After which, he stretched reporting to the past and showed how to generate host availability reports in…

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema Nagios | Development | Serien | Jasper Reporting

Mein PHP-Trainingsprojekt

PHP Schulung Vor kurzem haben wir begonnen, eine neue Programmiersprache zu lernen – PHP. In der ersten Woche haben wir mit den Grundlagen wie Variablen, Arrays, Schleifen begonnen und uns schrittweise zu komplizierterer Syntax wie Funktionen, Objekten und Klassen...

check_prometheus ist jetzt öffentlich verfügbar!

Monitoring ist komplex, das wissen wir hier bei NETWAYS leider zu gut. Deswegen laufen in der Infrastruktur auch mal gerne mehrere Tools für die Überwachung. Zwei gern gesehene Kandidaten sind dabei Icinga und Prometheus. Icinga und Prometheus erfüllen...