1. Benutzer in Checkmk
Sobald Sie Ihr Monitoring in einem Zustand haben, wo es beginnt, für andere nützlich zu werden, ist es an der Zeit, sich mit der Benutzerverwaltung von Checkmk zu befassen.
Falls Sie das System lediglich alleine betreiben, ist das Arbeiten als Benutzer cmkadmin
völlig ausreichend, und Sie können einfach beim nächsten Kapitel über Benachrichtigungen weiterlesen.
Gehen wir also davon aus, dass Sie Kollegen haben, die gemeinsam mit Ihnen Checkmk nutzen sollen.
Warum arbeiten dann nicht einfach alle als cmkadmin
?
Nun, theoretisch geht das schon, aber es entsteht dabei eine Reihe von Schwierigkeiten.
Wenn Sie pro Person ein Konto (account) anlegen, haben Sie etliche Vorteile:
Unterschiedliche Benutzer können unterschiedliche Berechtigungen haben.
Sie können die Zuständigkeit eines Benutzers auf bestimmte Hosts und Services beschränken, sodass nur noch diese im Monitoring sichtbar sind.
Benutzer können eigene Lesezeichen (bookmarks) anlegen, ihre Seitenleiste individuell einrichten und auch andere Dinge für sich anpassen.
Sie können ein Konto löschen, wenn ein Mitarbeiter die Firma verlässt, ohne dass das die anderen Konten beeinflusst.
Sie finden im Artikel über die Benutzerverwaltung alle Details, die über die Einführung in diesem Leitfaden für Einsteiger hinausgehen.
2. Rollen für Berechtigungen
Vor allem auf die beiden Punkte zu Berechtigungen und Zuständigkeiten wollen wir näher eingehen. Beginnen wir mit den Berechtigungen — also mit der Frage, wer was tun darf. Dafür verwendet Checkmk das Konzept der Rollen. Eine Rolle ist dabei nichts anderes als eine Sammlung von Berechtigungen. Jede der Berechtigungen erlaubt eine ganz bestimmte Handlung. So gibt es etwa eine Berechtigung für das Ändern der globalen Einstellungen.
Checkmk wird mit drei vordefinierten Rollen ausgeliefert, die Sie einem neuen Benutzer zuweisen:
Rolle | Kürzel | Bedeutung |
---|---|---|
Administrator |
|
Ein Administrator kann alle Funktionen in Checkmk ausführen. Seine Hauptaufgabe ist die generelle Konfiguration von Checkmk, nicht das Monitoring. Dies schließt auch das Anlegen von Benutzern und Anpassen von Rollen ein. |
Normal monitoring user |
|
Diese Rolle ist für den Operator gedacht, der das Monitoring durchführt. Der Operator sollte grundsätzlich nur solche Hosts und Services sehen, für die er zuständig ist. Zudem besteht die Möglichkeit, dass Sie als Administrator ihm die Berechtigung geben, seine Hosts selbst zu verwalten. |
Agent registration user |
|
Spezielle Rolle für einen Automationsbenutzer, um eine Registrierung des Checkmk-Agenten eines Hosts beim Checkmk-Server mit minimalen Rechten durchzuführen. |
Guest user |
|
Ein Gastbenutzer darf alles sehen, aber nichts ändern. Diese Rolle ist z.B. nützlich, wenn Sie einen Statusmonitor an die Wand hängen möchten, der immer eine Gesamtübersicht des Monitorings zeigt. Da ein Gastbenutzer nichts ändern kann, ist es auch möglich, dass mehrere Kollegen ein Konto mit dieser Rolle gleichzeitig verwenden. |
Wie Sie die vordefinierten Rollen anpassen können, erfahren Sie im Artikel über die Benutzerverwaltung.
3. Kontaktgruppen für Zuständigkeiten
Der zweite wichtige Aspekt der Benutzerverwaltung ist die Festlegung von Zuständigkeiten:
Wer ist für den Host mysrv024
zuständig und wer für den Service Tablespace FOO
auf dem Host ora012
?
Wer soll den Host und Service im Monitoring sehen und eventuell benachrichtigt werden, wenn es ein Problem gibt?
Zuständigkeiten werden in Checkmk nicht über Rollen, sondern über Kontaktgruppen definiert. Das Wort „Kontakt“ ist im Sinne einer Benachrichtigung gemeint: Wen soll das Monitoring kontaktieren, wenn es ein Problem gibt?
Das Grundprinzip ist wie folgt:
Jeder Benutzer kann Mitglied von beliebig vielen Kontaktgruppen sein.
Jeder Host und jeder Service ist Mitglied von mindestens einer oder mehreren Kontaktgruppen.
Hier ist ein Beispiel für so eine Zuordnung von Benutzern (links) und Hosts (rechts) zu Kontaktgruppen (Mitte):
![Illustration der Beziehung zwischen Benutzern, Kontaktgruppen und Hosts/Services.](../images/intro_contactgroup_example.png)
Wie Sie sehen, kann sowohl ein Benutzer als auch ein Host (oder Service) Mitglied mehrerer Kontaktgruppen sein. Die Mitgliedschaft in den Gruppen hat folgende Auswirkungen:
Ein Benutzer der Rolle
user
sieht im Monitoring genau die Objekte, die sich in seinen Kontaktgruppen befinden.Gibt es ein Problem mit einem Host oder Service, werden (standardmäßig) alle Benutzer benachrichtigt, die in mindestens einer seiner Kontaktgruppen sind.
Wichtig: Es gibt in Checkmk keine Möglichkeit, einen Host oder Service direkt einem Benutzer zuzuordnen. Das ist absichtlich nicht gewollt, da es in der Praxis zu Problemen führt — z.B. dann, wenn ein Kollege Ihr Unternehmen verlässt.
4. Kontaktgruppen erstellen
Zur Verwaltung der Kontaktgruppen geht es hier entlang: Setup > Users > Contact groups. Eine Kontaktgruppe mit dem Namen all und dem Alias Everything ist bereits vordefiniert. Dieser sind automatisch alle Hosts und Services zugewiesen. Sie ist für einfache Setups gedacht, in denen es (noch) keine Aufgabenteilung gibt und Sie vorerst für alles alleine zuständig sind.
Mit Add group legen Sie eine neue Kontaktgruppe an. Hier brauchen Sie, wie gewohnt, die interne ID (Name) und den Titel (Alias), den Sie später ändern können:
![Dialog zur Festlegung der Eigenschaften für die neue Kontaktgruppe.](../images/intro_add_contact_group_properties.png)
Im Beispiel sehen Sie eine neue Kontaktgruppe, die offensichtlich für die Windows- und Linux-Server zuständig sein soll.
5. Hosts zuordnen
Nachdem Sie alle Ihre Kontaktgruppen angelegt haben, müssen Sie einerseits Hosts und Services zuordnen und andererseits die Benutzer. Letzteres machen Sie in den Eigenschaften der Benutzer selbst: wir kommen in einem späteren Kapitel noch dazu.
Für die Zuordnung von Hosts zu Kontaktgruppen gibt es zwei Wege, die Sie auch parallel wählen können: über Regeln oder über die Eigenschaften der Hosts (oder ihrer Ordner).
5.1. Mit Regeln zuordnen
Der benötigte Regelsatz heißt Assignment of hosts to contact groups. Sie finden ihn z.B. auf der Seite Contact groups, die Sie im vorherigen Kapitel geöffnet hatten, im Menü Contact groups > Rules.
Auch bei einer frischen Checkmk-Installation ist der Regelsatz übrigens nicht leer. Sie finden hier eine Regel, die alle Hosts der oben erwähnten Kontaktgruppe Everything zuweist.
Legen Sie hier selbst neue Regeln an und wählen Sie die jeweilige Kontaktgruppe, die Sie den in der Bedingung ausgewählten Hosts zuweisen wollen:
![Dialog zur Zuweisung von Kontaktgruppen zu Hosts in einer Regel.](../images/intro_rule_assignment_hosts_contact_groups.png)
Wichtig: Greifen für einen Host mehrere Regeln, so werden alle ausgewertet und der Host bekommt auf diese Art mehrere Kontaktgruppen.
5.2. Mit Host-Eigenschaften zuordnen
Öffnen Sie die Eigenschaften des Hosts, z.B. über Setup > Hosts > Hosts. Klicken Sie den Host an, um die Seite Properties of host anzuzeigen. Aktivieren Sie im Kasten Basic settings die Checkbox Permissions.
![Dialog zur Zuweisung von Kontaktgruppen zu Hosts in den Host-Eigenschaften.](../images/intro_host_properties_permissions.png)
Wählen Sie in der Liste Available eine oder mehrere Kontaktgruppen aus und verschieben Sie diese mit dem Pfeil nach rechts in die Liste Selected. Aktivieren Sie die Checkbox Add these contact groups to the host.
Die Checkbox Always add host contact groups also to its services müssen Sie in der Regel nicht auswählen, denn Services erben automatisch die Kontaktgruppen ihrer Hosts. Mehr dazu erfahren Sie gleich im nächsten Kapitel.
Hinweis: Sie können das Attribut Permissions analog statt auf Host- auch auf Ordnerebene festlegen. Für einen Ordner werden einige zusätzliche Optionen angeboten, bei denen es darum geht, ob die Rechte auch für Unterordner gelten sollen.
6. Services zuordnen
Services müssen Sie nur dann Kontaktgruppen zuordnen, wenn diese von denen ihrer Hosts abweichen sollen. Dabei gilt allerdings ein wichtiger Grundsatz: Hat ein Service mindestens eine Kontaktgruppe explizit zugewiesen erhalten, dann erbt er keine Kontaktgruppen vom Host mehr.
Die Zuordnung auf Service-Ebene ermöglicht Ihnen z.B. eine Trennung von Server- und Anwendungsbetrieb:
Stecken Sie z.B. den Host srvwin123
in die Kontaktgruppe Windows & Linux Servers
, aber alle Services, die mit dem Präfix Oracle
beginnen, in die Kontaktgruppe Oracle Administration
, so werden die Windows-Administratoren die Oracle-Services nicht sehen, und die Oracle-Administratoren erhalten umgekehrt keine Details zu den Services des Betriebssystems — was oft eine sehr sinnvolle Aufteilung ist.
Sollten Sie diese Trennung nicht benötigen, dann beschränken Sie sich einfach auf die Zuordnungen für Hosts — und sind fertig.
Für die Zuordnung auf Service-Ebene ist der Regelsatz Assignment of services to contact groups zuständig. Bei der Erstellung der Regel gehen Sie analog vor, wie es im vorherigen Kapitel für die Host-Zuordnung beschrieben ist. Zusätzlich geben Sie noch Bedingungen für die Service-Namen an.
7. Benutzer anlegen
In die Benutzerverwaltung steigen Sie ein mit Setup > Users > Users:
![Liste der Checkmk-Benutzer.](../images/intro_setup_users.png)
Wundern Sie sich nicht, wenn es dort außer dem Eintrag cmkadmin
auch noch einen Benutzer automation
gibt.
Dieser Automationsbenutzer ist für Zugriffe von außen gedacht, z.B. per Skript oder REST-API.
Einen neuen Benutzer legen Sie mit dem Knopf Add user auf der Seite gleichen Namens an:
![Dialog zur Festlegung der Identität für den neuen Benutzer.](../images/intro_new_user_identity.png)
Im Kasten Identity geben Sie die interne ID (Username) und einen Titel (Full name) ein — hier den ausgeschriebenen Namen des Benutzers. Die Felder Email address und Pager address sind optional und dienen den Benachrichtigungen via E-Mail bzw. SMS.
Hinweis: Tragen Sie hier vorerst noch keine E-Mail-Adresse ein. Lesen Sie zunächst die Hinweise im Kapitel über Benachrichtigungen.
![Dialog zur Festlegung der Sicherheitseinstellungen für den neuen Benutzer.](../images/intro_new_user_security.png)
Im Kasten Security lassen Sie die Standardeinstellung auf Normal user login with password und vergeben nur ein initiales Passwort. Ganz unten bei Roles können Sie dem Benutzer die Rollen zuordnen. Ordnen Sie mehr als eine Rolle zu, so erhält der Benutzer einfach das Maximum an Berechtigungen aus diesen Rollen. Für die vier vordefinierten Rollen ist das allerdings nicht sehr sinnvoll.
![Dialog zur Auswahl der Kontaktgruppen für den neuen Benutzer.](../images/intro_new_user_contact_groups.png)
Unter Contact Groups können Sie jetzt aus den zuvor erstellten Kontaktgruppen auswählen. Wählen Sie die vordefinierte Gruppe Everything aus, so wird der Benutzer für alles zuständig sein, da in dieser Gruppe alle Hosts und Services enthalten sind.
Übrigens: Die beiden letzten Kästen Personal settings und Interface settings der Seite enthalten genau die Einstellungen, die ein Benutzer auch selbst in seinem Profil ändern kann über das Menü User > Edit profile. Nur Gastbenutzer (mit der Rolle Guest user) können diese Einstellungen ihres Profils nicht ändern.
Tipp: Auf der Übersichtsseite der Benutzerverwaltung Users finden Sie im Menü Related den Eintrag LDAP & Active Directory. Wenn Sie in Ihrer Firma Active Directory oder einen anderen LDAP-Dienst einsetzen, haben Sie auch die Möglichkeit, Benutzer und Gruppen aus diesen Diensten einzubinden. Die Details dazu finden Sie im Artikel über LDAP/Active Directory.