Montagmorgen im Büro: Der PC ist gerade hochgefahren, der Kaffee steht bereit, man will mit der Arbeit loslegen und – das WLAN funktioniert nicht. Was ist jetzt schon wieder kaputt?
Um das herauszufinden, kann ein WLC Check weiterhelfen. Denn der WLC liefert alle Daten, um zu überprüfen warum das WLAN diesmal streikt.

Aber fangen wir vorne an. Die WLC-Checks sind in einem Monitoringsystem eingebunden.

Mithilfe dieses Systems werden bestimmte Vorgänge überwacht. Ein Vorgang kann beispielsweise eine Netzwerkressource, wie ein Webserver sein. Dieser wird innerhalb des Monitorings aufgesetzt, um dessen Erreichbarkeit zu überwachen. So stellt das Monitoringsystem sicher, dass alle Vorgänge wie gewünscht handeln.

Sollte sich ein Vorgang unerwünscht verhalten, findet eine Alarmierung – meist per E-Mail – statt. Durch diese Benachrichtigung wird sichergestellt, dass im Fehlerfall die entsprechenden Kontaktpersonen zeitnah informiert werden.

Braintower Technologies verwendet aktuell hauptsächlich Icinga 2 für das Monitoring von Kundensystemen.

Ein Vorgang kann aber auch ein Check sein:

Was ist denn eigentlich ein Check?

Ein Check ist ein Skript, das innerhalb eines Monitoringsystems verwendet wird.

Bei einem Skript handelt es sich um eine Textdatei, in der sich ein Quellcode befindet. Diese Datei lässt sich ausführen, wie man es auch von Programmen unter Windows kennt. Wird unter Windows beispielsweise mit Doppelklick auf Microsoft Word, ein Textbearbeitungsprogramm geöffnet, wird bei Ausführung von ping, eine Textausgabe geliefert. Dabei nimmt das Skript eine Eingabe in Textform an, verarbeitet diese mithilfe des Quellcodes weiter und liefert anschließend eine Ausgabe – ebenfalls in Textform. Ein Beispiel wäre der Ping Befehl:

Dieses Skript erhält in diesem Beispiel als Texteingabe die Adresse von Google, versucht anschließend diese zu erreichen und liefert als Textausgabe die Ergebnisse der Prüfung: Die Erreichbarkeit der Webseite www.google.de.
Das Ergebnis, also die Textausgabe des Skriptes, wird dabei für die Ausgabe des Checks verwendet.

Wofür steht die Abkürzung WLC und was wird da genau „gecheckt“?

WLC steht für Wireless LAN-Controller oder auch WLAN-Controller. WLCs verwalten Access Points eines Netzwerkes, sorgen für automatische Konfiguration und Optimierung des Netzwerkes. Access Points sind Geräte, die mit einem kabelgebundenen Netzwerk verbunden sind und WLAN aussenden. Diese Geräte bieten Endnutzern einen Zugang zum Netzwerk, indem die Nutzer sich mit deren WLAN verbinden.  Zudem können die Statistiken des Netzwerkes, wie beispielsweise die Anzahl der Access Points und Anzahl der verbundenen Benutzer, von dem WLC abgefragt werden.

Mit diesen Daten lassen sich weitere Infos zu dem Netzwerk herauslesen und in WLC-Checks weiterverarbeiten.
Braintower Technologies hat derzeit drei unterschiedliche Checks für WLC im Einsatz. Überprüft wird hierbei:

  1. Ob ein Access Point seit mehr als sieben Tagen keinen verbundenen Benutzer hatte
  2. Ob ein Access Point plötzlich nicht mehr mit dem WLC verbunden ist
  3. Ob die Anzahl verbundener Benutzer eines Access Points größer als x ist

Ziel dieser Überwachung ist es, im Fehlerfall alarmieren zu können und Probleme genauer analysieren zu können. Eine Alarmierung findet beispielsweise dann statt, wenn mehr als 40 Benutzer gleichzeitig mit Access Point 1 verbunden sind. Eine hohe Anzahl verbundener Nutzer kann beispielsweise das oben angedeutete Problem mit dem schlechten WLAN herbeiführen.
Im Folgenden gehen wir genauer auf die umgesetzten WLC Checks ein.

Wie wurden die Checks umgesetzt?

