Checkmk
to checkmk.com

1. Einleitung

ntop ntopng logo

Checkmk bietet Basisfunktionen für das Monitoring von Netzwerken und liefert die zugehörigen Metriken — etwa Bandbreite, Paketrate oder Fehlerrate. Darüber hinaus ermöglicht es eine Überwachung des Zustands und der Geschwindigkeit von Netzwerkschnittstellen sowie von Schwellwerten.

So weit, so gut. Wie sieht es aber mit den folgenden Fragen aus: Wer kommuniziert mit Ihren Hosts? Welche Ports Ihrer Hosts werden genutzt? Wer spricht am häufigsten, d.h. wer sind die „Top Talker“? Welche Applikationen werden im Netzwerk genutzt? Ist mein Netz performant und wo befinden sich gegebenenfalls die Engpässe? Gibt es Bedrohungen z.B. durch Distributed Denial of Service (DDoS) Angriffe?

Um Antworten auf solche und ähnliche Fragen zu erhalten, ist eine tiefgehende Analyse Ihres Netzwerks notwendig, die Checkmk alleine nicht leisten kann. Hier wird die Analyse der Netzwerkdatenflüsse (network flows) benötigt, d.h. der vielfältigen Kommunikationsbeziehungen, die gleichzeitig im Netz stattfinden. Ein Netzwerkdatenfluss ist dabei definiert durch Quelle und Ziel (jeweils bestimmt durch IP-Adresse und Port) und das verwendete Protokoll.

Statt Checkmk die Funktionen zum tiefgehenden Netzwerk-Monitoring hinzuzufügen und damit das Rad neu zu erfinden, gibt es eine elegantere Lösung: die Integration von ntopng in Checkmk.

ntopng ist die leistungsstarke und ressourcenschonende Software zur Überwachung und Analyse des Netzwerkverkehrs in Echtzeit und aus der Vergangenheit — und kann daher die Antworten auf die oben gestellten Fragen geben. ntopng ist der Kern der Open-Source-Lösung zur Überwachung des Netzwerkverkehrs der Firma ntop. In einer ntop-Lösung werden in der Regel die Daten über spezielle Software-Module (nProbe) von den Geräten eingesammelt und zur Analyse an ntopng weitergeleitet.

ntopng ist in mehr als einer Hinsicht mit Checkmk verwandt: Es kommt aus der Open-Source-Welt und ist darin verwurzelt. ntopng gibt es in einer frei verfügbaren („Community“) und in mehreren erweiterten („Professional“ und „Enterprise“) Versionen. Die Benutzeroberfläche ist Web-basiert und bietet die Informationen in Views und Dashboards an. Es können mehrere Benutzer erstellt und jedem Benutzer eine Rolle zugewiesen werden. Eine Alarmierung basierend auf Schwellwerten wird unterstützt. Schließlich können die Daten aus ntopng per REST-API abgeholt werden.

Das Zusammenspiel der beteiligten Produkte zeigt das folgende Bild:

ntop product flow

Durch die Integration von ntopng erweitert sich also der Funktionsumfang von Checkmk um zwei wichtige Punkte: das Monitoring des Netzwerkdatenflusses und die tiefgehende Analyse des Netzwerkverkehrs.

Dabei bedeutet die Integration konkret folgendes:

  1. Checkmk und ntopng werden als unabhängige Systeme auf (in der Regel) unterschiedlichen Servern installiert und konfiguriert.

  2. Vom Checkmk-Server wird eine Verbindung zum ntopng-Server hergestellt. (Checkmk kommuniziert mit ntopng über dessen REST-API.) Mit den Verbindungsparametern wird entschieden, welche Daten von ntopng abgeholt werden. Die Zuordnung erfolgt dabei über die verfügbaren Benutzerkonten beider Systeme.

  3. Informationen von ntopng werden in der Checkmk-Benutzeroberfläche angezeigt. Das passiert zum einen in neuen Views und Dashboards, in denen die ntopng-Informationen für Checkmk-Benutzer aufbereitet werden. Zum anderen können ntopng-Daten in bestehende Views und Dashboards von Checkmk integriert werden.

2. Verbindung zu ntopng herstellen

CEE Um die Integration von ntopng in Checkmk nutzen zu können, benötigen Sie ein ntopng in einer Professional oder Enterprise Version >= 4.2, weil erst ab der Version 4.2 die ntopng REST-API V1 unterstützt wird, mit der Checkmk und ntopng kommunizieren.

Sammeln Sie zuerst die folgenden Informationen über das ntopng-Zielsystem, das Sie mit Checkmk verbinden möchten. Diese Informationen müssen Sie in Checkmk als ntopng-Verbindungsparameter eingeben:

ParameterBedeutung

Host-Name

Name oder IP-Adresse (Host Address) des ntopng-Servers

Port-Nummer

Nummer des TCP Ports (Port number), über den ntopng erreichbar ist. Der Port wird beim Start von ntopng festgelegt. Default ist 3000.

Protokoll

HTTP oder HTTPS. Die Verbindung zwischen Checkmk und ntopng sollte nur über HTTPS erfolgen. Name und Passwort des ntopng-Benutzerkontos werden im Klartext in der Checkmk-Instanz gespeichert, da die Zugangsdaten unverschlüsselt via REST-API zum ntopng-Server übertragen werden müssen.

Benutzerkonto zur Authentifikation

Name und Passwort eines Benutzerkontos der ntopng-Benutzergruppe Administrator (ntopng Admin User). Checkmk authentisiert sich mit diesen Zugangsdaten über die REST-API beim ntopng-Server. Das Default-Benutzerkonto von ntopng heißt übrigens admin und ist der Benutzergruppe Administrator zugeordnet.

In Checkmk starten Sie die Eingabe der ntopng-Verbindungsparameter im Menü Setup > General > Global settings > Ntopng (chargeable add-on) > Ntopng Connection Parameters (chargeable add-on):

ntop connection

Die meisten der abgefragten Parameterwerte haben Sie sich inzwischen besorgt und können Sie daher der obigen Tabelle entnehmen. Nur einen der Verbindungsparameter müssen wir uns genauer vornehmen: ntopng username to aquire data for. Damit legen Sie fest, wer in Checkmk welche ntopng-Daten sehen kann. Die Benutzerkonten, mit denen sich Checkmk bei ntopng autorisiert und mit denen sich Checkmk bei ntopng die Daten abholt, werden unterschiedlich festgelegt. Die Auswahlmöglichkeiten und die daraus resultierenden Unterschiede bei der Abholung der Daten erklären wir in den beiden folgenden Kapiteln.

Hinweis: Alle Eingaben für die Verbindung zu ntopng werden beim Sichern nicht auf Gültigkeit überprüft. Fehlermeldungen zu ungültigen Werten erhalten Sie erst bei der Anzeige der ntopng-Informationen. Mit dem ersten ntopng-Verbindungsparameter Enable this ntopng instance können Sie die Verbindung zu ntopng deaktivieren, z.B. wenn der ntopng-Server temporär nicht erreichbar ist.

2.1. Feste Zuordnung von Checkmk- und ntopng-Benutzern gleichen Namens

Die einfachste Möglichkeit ist es, einem Benutzer in Checkmk Zugang zu den Informationen zu geben, die er in ntopng unter dem gleichen Benutzernamen sieht.

Dazu wählen Sie für den Parameter ntopng username to aquire data for den Wert Use the Checkmk username as ntopng user name aus. Checkmk wird dann den aktuellen Checkmk-Benutzernamen verwenden und unter diesem Namen die Daten von ntopng abrufen.

Damit der Datenabruf über diese Zuordnung funktioniert, muss sowohl in Checkmk als auch in ntopng mindestens ein Benutzerkonto mit gleichem Namen existieren. Wie Sie es drehen oder wenden: Wahrscheinlich ist eine Änderung der Benutzer in Checkmk, ntopng oder gar in beiden Systemen notwendig. Wie Sie einen Benutzer in Checkmk anlegen oder ändern, erfahren Sie im Artikel zur Benutzerverwaltung.

Nachdem Sie die Änderungen aktiviert haben, wird jeder Checkmk-Benutzer die Änderungen der Benutzeroberfläche für ntopng sehen, wie Sie im Kapitel zur Anzeige der ntopng-Informationen beschrieben sind, z. B. die Erweiterung des Menüs Monitor. Allerdings werden die ntopng-Daten nur für diejenigen Checkmk-Benutzer sichtbar sein, die ein Benutzerkonto auf der ntopng-Gegenseite haben. Die anderen Checkmk-Benutzer können die ntopng-spezifischen Seiten öffnen, erhalten aber nur leere Seiten bzw. eine Fehelermeldung, dass die Anmeldedaten ungültig sind.

