Wink zur Erstellung von Views

Hallo zusammen,

ich hätte mal eine Frage hinsichtlich Views und Dashboards. Ich habe hier den Fall, dass ich eine große Anzahl an Standorten habe, an denen immer die gleichen Geräte stehen. Auch die Namen sind identisch. Sie unterscheiden sich lediglich anhand der Standortnummer im Namen.

Nun möchte ich eine View bauen, in der pro Standort in einer Zeile ein Wert von mehreren Geräten dargestellt wird. Das kann der Hostcheck an sich sein oder zum Beispiel die Temperatur. Das soll dann so aussehen:

Beispiel

Statt Up könnte da auch die Temperatur stehen, also der Wert eines Services. Leider stehe ich gerade auf dem Schlauch, wie ich das erreichen kann.

Die Geräte pro Standort befinden sich nicht in einer Host Group. Das ließe sich zwar einrichten, wre aufrgrund der vielen Standorte aber schade.

Könnt Ihr mir sagen, wie ich das Ziel am besten erreiche? Oder geht das so gar nicht, wie ich mir das vorstelle?

Vielen Dank und schönes Wochenende.

Das Zauberwort hier lautet Matrix View.
Damit sollte sich dein Ziel erreichen lassen.
Wichtig ist hierbei wirklich, dass die einzelnen Hosts immer die genau gleichen Servicenamen besitzen.

2 Likes

Hallo Andreas,

werde ich auf jeden Fall mal ausprobieren, danke. Aber wenn ich das richtig lese, sind die Zeilen hier die verschiedenen Service-Checks. So kann ich ja dann nicht die Standorte als Zeile abbilden wie in meinem Bild gezeigt.

Vielleicht liege ich auch falsch. Ich werde mal testen.

Da hat @andreas-doehler den entscheidenden Tipp gegeben, danke dafür! @Beaver, ich nehme an, du möchtest so etwas:

image

Meine Hosts haben für den Standort jeweils ein Tag und außerdem je einen Alias, der nicht den Standort enthält. Die echten Hostnamen sind z.B. k-node1-a, k-node1-b, do-node2-a, do-node2-b und die Aliase sind jeweils “Node A” bzw. “Node B”. Aliase sind nicht etwa “alternative Hostnamen” (wie z.B. “example.com” und “www.example.com”), sondern völlige Freitextfelder, in die man irgendwelchen beschreibenden Text eingeben kann. Duplikate sind erlaubt, d.h. zwei Hostnamen können denselben Alias haben. Das machen wir uns hier zunutze.

  • Beim Anlegen des Views (Views → Edit → New) wählt man als Datasource All services.
  • Im nächsten Fenster dann Show information of a single Service ankreuzen, weil man nur einen Service (Temperatur) anzeigen will.
  • ID, Title und Topic vergeben
  • Als Basic Layout Matrix wählen, Number of Columns auf 5 (für 5 Standorte)
  • Bei Columns als erste Spalte Hosts: Host alias hinzufügen. Das ergibt die linke Tabellenspalte
  • Als zweite und dritte Spalte Service: Output of check plugin und Services: Service Perf-O-Meter hinzu. Diese Daten werden dann in den Zellen angezeigt. Wenn man will, kann bei Tooltip und Link auch noch was eintragen, damit man von dort direkt weiterklicken kann.
  • Unter Sorting die beiden “Überschriften” eintragen, also das Standort-Tag und den Host-Alias.
  • Unter Grouping die Tag-Gruppe für die Standorte auswählen. Das ergibt die Spaltenüberschriften.
  • Wichtig: Unter Context/Search filter Service ankreuzen und den gewünschten Service (bei mir: Temperature Zone 0) eintragen. Ansonsten kriegt man am Ende nur eine Fehlermeldung, dass der Context nicht gesetzt sei (d.h. Checkmk weiß nicht, welchen Service es anzeigen soll).
  • Fertig.

Wenn du Zeilen und Spalten vertauschen willst, musst du die erste Grouping- und die erste Column-Definition vertauschen und auch die Sortierreihenfolge anpassen, weil sonst die Tabelle zerstückelt wird oder doppelte Spalten enthält.

Bilderstrecke

image

Im Handbuch ist das ganze auch recht gut erklärt, besonders der einleitende Satz ist richtig:

Wenn Sie das Layout Matrix bei einer Ihrer Ansichten einstellen, werden Sie wahrscheinlich erstmal seltsame Dinge erleben und sich fragen, was das Ganze soll.

