Checkmk
to checkmk.com

1. Einleitung

Die wichtigste Aufgabe der Benutzeroberfläche von Checkmk ist das Anzeigen des aktuellen Status von Hosts und Services. Dies geschieht größtenteils in tabellarischen Ansichten, welche in der englischen Oberfläche mit Views bezeichnet werden. Damit das tägliche Arbeiten mit Checkmk so effizient wie möglich abläuft, bieten diese Tabellenansichten zahlreiche nützliche Funktionen und Sie können sie an Ihre Anforderungen anpassen.

Wir unterscheiden zwischen globalen Views und solchen, die einen Kontext benötigen. Globale Views können immer direkt aufgerufen werden. Ein Beispiel ist die Liste aller aktuellen Service-Probleme. Einen Kontext benötigt z.B. die Ansicht Status of Host …​  —  nämlich die Angabe desjenigen Hosts, dessen Status angezeigt werden soll. Solche Views können nur in Situationen aufgerufen werden, in denen es um einen bestimmten Host geht.

Die globalen Ansichten erreichen Sie am einfachsten über die Seitenleistenelemente Tactical Overview und Views. In der Tactical Overview ist jede der Zahlen anklickbar und bringt Sie zu einer globalen Ansicht, die die jeweils gezählten Hosts oder Services einzeln auflistet.

tactical overview

Im Views-Element sind alle globalen Ansichten erreichbar  —  gruppiert nach Thema. Zudem finden Sie einige Einträge, die eigentlich keine Views sind  — wie z.B. die Dashboards, welche unter dem Thema Overview einsortiert sind. Dashboards können aber Views enthalten.

snapin views

Von einer globalen Ansicht aus gelangen Sie zu den Einzelheiten eines bestimmten Hosts oder Services in einem weiteren Schritt. Zum einen sind die Namen von Hosts und Services und auch andere Spalten in den einzelnen Zellen anklickbar und bringen Sie zu Detailansichten:

views all hosts

Zum anderen finden Sie in Ansichten, die einen bestimmten Host oder Service betreffen, oben eine Reihe von Knöpfen, die Sie mit context button dots aufklappen können. Diese Knöpfe zeigen dann weitere Ansichten mit dem gleichen Kontext  —  also vom gleichen Host oder Service.

views context buttons

Ein weiterer Weg zu Detailansichten ist die Schnellsuche in der Seitenleiste:

snapin quicksearch

Zu welcher Ansicht Sie damit gelangen, hängt vom Ergebnis der Suche ab. Wenn die Suche einen Host eindeutig ermittelt, dann gelangen Sie direkt zur Seite Services of host …​ dieses Hosts. Dort finden Sie dann wieder die Knöpfe zu den anderen Ansichten des gleichen Hosts. Ein Klick auf den Namen des Hosts bringt Sie beispielsweise zur Ansicht Status of host.

views services of host

2. Ansichten verwenden

2.1. Optionen, Filter und Kommandos

Jede Ansicht hat links oben sechs Symbole, mit denen Sie die Darstellung beeinflussen und Aktionen auslösen können:

icon filter

Öffnet den Dialog mit den Filtern. Damit können Sie die gezeigten Daten weiter einschränken. Sobald Sie einen Filter gesetzt haben, ändert sich das Symbol auf button filters set lo, damit klar ist, dass unter Umständen nicht alle Daten angezeigt werden. Umgekehrt haben manche Views schon Filter vorbelegt (z.B. die Liste alle Problem). Hier können Sie durch Entfernen der Filter auch mehr Daten anzeigen lassen. Änderungen der Filter werden nicht gespeichert, sondern wieder zurückgesetzt, sobald Sie die Ansicht verlassen.

view button options

Öffnet die Anzeigeoptionen, mit denen Sie z.B. das Format von Zeitangaben (relativ oder absolut) einstellen können. Welche Optionen Ihnen angeboten werden, hängt von den jeweils in der Ansicht angezeigten Information ab.

icon commands

Hier können Sie Kommandos auf den gezeigten Objekten ausführen (z.B. Eintragen von Wartungszeiten). Die Kommandos sind detailliert in einem eigenen Artikel beschrieben.

icon checkbox

Damit schalten Sie Checkboxen ein oder aus. Mit den Checkboxen können Sie die Kommandos auf ausgewählte Datensätze einschränken.

view button columns

Dieses Rädchen können Sie durch Klicken oder mit dem Mausrad drehen. Es legt die Anzahl der Spalten für die gewählte Ansicht fest. Mehrspaltige Ansichten helfen, auf breiten Monitoren den verfügbaren Platz auszunutzen. Bei Ansichten, die nur einen Datensatz anzeigen, ist diese Einstellung wirkungslos.

view button refresh

Dieses Rädchen legt fest, in welchem Intervall die Ansicht neu geladen wird. Sie können damit das automatische Neuladen auch ganz abschalten. Bitte beachten Sie, dass es in diesem Fall sein kann, dass Sie über ein inzwischen aufgetretenes Problem nicht informiert werden!

2.2. Zeit- und Datumsangaben

Checkmk zeigt in seinen Statusansichten alle Zeitangaben, die weniger als 24 Stunden in der Vergangenheit oder Zukunft liegen, als relative Angaben  — also z.B. 16 hrs. Sie können das auf absolute Zeitangaben umstellen, indem Sie die view button options Anzeigeoption Time stamp format auf Absolute stellen.

2.3. Sortierung

Die tabellarischen Ansichten können Sie durch ein Klicken auf die Spaltenüberschriften sortieren. Dabei gibt es drei Zustände einer Spalte, die durch mehrfaches Klicken im Kreis herum der Reihe nach ausgewählt werden:

  • Aufsteigend sortieren

  • Absteigend sortieren

  • Nicht mehr nach dieser Spalte sortieren

Zunächst wird eine Ansicht immer auf eine natürliche Art sortiert, die in der Ansicht selbst festgelegt ist. Bei den Servicelisten ist die Sortierung immer alphabetisch nach dem Namen des Services  —  mit der Ausnahme, dass die Check_MK-Services immer oben stehen. Neben dem Service Check_MK, der für die Abfrage des Monitoring-Agenten zuständig ist, sind das noch Check_MK Discovery und Check_MK HW/SW Inventory. Um eine solche Liste nach dem aktuellen Status der Services zu sortieren genügt ein Klick auf STATE.

views sort by state

Die Sortierung nach der Spalte Perf-O-Meter führt manchmal zu überraschenden Ergebnissen. Das liegt daran, dass die grafische Darstellung der Messwerte teilweise eine prozentuale Zusammenfassung der eigentlichen Werte zeigt. Die Sortierung geschieht aber nach den absoluten Werten  — und zwar immer nach der ersten Metrik, die ein Service ausgibt.

2.4. Export

Sie können die in einer Ansicht gezeigten Daten in verschiedenen Formaten exportieren:

FormatVorgehen

PDF

Nur Enterprise Editions: Den Knopf für den PDF-Export button export as pdf finden Sie am Kopf der Ansicht  —  evtl. versteckt unter context button dots. Hierbei wird ein sogenannter Instant-Report erzeugt. Das ist quasi ein auf die Schnelle erzeugter Bericht mit nur einem Element. Das Aussehen können Sie über spezielle Schablonen im Berichtsmodul anpassen.

CSV

Das Symbol button download csv zum CSV-Export finden Sie ganz unten am Fuß der Seite. Als Trennzeichen wird ein Semicolon verwendet. Die einzelnen Zellen sind in Anführungszeichen eingeschlossen. In der ersten Zeile sind die internen Kürzel für die einzelnen Spalten eingetragen. Manche der Spalten können nicht sinnvoll in CSV umgewandelt werden. Ein Beispiel dafür sind die Icons. Diese Spalten sind in der CSV-Datei trotzdem enthalten aber leer.

JSON

Weil ein JSON-Export in der Regel für automatische Skripten benutzt wird, gibt es dafür kein Symbol. Sie erhalten den Export durch ein Hinzufügen von &output_format=json an die URL der Ansicht. Sie können das einfach ausprobieren, indem Sie zunächst das Frameset mit der Seitenleiste verlassen und nur den Frame mit der Ansicht anzeigen. Das geht z.B. über das Symbol button frameurl am Ende der Seite. Dann können Sie im Browser die URL ergänzen.

JSONP

JSONP ist fast das Gleiche wie JSON, aber syntaktisch wird der Aufruf einer Javascript-Prozedur realisiert. Geben Sie dazu als Format jsonp an sowie den Namen der JSON-Prozedur in der Variable jsonp. Beispiel: …​&output_format=jsonp&jsonp=myfunc.

Python

Der Export als Python-Datenstruktur geschieht analog zu JSON, wobei Sie als Format output_format=python angeben. Dies ist besonders praktisch, wenn Sie die Daten direkt in einem Python-Skript weiterverarbeiten möchten.

2.5. Das Anzeigelimit

Bei einer größeren Monitoringumgebung sind nicht mehr alle Ansichten sinnvoll. Wenn Sie 50.000 Services überwachen und die Ansicht All Services anwählen, würde die Darstellung nicht nur sehr lange brauchen  —  sie wäre auch wenig nützlich.

Um den Benutzer in solchen Situationen vor langen Wartezeiten zu schützen und das System nicht durch absurde Datenmengen in die Knie zu zwingen, sind Ansichten auf die Anzeige von 1000 Einträgen begrenzt. Bei einer Überschreitung erhalten Sie folgenden Hinweis:

views limit1

Wie Sie sehen, werden Sie darauf hingewiesen, dass die gezeigten Datensätze nicht unbedingt die ersten 1000 gemäß der gewählten Sortierung sind! Das hat einen technischen Hintergrund: Die Limitierung wird nämlich bereits an der Quelle der Daten durchgesetzt: in den Monitoringkernen der angebundenen Instanzen. Das ist sehr wichtig: Denn wenn wir erst eine Million Datensätze aus Ihrer weltweit verteilten Umgebung zusammensammeln würden, um gleich danach 99,9% der Daten wieder wegzuwerfen, dann wäre das Kind ja schon in den Brunnen gefallen. Die Sortierung übernimmt erst am Ende die Oberfläche  —  es geschieht also nach der Limitierung. Denn die Daten von allen Instanzen müssen ja gemeinsam sortiert werden.

Sofern Sie wirklich der Meinung sind, mehr als 1000 Datensätze sehen zu wollen, können Sie durch einen Klick auf Repeat query and allow more results ins nächste Level kommen. Hier greift eine Begrenzung auf 5000 Datensätze. Ist diese wieder überschritten, so können Sie ganz ohne Limit fortfahren. Da dies eine gefährliche Operation sein kann, benötigt sie Administratorrechte. Sie wurden gewarnt!

views limit2

Sie können die beiden Stufen unter WATO > Glboal Settings unter User interface anpassen:

views limit3

3. Ansichten anpassen

3.1. Grundsätzliches

Checkmk erlaubt Ihnen, die mitgelieferten Ansichten anzupassen und sogar ganz Neue zu erzeugen, welche Sie dann auch in Berichte und Dashboards einbauen können. Dabei können Sie bei jeder Ansicht eine Menge verschiedener Aspekte bestimmen:

  • Allgemeine Dinge wie Titel, Thema, usw.

  • Welche Datenquelle wird dargestellt (z.B., Hosts, Services, Events der Event Console, etc.)?

  • Welche Auswahl an Datensätzen wird dargestellt (Filterung)?

  • Welche Spalten werden dargestellt?

  • Zu welchen anderen Ansichten verlinken die Texte in den Spalten?

  • Wie wird standardmäßig sortiert?

  • Gibt es eine Gruppierung, und falls ja, wie sieht diese aus?

  • Wo und für welche Benutzer soll die Ansicht sichtbar sein?

  • Welche Art von Tabellenlayout soll verwendet werden?

Den Editiermodus für Views erreichen Sie auf zwei Arten:

  1. Bei einer bestehenden View über den Knopf context button edit view (welcher evtl. hinter context button dots versteckt ist).

  2. Im Seitenleistenelement Views über den Knopf button view snapin edit. Dort können Sie mit context button new ganz neue Ansichten erzeugen oder mit button clone bestehende anpassen:

views edit views

3.2. Erst klonen, dann verändern

Da die mitgelieferten Ansichten Teil der Software sind und somit nicht verändert werden können, kennt Checkmk das Konzept vom Klonen. Beim ersten Anpassen einer View (egal ob mit context button edit view oder über die Liste) wird automatisch eine Kopie der Ansicht für Sie erzeugt. Diese Kopie ist dabei Ihrem Benutzerprofil zugeordnet.

Die Kopie können Sie dann so anpassen, wie Sie es möchten. Die urpsrüngliche Ansicht bleibt erhalten, wird aber verschattet  —  also durch Ihre Kopie verdeckt. Sie können später einfach zur Standardansicht zurückkehren, indem Sie Ihren Klon löschen (das geht dann in Tabelle der Views wie erwartet mit icon delete).

Dieses Konzept hat noch einen weiteren Vorteil: Sie können nämlich bestimmen, ob die Ansicht für alle Benutzer geändert sein soll, oder nur für Sie selbst. Dies legen Sie in den General Properties der Ansicht mit der Checkbox Make this view available for all users fest. Es überrascht wohl nicht, dass Sie diese Checkbox nur dann setzen können, wenn Sie Administratorrechte haben (genau genommen gibt es dafür eine eigene Berechtigung mit dem Namen Publish views). Zusätzlich können einzelne Ansichten in den Rollendefinitionen gesperrt werden.

Was ist nun, wenn eine Ansicht von mehreren Benutzern angepasst und freigegeben wurde? Jeder der Benutzer hat dann nämlich eine eigene Variante der View. Welche davon wird für wen sichtbar? Dies wird durch folgende Regeln bestimmt:

  1. Wenn ein Benutzer für sich selbst eine Ansicht erzeugt hat, hat diese für ihn immer Vorrang.

  2. Danach gelten Ansichten, die ein Adminbenutzer angepasst und freigegeben hat (genau gesagt jemand mit dem Recht Modify builtin views).

  3. Gibt es hier keine, so gelten Ansichten, die ein anderer normaler Benutzer mit dem Recht Publish views freigegeben hat.

  4. Und wenn es hier auch keine gibt, dann wird die ausgelieferte Variante sichtbar.

Wie können Sie nun aber eine echte Kopie einer Ansicht erstellen, also am Ende beide Ansichten sehen  —  die mitgelieferte und Ihre Version? Dies wird über die Unique ID in den General Properties gesteuert. Ändern Sie einfach die ID Ihrer View auf einen anderen Wert. Damit gilt die View nicht mehr als Klon der mitgelieferten View sondern beginnt ein eigenes Leben.

Die ID ist übrigens auch die entscheidende Angabe in der URL, über die Views aufgerufen werden. Das Schema ist ganz einfach. So wird z.B. die globale View mit der ID allhosts wie folgt aufgerufen:

/mysite/check_mk/view.py?view_name=allhosts

Das Konzept mit dem Klonen und Anpassen und der Sichtbarkeit finden Sie übrigens auch an vielen anderen Stellen von Checkmk, nämlich bei:

3.3. Integration einer View in die Seitenleiste

Wie und ob eine View in der Seitenleiste im Element Views angezeigt wird, legen folgende Eigenschaften unter General Properties fest:

views edit view general properties
  • Title  —  dies wird der Name des Eintrags.

  • Topic  —  unter diesem Thema wird die View einsortiert. Sie können auch eigene Themen definieren.

  • Hide this view from the sidebar  —  damit können Sie den Eintrag unterdrücken.

3.4. Kontextknöpfe zu einer View

Ein Context Button ist ein Knopf, der nur bei Views sinnvoll ist, die einen Kontext haben. Ein Beispiel ist der Knopf button host services, welcher zur Ansicht host verlinkt (und immer dann angezeigt wird, wenn ein Host bekannt ist). Dies ist in den Eigenschaften dieser View festgelegt:

  • Die View hat einen Kontext, nämlich Show information of single…​ host.

  • Als Icon für den Knopf ist icon status ausgewählt.

  • Der Button Text ist auf Services eingestellt.

  • Die Checkbox Do not show a context button to this view ist deaktiviert.

Damit sind alle Bedingungen erfüllt und wann immer wir uns im Kontext eines Hosts bewegen, wird der Knopf zu dieser View erscheinen (wie immer möglicherweise hinter context button dots).

3.5. Grundlegendes Layout

Der nächste Block View Properties bestimmt das generelle Aussehen der View:

views edit view view properties

Die Einstellung Number of columns gilt als Vorbelegung für das view button columns Rädchen zum Einstellen der Spaltenzahl. Analog ist Automatic page reload die Vorbelegung für das view button refresh Refresh-Rädchen.

Unter Basic Layout gibt es verschiedene Arten, wie die Daten in Tabellen dargestellt werden. Die meisten Ansichten verwenden Table  —  eine normale Tabelle, die nach Spalten sortierbar ist  —  oder Single dataset  — welches die Legende links hat und meist für einzelne Datensätze verwendet wird. Sie können Single dataset aber auch für Ansichten mit mehr als einem Objekt verwenden. Die Ansicht All hosts sieht nach einer Umstellung auf Single dataset etwa so aus:

views layout single dataset

3.6. Spalten und Gruppierung

Der Kasten Columns legt fest, welche Spalten Sie sehen. Die mögliche Auswahl von Spalten hängt von der gewählten Datenquelle ab. Am meisten Spalten finden Sie bei den Services, denn hier sind natürlich auch alle Informationen über den jeweiligen Host verfügbar. Die Liste kann hier schon recht lang werden und wenn Sie nicht sicher sind, welche Spalte die richtige ist, hilft nur eins: Ausprobieren.

views edit view columns

Das Feld Link bietet eine eine Auswahl von allen Ansichten. Ist hier eine Ansicht ausgewählt, dann ist die jeweilige Zelle dieser Spalte anklickbar und bringt den Benutzer zur gewählten Ansicht. Wirklich sinnvoll ist das natürlich nur, wenn die Zielansicht einen Kontext hat. Bestes Beispiel ist die Ansicht All hosts. Die Spalte Hostname ist hier anklickbar und bringt den Benutzer dann zu Services of host  — von diesem Host. Seit Checkmk 1.6.0 ist es an dieser Stelle auch möglich den Hostnamen entsprechend seines Status farblich zu hinterlegen.

Unter Tooltip werden Sie wiederum die Liste aller Spalten finden. So können Sie eine weitere Information zu dem Host oder Service einblenden, sobald der Benutzer mit der Maus über die jeweilige Zelle fährt (wie hier im Beispiel die IP-Adresse).

views hover address

3.7. Information über Services in einer Host-Ansicht

Stellen Sie sich vor, Sie möchten gerne Informationen zu bestimmten Services in einer Tabelle von Hosts anzeigen. Das folgende Beispiel zeigt ein sehr schönes Beispiel für so etwas: Zu jedem Host werden die aktuelle Uptime, die CPU-Last, der Speicherverbrauch und die NTP-Synchronisation ausgegeben:

views joined columns example

Hier wurde eine Tabelle von Hosts erstellt, in der für jeden Host die Servicespalte Perf-O-Meter von je vier verschiedenen Services angezeigt wird. Man sieht auch, dass bei einem der drei Hosts die Services CPU load und Memory nicht existieren und die Spalten dort konsequenterweise leer ist.

Die Konfiguration dieser Ansicht geschah über das Hinzufügen von Spalten vom Typ Joined column. Hier erscheinen dann unter Column: die Spalten für Services und es wurde Perf-O-Meter ausgewählt. Der Eintrag Titel bestimmt dann die Überschrift der Spalte. Unter Of Service ist der exakte Name des Services eingetragen (Groß-/Kleinschreibung beachten!):

views edit view columns 2

So eine Darstellung ist natürlich nur dann nützlich, wenn die Ansicht eine Liste von ähnlichen Hosts anzeigt, welche auch alle über die gewählten Services verfügen. Das ist auch der Grund, warum Checkmk keine derartigen Ansichten mit ausliefert: Welche Spalten hier sinnvoll sind, hängt absolut von der Art der gewählten Hosts ab. Bei Linux-Servern interessieren sicherlich völlig andere Informationen als z.B. bei USVs.

3.8. Sortierung

Die Sortierung einer Ansicht konfigurieren Sie im vierten Block. Es handelt sich dabei nur um die voreingestellte Sortierung: Der Benutzer kann wie oben beschrieben über einen Klick auf die Spaltentitel die Sortierung für sich anpassen. In der Konfiguration der View haben Sie aber mehr Möglichkeiten: Sie können eine mehrstufige Sortierung einstellen, z.B. zuerst nach dem Service-Status, und bei gleichem Status nach dem Namen des Services. Die so eingestellte Reihenfolge bleibt auch als nachrangige Sortierung erhalten, wenn der Benutzer nach einer bestimmten Spalte umsortiert.

views edit view sorting

3.9. Gruppierung

Durch Gruppierung zerteilen Sie eine Tabelle in mehrere Abschnitte  —  wobei jeder Abschnitt Daten anzeigt, die irgendwie zusammengehören. Das beste Beispiel ist die Ansicht Service problems, welche Sie bequem über die Tactical overview erreichen. Wie Sie sehen können, ist diese Tabelle gruppiert nach dem Servicestatus (zuerst alle CRIT, dann UNKNOWN, dann WARN):

views edit view grouping

Die Gruppierung in einer View konfigurieren Sie analog zu den Spalten. Legen Sie einfach fest, nach welchen Spalten gruppiert werden soll. Meist ist das nur eine einzige, aber es können auch mehrere sein. Alle Datensätze mit dem gleichen Wert für alle gewählten Spalten werden dann in einer Gruppe angezeigt. Und die Spalteninformation wird jeweils als Gruppentitel anzeigt.

Es ist wichtig, dass Sie die Datensätze auch vorranging nach der gewählten Gruppeneigenschaft sortieren! Andernfalls kann es sein, dass die gleiche Gruppe mehrfach auftaucht (in Einzelfällen kann dies sogar gewünscht sein). Übrigens: Ein Umsortieren nach einer Spalte durch den Benutzer hat keinen Einfluss auf die Gruppierung: In diesem Fall wird nur die Reihenfolge der Gruppen bestimmt und die Datensätze werden innerhalb der Gruppen sortiert. Die Gruppen selbst bleiben erhalten.

3.10. Filter, Kontext und Suche

Ein wichtiger Aspekt von Views ist die Selektion der Daten. Welche Hosts oder Services sollen in der Tabelle angezeigt werden? Checkmk verwendet hierfür das Konzept der Filter. Hier sind ein paar Beispiele für Host-Filter:

views filter

Jeder Filter kann vom Benutzer mit Suchbegriffen oder anderen Kriterien gefüllt werden und reduziert dann die Liste der Ergebnisse auf diejenigen Datensätze, die die Kriterien erfüllen. Die Filter werden dabei UND-verknüpft. Die Filterkriterien, die bei einer View dann tatsächlich zum Einsatz kommen, werden aus drei Quellen zusammengestellt:

  1. Filter, die direkt in der View hinterlegt und mit Kriterien gefüllt sind

  2. Filter, die der Benutzer interaktiv in der View mit view button filters gesetzt hat

  3. Filter, die per Variablen über die URL gesetzt werden

Die Filter, die Sie beim Editieren einer View im Kasten Context / Search filters zusammenstellen, haben dabei zwei Funktionen. Zum einen legen Sie so fest, welche Filter dem Benutzer beim Klick auf view button filters angeboten werden. Zum anderen können Sie Filter bereits mit Kriterien vorbelegen und so die in der View gezeigten Daten einschränken (Punkt 1 von oben).

Falls Sie eine View mit Kontext anlegen oder editieren, so tritt anstelle der Filter des entsprechenden Objekts nur ein optionales Eingabefeld. In diesem gilt dann immer ein exakter Vergleich (Groß-/Kleinschreibung beachten). Nehmen wir als Beispiel die View host, welche alle Services eines bestimmten Hosts anzeigt. Der Hostname wird der View über einen Kontext mit auf den Weg gegeben. Sie können sich aber eine Ansicht bauen, welche den gezeigten Host quasi hart kodiert direkt in der View festlegt:

views edit view context filter

Damit können Sie diese View wieder ohne Kontext aufrufen und auf Wunsch auch problemlos in das Seitenleistenelement Views einbinden.

3.11. Spezielle Such-Ansichten

Die mitgelieferten Ansichten Host search und Service search (und auch andere) verhalten sich im Bezug auf die Filter auf eine spezielle Art: Wenn Sie so eine Ansicht anwählen, so startet diese mit einem geöffnetem Filter-Formular und zeigt erst dann Hosts oder Services an, wenn dieses abgeschickt wurde.

Warum? Es wäre einfach sehr unpraktisch, wenn Sie erst auf All services gehen müssten  —  dann warten bis viele tausend Services dargestellt würden  — und erst dann durch eine Sucheingabe das Ergebnis filtern könnten. Dieses Verhalten legt die Option Show data only on search fest:

views edit view view properties show data

4. Neue Ansichten erstellen

Das Erzeugen einer neuen View mit context button new geht im Prinzip genauso wie das Editieren einer bestehenden View  —  mit einem kleinen Unterschied: Sie müssen vorher noch eine Datenquelle und einen spezifischen Objekttyp auswählen.

4.1. Datenquelle

views create view 1

Die Datenquelle ist das, was man in Datenbanken vielleicht als Tabelle oder Datenbank-View bezeichnen würde. Checkmk verwendet zwar keine SQL-Datenbank, ist intern aber ähnlich aufgebaut. In den meisten Fällen liegen Sie mit All services oder All hosts richtig. Es gibt aber einige spezielle Datenquellen, die hier kurz aufgelistet werden sollen:

DatenquelleBedeutung

Host- und Servicegruppen

siehe unten

Alert Statistics

link:livestatus.html#Statistiken abrufen (Stats)[Statusstatistiken]

BI, diverse

Business Intelligence

Event Console, Host- und Service-Events

Event Console

Inventory, diverse

Inventory

The Logfile

Livestatus-Daten

Host- und Servicegruppen

Die Datenquellen Hostgroups und Servicegroups liefern je Zeile die Informationen über die Gruppe selbst — Filter für einzelne Hosts oder Services gibt es entsprechend nicht. Ein Beispiel für diese Datenquelle ist die Standardansicht Host groups (Summary). In verteilten Umgebungen erledigen die Datenquellen Hostgroups, merged und Servicegroups, merged genau das Gleiche.

views hostgroups summary

Wenn Sie hingegen Informationen zu einzelnen Hosts wünschen, lediglich gruppiert nach Hostgruppen, können Sie Hosts grouped by host groups verwenden. Hier wird jeder Host pro Gruppenzugehörigkeit einmal aufgeführt; zu sehen in der Standardansicht Host groups. In der Welt der Datenbanken würde man hier von einem Join der Tabelle Hosts mit der Tabelle Hostgroups sprechen.

views hostgroups

Auf dieselbe Weise können Sie auch mit Services verfahren: Services grouped by host groups entspricht einem Join der Tabelle Services mit der Tabelle Hostgroups und Services grouped by service groups entsprechend mit der Tabelle Servicegroups.

Je nach ausgewählter Datenquelle stehen Ihnen unterschiedliche Spalten zum Aufbau der Ansicht zur Verfügung.

4.2. Objekttyp: Global oder mit Kontext

views create view 2

Hier entscheidet sich, ob Ihre neue View einen Kontext haben oder ob es eine globale Ansicht werden soll. Welche Auswahlmöglichkeiten Sie haben, hängt von der gewählten Datenquelle ab. Der mit Abstand häufigste Kontext ist Host. Die Abbildung von oben erscheint nach der Auswahl der Datenquelle All services.

Durch das Setzen der Checkbox Show information of a single host legen Sie fest, dass die neue Ansicht genau einen Host beschreibt. So haben Sie die Grundlage dafür geschaffen, dass die Ansicht nicht global, sondern verlinkt sichtbar wird:

  • Bei einer Hostansicht mit einem Kontextknopf (evtl. hinter context button dots)

  • Als Verknüpfung in einer Spalte (siehe oben, z.B. Klick auf Hostname in einer Ansicht)

Bei dem Kontexttyp Service gibt es zwei Möglichkeiten: Wenn Sie nur Show information of a single service anwählen, können Sie eine Ansicht bauen, die alle Services mit dem gleichen Namen aber auf verschiedenen Hosts anzeigt. Wenn es um einen ganz bestimmten Service von einem einzigen Host gehen sollen, dann kreuzen Sie zusätzlich Show information of a single host an.

5. Die Matrix

Wenn Sie das Layout Matrix bei einer Ihrer Ansichten einstellen, werden Sie wahrscheinlich erstmal seltsame Dinge erleben und sich fragen, was das Ganze soll. Die Matrix ist sicher nicht auf den ersten Blick einleuchtend, aber Sie können damit tolle Dinge machen.

In den ausgelieferten Views gibt es eine, die dieses Layout verwendet  — und zwar Metrics > Search peformance data. Folgende Abbildung zeigt eine Suche nach dem Serviceausdruck CPU|Memory|Filesystem:

views matrix filter service

Das Ergebnis ist eine hübsche Tabelle der Hosts, in denen die Metriken all dieser Services gegenübergestellt sind. Nicht alle Hosts haben die gleichen Services, so dass bei den anderen Hosts dann die entsprechenden Zellen einfach leer bleiben:

views matrix view 1

Das Ganze sieht jetzt erstmal sehr ähnlich aus wie die weiter oben beschriebene Information über Services in einer Host-Ansicht. Es gibt aber ein paar wesentliche Unterschiede:

  1. Die Liste der Services ist dynamisch und nicht fest konfiguriert.

  2. Die Hosts sind hier die Spalten  —  nicht die Zeilen.

  3. Sie können mit der Matrix noch viel mehr anstellen.

Wenn Sie in die Definition der View gucken, können Sie sehen, wie diese konstruiert ist:

  • Als Basic layout ist Matrix eingetragen.

  • Bei Grouping ist als einzige Spalte der Hostname eingetragen.

  • Bei Columns sind die Service description und das Service Perf-O-Meter eingetragen.

Die Regel für das Matrix-Layout ist so:

  • Die Grouping Columns werden als Köpfe für die senkrechten Spalten verwendet.

  • Die erste normale Column bildet die linke Spalte mit der Beschriftung der Zeilen.

  • Alle weiteren normalen Columns werden in den Zellen angezeigt.

Wenn Sie z.B. mehr Informationen über den Host anzeigen möchten, fügen Sie einfach weitere Spalten im Bereich Grouping hinzu. So sieht z.B. die Tabelle von oben aus, wenn Sie die Spalten Host icons und WATO folder - just folder name hinzufügen:

views matrix view 2

Weitere normale Spalten landen dann direkt in den Zellen. Folgendes Beispiel (gekürzt) zeigt die Matrix mit der zusätzlichen Spalte Output of check plugin:

views matrix view 3

5.1. Erkennen von Ausreißern

Warum sind eigentlich manche Zellen farbig hinterlegt? Nun — hier werden Sie hingewiesen auf Werte, die sich abheben von der Mehrheit. Das ist wohl bei Messdaten nicht so sinnvoll. Aber es gibt Anwender, die mit einer speziell konstruierten Matrixansicht auf einen Blick feststellen können, ob z.B. bei gewissen Hosts oder Services eine falsche Kontaktgruppe eingetragen ist!

6. Alarm-Sounds

Eine Ansicht kann über den Browser Alarmtöne abspielen, wenn sich in der Tabelle mindestens ein Problem befindet (also ein Host der nicht UP oder ein Service der nicht OK ist). Diese primitive Art der Alarmierung ist z.B. interessant für Leitstände, wo die Liste der Probleme ständig auf einem Schirm sichtbar ist, aber der Operator nicht ständig auf diesen starren möchte.

Die Alarmsounds sind per Default ausgeschaltet. Über den globalen Schalter Global settings > User interface > Enable sounds in views können Sie diese einschalten. Wie immer hilft hier das Suchfeld:

global settings enable sound

Sounds werden aber nicht in allen Views abgespielt, sondern nur, wo dies in den View Properties aktiviert ist:

view properties sounds

7. Views in fremde Webseiten einbetten

Da jede Ansicht über eine URL erreichbar ist, können Sie diese auch in andere Webseiten einbetten  —  z.B. über einen <iframe>. Etliche Elemente der View machen allerdings in so einem Kontext keinen Sinn oder sind sogar störend. In so einem Fall können Sie an die URL die Variable display_options=…​ anhängen, über die Sie genau steuern können, welche Bestandteile der View im HTML-Code generiert werden sollen.

Jeder Bestandteil wird durch einen Buchstaben kodiert. Wenn Sie Kleinbuchstaben verwenden, schalten Sie dadurch die angegebenen Elemente aus und lassen alle übrigen erzeugen (quasi ein „opt-out“). Bei Großbuchstaben ist es umgekehrt: Hier geben Sie nur die Elemente an, die erzeugt werden sollen („opt-in“). Eine Mischung von klein und groß ist nicht sinnvoll.

Folgende Buchstaben sind definiert:

EinAusWas wird angezeigt?

H

h

HTML-Header und -Footer inkl. der Tags <HTML>, <HEAD> und <BODY>

T

t

Titelzeile mit Überschrift und angemeldetem Benutzer

B

b

Kontext-Knöpfe, die zu anderen Ansichten verlinken

F

f

Knopf, der die view button filters Filter öffnet

C

c

Knopf, der die view button commands Kommandobox öffnet sowie Icons zum Ausführen von Kommandos

O

o

Die Rädchen für die view button columns Spaltenzahl und das view button refresh Aktualisieren

D

d

Knopf für die view button options Anzeigeoptionen

E

e

Knopf zum context button edit view Editieren der View

Z

z

Die Fusszeile, in der refresh: 30s angezeigt wird

R

r

Javascript-Code für das automatische Aktualisieren

S

s

Abspielen von Alarmtönen bei den Service-Zuständen WARN und CRIT

I

i

Links, die auf andere Ansichten zeigen

X

x

Alle anderen Links

M

m

Mit dieser Option bekommen Links als Ziel den HTML-Frame main. Dies verwendet Checkmk selbst beim Einbetten von Views in Dashboards.

L

l

Links in Spaltentiteln

W

w

Limitierung und Livestatus-Fehlermeldungen

Wenn Sie also die z.B. alle Bedienelemente und Knöpfe abschalten und nur die eigentliche Tabelle darstellen möchten, so sieht ein Link auf die View allhosts so aus:

8. Eigene Icons und Aktionen einfügen

In Ansichten von Hosts und Services sehen Sie auch eine Spalte für Icons und darin das icon menu Action menu, aus dem Sie Host- beziehungsweise Service-Aktionen auswählen können. Sie dürfen Ansichten aber auch um eigene Icons erweitern. Diese können wahlweise schlicht zur Visualisierung genutzt oder mit eigenen Aktionen belegt werden.

So ließen sich zum Beispiel Hosts, die über eine grafische Web-Oberfläche verfügen, über solch ein individuelles Icon schnell identifizieren und über einen Link auch direkt ansteuern.

Das Prozedere für eigene Icons und Aktionen gliedert sich in drei Schritte:

  • Icons hochladen

  • Icons/Actions definieren

  • Icons Hosts/Services zuordnen

Starten Sie über WATO > Custom Icons und laden Sie eine lokale Datei mit einer maximalen Größe von 80x80 Pixeln hoch. Damit ist das Icon im System, findet aber noch keinerlei Verwendung.

views manage icons upload

Nun müssen Sie das Icon noch als über Regeln ansprechbares Objekt und optional eine zugehörige Aktion definieren. Die Einstellungen finden Sie unter WATO > Global Settings > User Interface > Custom icons and actions. Erstellen Sie hier über Add new element einen neuen Eintrag und legen Sie ID, Icon und einen Titel fest; der Titel wird übrigens später per On-Mouse-Over-Effekt als Tooltip direkt am Icon angezeigt und ist für die Nutzer damit unerläßlich.

Interessant wird es nun beim Punkt Action: Aktion ist hier gleichzusetzen mit einer URL und für diese dürfen Sie einige Variablen wie $HOSTNAME$ oder $SERVICEDESC$ (Service-Beschreibung) nutzen — weitere Hinweise bekommen Sie über die Online-Hilfe. Eine gültige Aktion wäre beispielsweise view.py?host=$HOSTNAME$&site=mysite&view_name=host, die schlicht die Standard-Host-Ansicht für den jeweiligen Host auf der Seite mysite aufruft.

Über ein Häkchen bei Show in column können Sie das Icon dann als eigenständiges Bildchen neben icon menu anzeigen lassen, andernfalls landet Ihre Aktion in diesem Aktionsmenü.

views global settings custom icons and actions

Im letzten Schritt bestimmen Sie nun, bei welchen Hosts oder Services das neue Icon angezeigt werden soll — und das natürlich über Regeln. Sie finden die beiden Regeln Custom icons or actions for hosts in status GUI und Custom icons or actions for services in status GUI unter WATO > Host & Service Parameters > User Interface. Legen Sie eine neue Regel im gewünschten Ordner an und setzen Sie darin mindestens zwei Optionen: Zum einen wählen Sie unter Custom icons or actions for hosts in status GUI das just angelegte Icon. Zum anderen filtern Sie im Conditions-Bereich wie üblich auf die gewünschten Hosts/Services. Speichern und bestätigen Sie anschließend die Änderungen.

views custom icons or actions

In Host- und Service-Ansichten sehen Sie ab sofort bei den gefilterten Hosts und Services Ihr neues Icon neben oder im Aktionsmenü.

views view with custom icon
Auf dieser Seite