Wie bereits weiter oben beschrieben, kann ein WLC auf Abfrage Statistiken seines Netzwerkes liefern. Die Abfrage erfolgt mithilfe von SNMP. Das Simple Network Management Protocol dient der Überwachung und Steuerung von Netzwerkkomponenten. Mit diesem Protokoll können über das Netzwerk Daten der einzelnen Elemente eines Netzwerkes abgefragt werden – in unserem Fall werden die Statistiken des WLC abgerufen. Damit die Daten dem Monitoring zur Verfügung stehen und weiterverarbeitet werden können, wurde zunächst ein Skript erstellt, welches die Abfrage via SNMP vornimmt und diese Daten anschließend abspeichert. Dieses Skript wird alle fünf Minuten ausgeführt und sorgt dafür, dass die Daten stets auf dem aktuellsten Stand sind. Die Speicherung der Daten erfolgt in einer lokalen Datenbank auf dem Monitoring Server. Da auf dem Monitoring Server theoretisch unendlich viele WLC konfiguriert sein können, werden die Daten jeweils mit dem entsprechenden Namen des WLC gespeichert, damit diese dem korrekten WLC zugeordnet werden können. Schlägt die Abfrage aus der Datenbank fehl, so wird, statt der Statistik, „Failed“ in die Datenbank geschrieben, damit das Monitoring bei der weiteren Verarbeitung entsprechend über die fehlerhafte Abfrage informiert ist.
Da jetzt alle Daten vorhanden sind, konnten die eigentlichen WLC Checks entwickelt werden:

Connected Clients Check

Dieser Check prüft, ob die Anzahl der verbundenen Nutzer eines Access Points einen bestimmten Schwellwert übersteigt. Hintergrund für diesen Check ist die mögliche schlechte Verbindungsqualität und niedrige Bandbreite eines Access Points, wenn zu viele Benutzer gleichzeitig mit diesem verbunden sind.
Zunächst ruft der Check die zuvor in der Datenbank gespeicherte Statistik ab. Sollte hier der Text „Failed“ vorhanden sein, wird der Check alarmieren. Steht die Statistik zur Verfügung, wird diese weiterverarbeitet.
Zunächst wird mithilfe einer Volltextsuche mit bestimmten Schlüsselwörtern jeder Access Point und die Anzahl seiner Nutzer ermittelt:

Das Ergebnis dieser Suche wird in einer Liste gespeichert, so dass jeder Access Point mit der Anzahl seiner Nutzer abgespeichert ist. Anschließend wird jeder Access Point aus der Liste mit dem definierten Schwellwert verglichen – sind beispielsweise mehr als 40 Benutzer auf einem Access Point verbunden, wird alarmiert.

No Connection for 7 Days

Dieser Check prüft, ob ein Access Point seit mehr als sieben Tagen keinen verbundenen Nutzer mehr hatte. Dazu verwendet der Check eine eigene Datenbank, in der jeder Access Point gespeichert wird, der aktuell keinen verbundenen Benutzer hat. Dabei wird sowohl der Zeitpunkt des Auffindens, als auch der Name des Access Points gespeichert, damit später klar ist, ab wann genau dieser Access Point keine Nutzer mehr verbunden hatte.
Hintergrund für diesen Check ist, dass ein Access Point, der über einen längeren Zeitraum keine verbundenen Nutzer hat, eventuell nicht benötigt wird. Durch diese Einsicht kann der Access Point an anderer Stelle sinnvoller eingesetzt werden und das Netzwerk kann weiter optimiert werden.
Bis die Liste der Access Points mit Benutzeranzahl vorhanden ist, ist die Abfrage und Verarbeitung der Statistik zunächst identisch mit dem obigen Check der verbundenen Benutzer. Anschließend wird die Liste mit den Einträgen in der eigenen Datenbank verglichen.
Dabei wird folgendermaßen vorgegangen:

  1. Hat der Access Point aus der Liste aktuell 0 verbundene Benutzer?
    1. Wenn ja -> Weiter zu Schritt 2
    2. Wenn nein -> Zurück zu Schritt 3
  2. Wurde versucht den Access Point in der Datenbank zu speichern, er war aber bereits vorhanden?
    1. Wenn ja -> Weiter zu nächstem Access Point in der Liste und zurück zu Schritt 1
    2. Wenn nein -> Speichere den Access Point in der Datenbank, weiter zu nächstem Access Point in der Liste und zurück zu Schritt 1
  3. Prüfe ob der Access Point in der Datenbank vorhanden ist
    1. Wenn ja -> Entferne den Access Point aus der Datenbank, weiter zu nächstem Access Point in der Liste und zurück zu Schritt 1
    2. Wenn nein -> Weiter zu nächstem Access Point in der Liste und zurück zu Schritt 1

 

Nachdem die Datenbank jetzt auf den neusten Stand gebracht wurde und nur Access Points enthält, die aktuell keine verbundenen Benutzer haben, folgt jetzt die Prüfung, ob ein Access Point bereits seit mehr als sieben Tagen keinen verbundenen Benutzer hatte. Da in der Datenbank der Zeitpunkt des Auffindens gespeichert wurde, kann hier einfach die Differenz aus dem aktuellen Zeitpunkt und dem Zeitpunkt des Auffindens durchgeführt werden. Beträgt die Differenz mehr als 168 Stunden (7 Tage), wird alarmiert.

Missing Access Point

Dieser Check prüft, ob ein Access Point, der zuvor mindestens 24 Stunden mit dem WLC verbunden war, plötzlich nicht mehr mit dem WLC verbunden ist. Der Check nutzt ebenfalls eine eigene Datenbank für das Speichern seiner Daten. Hierbei wird der Name des Access Points, der Zeitpunkt des ersten und letzten Auffindens und der entsprechende WLC für die Zuordnung gespeichert. Jedes Mal wenn ein Access Point in der Statistik vorhanden ist, wird der Zeitpunkt des letzten Auffindens in der Datenbank aktualisiert.
Hintergrund für diesen Check ist, dass ein Access Point, der plötzlich nicht mehr mit dem WLC verbunden ist, auf einen ungeplanten Ausfall hindeuten kann. Hier soll dann alarmiert werden, damit der Ausfall untersucht werden kann.

Bis die Liste der Access Points mit Benutzeranzahl vorhanden ist, ist die Abfrage und Verarbeitung der Statistik zunächst identisch mit dem obigen Check der verbundenen Benutzer. Anschließend wird die Liste mit den Einträgen in der eigenen Datenbank verglichen.
Dabei wird folgendermaßen vorgegangen:

  1. Ist der Access Point in der Datenbank vorhanden?
    1. Wenn ja -> Aktualisiere den Zeitpunkt des letzten Auffindens und prüfe den nächsten Access Point in der Liste
    2. Wenn nein -> Speichern des Access Point in der Datenbank, weiter zu nächstem Access Point in der Liste und zurück zu Schritt 1
    3. Nachdem für alle Access Points Schritt 1 durchgeführt wurde, zurück zu erstem Access Point und weiter zu Schritt 2
  2. Ist der Access Point nicht in der Liste, aber in der Datenbank vorhanden?
    1. Wenn ja -> Weiter zu Schritt 3
    2. Wenn nein -> Weiter zu nächstem Access Point in der Liste und zurück zu Schritt 2
  3. Ist der Access Point bereits seit mehr als 24 Stunden verschwunden?
    1. Wenn ja -> Alarmierung
    2. Wenn nein -> Weiter zu nächstem Access Point in der Liste und zurück zu Schritt 2

Nach Abschluss der Überprüfung wurde entweder alarmiert, oder die Liste wurde ohne Beanstandung überprüft. Wurde nicht alarmiert, ist alles in Ordnung und der Check ist im Monitoring OK.

Fazit

Mit den entwickelten WLC-Checks lässt sich das ohnehin große Potenzial eines WLC noch weiter ausschöpfen. Probleme, wie ein nicht funktionierender WLAN-Zugriff oder Access Points, die eigentlich gar nicht benötigt werden, können frühzeitig entdeckt und behoben werden. Durch die Alarmierung werden die betroffenen Personen schnellstmöglich informiert und Präventivmaßnahmen können zeitnah erfolgen.
Letztendlich ist der Einsatz von WLC-Checks gerade bei größeren Netzwerken sehr zu empfehlen.

Michel Wagner

Michel Wagner

Auszubildender Anwendungsentwicklung

Gefällt dir der Artikel? Bitte teile ihn!
Share on Facebook
Facebook
0Share on LinkedIn
Linkedin
Email this to someone
email
Tweet about this on Twitter
Twitter