Dies ist die einfachste, aber auch eine unflexible Möglichkeit.

2.2. Flexible Zuordnung von Checkmk- zu ntopng-Benutzern

Checkmk und ntopng haben in der Benutzerverwaltung ähnliche Konzepte: In beiden Systemen können mehrere Benutzer eingerichtet werden, und jedem Benutzer wird dabei eine Rolle zugewiesen. In Checkmk heißen die Rollen „Administrator", „Normal monitoring user“ und „Guest user”, in ntopng „Administrator" und „Non Privileged User". Mit diesen zugewiesenen Rollen wird (unter anderem) entschieden, auf welche Informationen ein Benutzer zugreifen kann.

Statt der zuvor beschriebenen starren 1:1-Zuordnung haben Sie die Möglichkeit, für jeden Checkmk-Benutzer zu entscheiden, ob Sie ihm ntopng-Daten geben wollen und — falls ja — von welchem ntopng-Benutzer er sie erhalten soll.

Da den Benutzern in beiden Systemen unterschiedliche Rollen zugewiesen sind, können Sie sehr genau steuern, wer in Checkmk was von ntopng sehen darf, zum Beispiel so: Einem Checkmk „Guest user” ohne Interesse am Netzwerkverkehr weisen Sie keinen ntopng-Benutzer zu: Für diesen Benutzer werden die ntopng-spezifischen Erweiterungen der Checkmk-Oberfläche ausgeblendet. Einem Checkmk „Normal monitoring user“ und Netzwerk-Azubi weisen Sie einen ntopng „Non Privileged User" zu. Einem Checkmk-„Administrator" und Netzwerkexperten weisen Sie einen ntopng „Administrator" zu.

Das Vorgehen für die flexible Zuordnung ist das folgende:

In den Ntopng Connection Parameters (chargeable add-on) wählen Sie für ntopng username to aquire data for den Wert Use the ntopng username as configured in the User settings aus.

Nachdem Sie die ntopng-Verbindungseinstellungen gesichert haben, wird in den Einstellungen jedes Benutzers (Setup > Users > Users) unter Identiy ein neues Feld eingeblendet, z.B. wie im folgenden für den Benutzer cmkadmin:

ntop user settings

Tragen Sie in das Feld ntopng Username den ntopng-Benutzernamen ein, dessen Informationen dem aktuellen Checkmk-Benutzer angezeigt werden sollen. Wenn dieses Feld leer bleibt (was der Default ist), werden für den Checkmk-Benutzer die ntopng-spezifischen Erweiterungen der Checkmk-Oberfläche ausgeblendet. Aktivieren Sie abschließend die Änderungen.

3. Die ntopng-Informationen anzeigen

Nachdem die im Kapitel Verbindung zu ntopng herstellen beschriebenen Voraussetzungen erfüllt sind, haben Sie nunmehr in Checkmk Zugriff auf die ntopng-Daten. Melden Sie sich dazu in Checkmk unter einem Benutzerkonto an, das einem ntopng-Benutzerkonto zugeordnet ist.

Im folgenden erhalten Sie einen Überblick darüber, wo und wie Sie auf die ntopng-Informationen in der Checkmk-Benutzeroberfläche zugreifen können.

3.1. Network statistics im Monitor-Menü

ntop menu monitor

Die auffälligste Änderung finden Sie im Menü Monitor, das das neue Thema Network statistics enthält mit Einträgen zu einem View und mehreren Dashboards mit ntopng-Daten, die wir in den nächsten Kapiteln vorstellen werden.

3.2. Ntop Hosts View

Checkmk und ntopng verwalten nicht nur ihre Benutzer, sondern auch ihre Hosts unabhängig voneinander. Falls ein Host in Checkmk aber auch in ntopng eingerichtet ist, wird er im Ntop Hosts View angezeigt, der damit die Schnittmenge von Checkmk- und ntopng-Hosts anzeigt.

Wählen Sie im Menü Monitor > Network statistics > Ntop Hosts:

ntop hosts action menu

Der Ntop Hosts View bietet die schnelle Übersicht über alle Hosts, die in beiden Systemen eingerichtet sind. Im obigen Beispiel gibt es zwei gemeinsame Hosts. Ein ntopng-Host zeigt im Action-Menü den Eintrag Ntopng integration of this host. Dieser Eintrag ist übrigens nicht nur in diesem sondern auch in allen anderen Host Views im Monitoring verfügbar, z.B. im All hosts View.

3.3. Netzwerk-Statistik eines Hosts

Klicken Sie für einen ntopng-Host den Action-Menüeintrag ntopng integration of this host und Sie erhalten die Host-spezifische Seite Network statistics and flows:

ntop nw statistics

Auf dieser Seite werden die Netzwerkdaten des ausgewählten Hosts aus unterschiedlichen Perspektiven auf den folgenden Reitern (tabs) präsentiert:

  • Host: Basisinformationen über den Host und Zusammenfassung der wichtigsten Informationen aus den anderen Reitern

  • Traffic: Informationen zum Layer-4-Protokoll (TCP und UDP) zur Übersicht als Tortendiagramm und detailliert als Tabelle

  • Packets: Verteilung der Flags in TCP-Verbindungen. Flags zeigen einen bestimmten Zustand der Verbindung an oder liefern zusätzliche Informationen. Die am häufigsten verwendeten Flags sind SYN (synchronization), ACK (acknowledgement), FIN (finish) und RST (reset).

  • Ports: Nach Client- und Server-Ports gruppierte Verkehrsstatistiken

  • Peers: Übersicht der am häufigsten kontaktierten Partner (peers) und der am häufigsten verwendeten Anwendungen — als Grafiken und Tabelle. Die Grafikelemente können zum Filtern angeklickt werden.

  • Apps: Menge des Datenverkehrs, aufgeteilt nach Anwendungen und zusammenfassenden Kategorien. Die Layer-7-Anwendungen werden durch eine tiefgehende Prüfung der Pakete (deep packet inspection) ermittelt. In der Anwendungstabelle sind die Anwendungsnamen verlinkt und führen zu einer ntopng-Seite mit Detailinformationen.

  • Flows: Tabelle der Datenflüsse (flows), die den ausgewählten Host als Anfangs- oder Endpunkt haben. Mehr Informationen erhalten Sie im Kapitel Flows Dashboard.

  • Engaged Alerts, Past Alerts, Flow Alerts: Tabellen der aktiven Alarme, vergangenen Alarme und Datenfluss-Alarme. Mehr Informationen erhalten Sie im Kapitel Alerts Dashboard.

In jedem Reiter können Sie mit dem Link View data in ntopng die zugehörige ntopng-Seite aufrufen, die Sie zu den ntopng Host Details führt.

Tipp: Sie können die Seite Network statistics and flows auch von den Views Services of Host und Status of Host aufrufen und dabei den Reiter auswählen, mit dem die Seite geöffnet wird. Beide Views bieten, wenn Sie für einen ntopng-Host aufgerufen werden, in ihrer Menüleiste das Menü ntop an, das Einträge für jeden einzelnen Reiter enthält.

3.4. Status eines Hosts

Auf der Seite Network statistics and flows klicken Sie in der Aktionsleiste auf Status of host, um den Status of Host View zu öffnen.

In diesem View werden die unterschiedlichsten Host-spezifischen Informationen in einer Tabelle anzeigt, die von Ihnen um ntopng-spezifische Einträge erweitert werden kann. Diese zeigen dann Informationen, die Sie bereits von einigen Reitern der Seite Network statistics and flows kennen — zum Teil aus Platzmangel aber nur eine Auswahl davon.

Um die ntopng-spezifischen Einträge zu nutzen, müssen Sie den View anpassen: Wählen Sie im Menü Display > Customize view. Auf der Seite Clone view werden die Spalten der Tabelleninhalt definiert.

Sie können die folgenden ntopng-spezifischen Einträge hinzufügen:

  • Hosts: Ntop hosts details: Zeigt die wichtigsten Informationen des Reiters Host

  • Hosts: Ntop protocol breakdown: Zeigt die Protokolltabelle des Reiters Traffic

  • Hosts: Ntop ports: Zeigt die Client- und Server-Tortendiagramme des Reiters Ports

  • Hosts: Ntop top peers: Zeigt das Anwendungs-Tortendiagramm des Reiters Peers

3.5. Alerts Dashboard

Das Alerts Dashboard gibt Ihnen den Überblick über alle Alarme in ntopng.

Wählen Sie im Menü Monitor > Network statistics > Alerts:

ntop dashboard alerts

Die erste Zeile zeigt eine Zusammenfassung für alle in ntopng eingerichteten Hosts mit der Zahl der aktuellen Alarme (Alerts und Flow Alerts).

Sie können mit den folgenden Reitern zwischen den Alarmtabellen wechseln:

  • Engaged: Tabelle der aktiven Alarme (engaged alerts). ntopng generiert Alarme, um die Überschreitung von Schwellwerten zu melden.

  • Past: Tabelle der vergangenen, nicht mehr aktiven Alarme (past alerts).

  • Flows: Tabelle der Datenfluss-Alarme (flow alerts), einer speziellen Kategorie, in der ntopng anomale oder verdächtige Datenflüsse meldet. Datenfluss-Alarme sind immer mit Ereignissen verknüpft. Sie werden in ihrer eigenen Kategorie gesammelt und tauchen nicht in der Tabelle der aktiven (oder der vergangenen) Alarme auf.

In allen Reitern gibt es oberhalb der Tabelle zwei Balkendiagramme mit der Verteilung nach Datum und Zeit, die Sie zum Filtern der Tabelle verwenden können: Markieren Sie durch Ziehen mit der Maus ein Zeitintervall in einem Diagramm — oder nacheinander auch in beiden. Der so definierte Filter wird unmittelbar auf die Alarmtabelle angewendet. Um den Filter wieder abzuschalten, klicken Sie außerhalb der Markierung in das Diagramm.

Hinweis: Dieses Dashboard ist ähnlich aufgebaut wie die drei alarm-spezifischen Reiter der Seite Network statistics and flows (siehe Kapitel Netzwerk-Statistik eines Hosts).

3.6. Flows Dashboard

Das Flows Dashboard gibt Ihnen den Überblick über die Datenflüsse (flows) in ntopng. Ein Datenfluss ist eine Verbindung per Layer-4-Protokoll zwischen Anfangs- und Endpunkt, jeweils bestimmt durch IP-Adresse und Port. Erst nach Beendigung der Datenübertragung kann ein Datenfluss angezeigt werden. Daher ist die Anzeige der Datenflüsse stets ein Blick in die Vergangenheit — auch wenn sie erst wenige Sekunden zurückliegt.

Wählen Sie im Menü Monitor > Network statistics > Flows:

ntop dashboard flows

Die erste Zeile zeigt, wie auch das Alerts Dashboard, eine Zusammenfassung für alle in ntopng eingerichteten Hosts.

Die Tabelle ist im wesentlichen identisch mit der Flows Tabelle in der ntopng-Oberfläche.

Hinweis: Dieses Dashboard ist ähnlich aufgebaut wie der Reiter Flows auf der Seite Network statistics and flows (siehe Kapitel Netzwerk-Statistik eines Hosts).

3.7. Top Talkers Dashboard

Das Top Talkers Dashboard zeigt Ihnen in Echtzeit, welche Hosts in ntopng den meisten Netzwerkverkehr verursachen.

Wählen Sie im Menü Monitor > Network statistics > Top Talkers:

ntop dashboard toptalkers

Im linken Teil des Dashboards werden die aktuellen „Top Talker“ gelistet, sortiert nach der Menge des ausgetauschten Datenverkehrs. Im oberen Bereich werden die Hosts im lokalen Netzwerk angezeigt, im unteren Bereich die Ziele in entfernten Netzwerken.

In den Diagrammen erhalten Sie zusätzlich einen Überblick über den Datenverkehr der Anwendungen (links) und der überwachten Schnittstellen (rechts), in der letzten Stunde (oben) und der letzten 24 Stunden (unten). Die in jedem Diagramm angezeigten Einträge der Legende sind anklickbar und können zum Filtern der Daten verwendet werden.

Hinweis: Dieses Dashboard ist ähnlich aufgebaut wie das Traffic Dashboard in der ntopng-Oberfläche.

3.8. Dashlets

Die in den letzten Kapiteln vorgestellten Dashboards Alerts, Flows und Top Talkers bestehen alle jeweils nur aus einem einzigen Dashlet.

Beim Editieren eines Dashboards können Sie diese ntopng-Dashlets verwenden, um bestehende Dashboards anzupassen oder neue zu erstellen. Den Einstieg in die Dashboard-Konfiguration finden Sie im Menü Dashboards > Customize Dashboards. Beim Editieren eines Dashboards finden Sie die ntopng-Dashlets, wie auch die anderen Dashlets, im Menü Add.

Auf dieser Seite