2 Likes

Hallo Dirk,

das sieht vielversprechend aus, danke. Du hast recht, ich müsste Zeilen und Spalten tauschen. Jeder Standort müsste eine Zeile sein.

Jedem Host einen Alias zu geben, würde ich ungern. Ein Label pro Standort wäre kein Problem. Wird zwar Aufwand, das nachzupflegen, aber ok. Aber ich habe keine Möglichkeit gefunden, auf Labels zu filtern. Ich bräuchte ja dann eine Zeile pro Label-Wert (location:A, location:B, location:C, …) und dann eine Spalte pro Gerät, das jeweils location:A, location:B usw. hat.

Vielleicht habe ich auch an der falschen Stelle gesucht. Oder geht das so nicht, wie ich mir das vorstelle?

Danke noch mal! :slight_smile:

Hallo @Beaver,

ob du Zeilen und Spalten vertauschen möchtest, ist im Prinzip Geschmackssache bzw. hängt davon ab, wovon du mehr hast. So ein Matrix-View kann halt nur 12 Spalten haben aber (fast) beliebig viele Zeilen.

Aber unabhängig davon brauchst du schon irgendein Kriterium, wie du die Standorte deiner Hosts unterscheidest. Bei mir sind es Hosttags. Möglich wären auch WATO-Folder. Mit Labels wird es wohl eher nicht klappen, weil man in den Views nicht nach einzelnen Labels gruppieren kann, sondern nur nach allen Labels gemeinsam.

Angenommen du hättest Labels für os:windows, os:linux, location:A, location:B und bunt verteilte Hosts, dann ergibt das mindestens vier verschiedene Gruppen (windows/A, windows/B, linux/A, linux/B) und folglich auch vier verschiedene Spalten (oder Zeilen). Das ist also nicht für so einen View zu gebrauchen.

Zum zweiten brauchst Du ein Kriterium, mit dem du die “Sorten” deiner Hosts auseinanderhalten kannst. Dafür kannst du entweder Aliase verwenden (so wie ich es getan habe) oder ebenfalls Hosttags. Das hängt davon ab, wie deine Landschaft strukturiert ist. Wenn die Kombination “Hosttyp” plus “Standort” bereits eindeutig einen (!) Host bestimmt, dann würde das funktionieren.

Eine Kröte musst du vermutlich schlucken :wink:, sprich: eine Struktur in deine Hostlandschaft reinbringen, die du für die Views benutzen kannst.

Ich habe meine Aliase per Web-API vergeben. Hilfreich ist es evtl. unter WATO → Hosts geschickt mit der Suchfunktion zu arbeiten, so dass alle “gleichen” Hosts an den verschiedenen Standorten gemeinsam angezeigt werden und denen dann über den Edit-Knopf gemeinsam den selben Alias zu verpassen.

1 Like

Die Variante von @Dirk wäre auch das was ich mir gedacht hab. Was anderes vom Aufbau her würde mir hier auch nicht einfallen. Jedenfalls nix was umsetzbar ist.

Danke für die Erklärung. Ich habe mehrere hundert Standorte, daher muss der STandort als Zeile abgebildet werden. :wink:

Aktuell habe ich im WATO folgende Struktur:

|Main Directory
|—Land A
|—|---Servertyp 1
|—|---Servertyp 2
|—|---Servertyp 3
|—|---USVs
|—|---Swicthes
|—Land B
|—|---Servertyp 1
|—|---Servertyp 2
|—|---Servertyp 3
|—|---USVs
|—|---Swicthes
|—Land C
|—|---Servertyp 1
|—|---Servertyp 2
|—|---Servertyp 3
|—|---USVs
|—|---Swicthes
|—…
|—…

Jetzt habe ich aber mehrere Standorte pro Land. Und somit sind zum Beispiel in Land A/Servertyp 1 auch zig verschiedene Maschinen, nämlich eine pro Standort.

Mit Tags statt Labels habe ich mich noch nicht beschäftigt. Wenn ich jedem Host per Tag einen Standort mitgebe, dann müssteich ja quasi basierend auf diesem Tag und dem Folder meine Hosts finden können, oder?

Ich glaube, wenn ich das einmal geschafft habe, fällt mir das mit den Views auch leichter, aber leider muss es bei meiner großen Umgebung einmal klick machen. :slight_smile: