Netzwerk & IP

NetAlertX: Geräte im Netzwerk überwachen, Vorfälle melden

Server geht offline? Neues Smartphone im Netz? Die Open-Source-Lösung NetAlertX macht Monitoring einfach

Das große Stichwort bei NetAlertX ist einfach. Im Gegensatz zu großen, allumfassenden Monitoring-Lösungen, die schnell einen Vollzeit-ITler auf Trab halten, fokussiert sich das clevere Tool auf eine Kernaufgabe: An- und Abmeldungen von Geräten im Netzwerk erkennen, in hübschen Ansichten darstellen und melden - über so ziemlich alle bekannten Wege. Und genau darum ist es einfach!

Hürden vorweg

Bevor es an Installation und Konfiguration geht, erstmal ein Blick auf das fertige System, Features und Hürden. Die Hürde ist wohl vor allem der Umgang mit Geräten, denn diese werden via MAC-Adresse eindeutig identifiziert. Und das kann in einigen Fällen problematisch sein:

  • Gerät mal per WLAN, mal per LAN im Netz: Zwei MAC-Adressen, Gerät wird doppelt gezählt.
  • Gerät per WLAN und LAN in unterschiedlichen Netzen, aber mit gleicher MAC unterwegs: NetAlertX kann einer MAC nicht mehrere IPs und Schnittstellen zuordnen.
  • Moderne WLAN-Geräte: Ändern bisweilen bei jeder Anmeldung die MAC-Adresse, kaum überwachbar.

Allerdings lässt sich mit Fall 1 (meist Laptops) vermutlich oft gut umgehen - mobile Laptops sind nun mal mal im Netz, mal nicht, da muss man nicht immer benachrichtigen. Fall 2 dürfte schlicht nicht oft vorkommen; hier geht es um Subnetze/VLANs und die werden häufiger per Tags umgesetzt als über unterschiedlicher Netzwerkadapter (und normale Subnetze kann NetAlertX). Üblicher ist eh, dass LAN und WLAN unterschiedliche MAC-Adressen haben, etwa bei Raspi & Co. Und Fall 3: Nicht eindeutig identifizierbare Geräte sollten in professionellen Netzwerken wohl eh nichts zu suchen haben 😉

doppelte mac.
Zwei Netzwerkschnittstellen, eine MAC - problematisch, aber selten

Lässt man mobile Geräte und komplizierte Subnetz-Konfigurationen mal außen vor, kann NetAlertX aber nützlich für Netzwerke jeglicher Größenordnung sein. Insbesondere, wenn es vor allem darum geht, Ausfälle von fixen Geräten wie Servern, Smart-Geräten, Router und dergleichen im Auge zu behalten.

Features

Im Grunde gibt es hier nicht viel zu sagen: NetAlertX scannt Netzwerke, inventorisiert alle gefundenen Geräte und scannt fortan regelmäßig, ob bekannte Geräte on-/offline gehen und ob neue Geräte auftauchen. Und wenn solch ein Ereignis/Event auftritt, könnt Ihr Euch eine Benachrichtigung schicken lassen - per Mail, per Telegram und etliche weitere Services.

Es gibt auch eher professionelle Features, beispielsweise lassen sich mehrere, unabhängige Netze in separaten NetAlertX-Installationen überwachen und miteinander synchronisieren. Auch SNMP-Geräte können via Plugin berücksichtigt werden.

Die Oberfläche kann zudem Zeitleisten zu Präsenzzeiten zeigen und das Netzwerk visualisieren, es lassen sich Backups erstellen, mehrere Geräte gleichzeitig bearbeiten und reichlich Logs studieren.

netalertx-oberfläche.
Das Dashboard - hübsch und übersichtlich

Wozu also NetAlertX? Um Benachrichtigungen zu bekommen, wenn sich anmelden, on- oder offline gehen - mit minimalem Aufwand.

Installation

Es gibt viele Möglichkeiten, NetAlertX zu installieren, empfohlen ist der Betrieb als Docker-Container - das macht es tatsächlich maximal einfach. Nun, wenn Ihr Docker noch nie gesehen habt ... Immerhin haben wir auch ein Tutorial dazu, hier nur das Nötigste.

Zunächst mal muss natürlich Docker selbst installiert werden. Das geht über diverse Software-Center, als Desktop-Anwendung, für den Terminal und so weiter - schaut hier bei Docker selbst.

Für den Debian-/Ubuntu-Terminal sieht es - Stand heute! - so aus, kopiert aus der Doku:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Sieht lästig aus, funktioniert aber seit Jahr und Tag problemlos.

Nun kann NetAlertX installiert werden:

 mkdir -p /apps/netalertx/config /apps/netalertx/db

sudo docker run -d \
--restart always \
--network=host \
-v /apps/netalertx/config:/app/config \
-v /apps/netalertx/db:/app/db \
-e TZ=Europe/Berlin \
-e PORT=20211 jokobsk/netalertx:latest

Das mkdir-Kommando erstellt zunächst Pfade für Konfiguration und Datenbank auf dem Host-Rechner - außerhalb des Containers natürlich, schließlich sollen die Daten ja persistent sein.

Im Gegensatz zur Original-Doku ist hier die Option restart always gesetzt, damit der Container auch nach System-Neustarts wieder startet. Im Original ist die rm-Option gesetzt, die den Container nach einem Stop löscht. Führt man obiges Kommando erneut aus, würde entsprechend ein neuer Container mit den alten Daten gestartet. Schaut, wie Ihr es braucht.

Wichtig ist auch network=host, damit der NetAlertX-Container überhaupt andere Netzwerke erreichen kann.

Dann werden die Verzeichnisse für Datenbank und Konfiguration angebunden, die Zeitzone gesetzt sowie der Port: Über diesen ist NetAlertX dann im Browser zu erreichen, unter der IP des Docker-Gastgebers, also zum Beispiel 192.168.178.300:20211. Letztlich wird die Quelle für NetAlertX angegeben.

Der erste Scan

Im Grunde ist der erste Schritt einfach: Weboberfläche aufrufen und warten - bis Ergebnisse zu sehen sind, dauert es einige Minuten, selbst in kleinen Umgebungen.

Aber sagen wir, es passiert nichts - dann solltet Ihr unter Settings/Core/Networks to scan/ nachschauen, ob die Netzwerkkonfiguration korrekt ist. In einem Fritzbox-Netzwerk wird das ziemlich genau so aussehen:

192.168.178.0/24 --interface=wlo1

Interessant ist hier eigentlich nur 0/24: Das heißt, dass alle möglichen Werte gescannt werden sollen, also 0 bis 254 - wir haben zu dieser Notation auch eine Erklärung. Und als Interface wird eben die Netzwerkkarte angegeben, hier etwa das WLAN-Modul.

verbinungen in netalertx.
Die wichtigste Einstellung: zu scannende Netzwerke

Fleißarbeit: Geräte einrichten

Nun folgt der Schritt, der wirklich Arbeit macht: Die automatisch gefundenen Geräte einmalig bearbeiten. NetAlertX findet zwar bisweilen nützliche Daten wie den Hersteller, aber nicht immer gute Namen - die meisten Geräte heißen komplett kryptisch, bleiben unbenannt oder enthalten nur Hinweise.

Zumal die Quellen für Namen auf entdeckten Geräten auch vielseitig sein können. Ich hatte hier zum Beispiel ein Gerät namens weg2local und keine Ahnung, wo der Name herkam. Das Ende vom Lied: Vor Jahren hatte ich in der Hosts-Datei mal einen Eintrag zu Testzwecken hinterlassen, der nun für den Namen sorgte.

Folgendes solltet Ihr für jedes neue Gerät tun:

  • Gerät aufrufen
  • Guten Namen vergeben
  • Status "New Device" entfernen
  • Benachrichtigungen konfigurieren

Erfreulicherweise könnt Ihr der Reihe nach durch alle Geräte gehen, ohne immer wieder zurück zur Liste zu navigieren - einfach speichern und dann oben rechts das nächste Gerät aufrufen.

details in netalertx.
Die Eigenschaften sollte man für jedes Gerät einmal anpassen

Tipps für die Namen: Oft liefern die Hersteller-Infos schon genug, um Geräte zu identifizieren. Auch Euer Router könnte andere, hilfreichere Informationen anbieten - abgleichbar über die IP-Adressen. Dinge wie zum Beispiel Amazons Echo-Dots sehen dennoch alle gleich aus, da hilft nur die Recherche nach der MAC-Adresse - in diesem Fall über die Alexa-App auffindbar. Wenn es gar nicht anders geht: Nehmt ein Gerät aus dem Netzwerk und schaut in der Liste, welches verschwindet ...

Tipp für die Benachrichtigung: Lasst das System erstmal eine Zeitlang laufen - vermutlich bekommt Ihr schnell Hunderte Meldungen. Schaut Euch diese an und deaktiviert gegebenenfalls Geräte, die sich ständig an- und abmelden, ohne dass das relevant wäre (zum Beispiel Echo-Dots, Smartphones etc.). Und erst, wenn sich die Anzahl an Meldungen in einem vernünftigen Rahmen hält, solltet Ihr Benachrichtigungen wirklich aktivieren.

Benachrichtigung einrichten

Meldungen innerhalb von NetAlertX sind gut und schön, aber Ihr wollt ja nicht ständig auf das Dashboard gucken. Wie hättet Ihr Eure Benachrichtigungen gerne? Per Mail? Per Telegram? Per Pushover? Per Apprise-Plugin geht es letztlich über so ziemlich alle großen Services zum Melden von IT-Vorfällen.

Standardmäßig ist der Email-Versand verfügbar, aber natürlich nicht aktiviert. Zu finden unter Settings/Publishers. Vorkonfiguriert ist dies für Gmail, Name und Passwort würden hier genügen - und When to run muss natürlich aktiviert werden.

Für andere Versandwege müsst Ihr zunächst weitere Publisher-Plugins aktivieren - weiter oben unter Settings/Core/Loaded plugins. Völlig unerwartet öffnet hier ein Klick auf das graue Feld eine Auswahl an Erweiterungen.

plugins in netalertx.
Etwas komisches Menü: Die graue Fläche öffnet die Auswahl der Plugins

Wählt hier das gewünschte Plugin, etwa Apprise oder Telegram, speichert und öffnet dann die Apprise-Einstellungen unter Settings/Publishers.

netalertx-publilsher.
Die Publisher sind die Benachrichtigungs-Plugins für Mail, Telegram, Incident-Dienste etc.

Was genau Ihr dort eingeben müsst, hängt freilich vom Dienst ab - in der Regel Name/Passwort, eine URL oder ein Token.

Praxistipp: Sofern auch andere Menschen von Vorfällen benachrichtigt werden sollen, lasst das System besser erstmal einige Zeit laufen. Es kann immer mal vorkommen, dass irgendetwas im Netzwerk kontinuierlich für Ereignisse sorgt - und wenn dann minütlich drei Mails kommen, werden Leute unglücklich ...

Fazit

Und damit ist das Monitoring im Wesentlichen fertig eingerichtet. Ihr könnt freilich weitere Plugins installieren, Geräte mit weiteren, individuellen Eigenschaften versehen (zum Beispiel Links zu Dokus oder dergleichen), in den Systemeinstellungen an der Performance, Scannern und Zeitplänen arbeiten, aber das ist nur Feintuning.

Man könnte sich bei NetAlertX schnell etliche weitere Features wünschen. Flexibleren Umgang mit MAC-Interface-Geräte-Kombinationen, eine Nutzerverwaltung, explizite Unterstützung für Container ... aber es würde auch immer komplexer und irgendwann würde man doch wieder bei etwas wie Checkmk enden (auch Open Source, Made in Germany und bei uns reichlich vertreten).

Aber NetAlertX basiert auf dem nicht mehr gepflegten Pi.Alert - und dass ein explizit für den Raspberry Pi gedachtes Monitoring eher Heim- und sonstige kleinere Netzwerke gedacht ist, dürfte klar sein. Und da macht das Open-Source-Monitoring eine verdammt gute Figur! Oder Netzwerk-Präsenz-Scanner, wie es sich selbst auch nennt. Und allein die Ansicht dieser Präsenzzeiten ist doch schon wundervoll:

präsenzzeiten als graph.
Präsenzzeiten - welche Geräte sind wann off- oder online?

Und für den Betrieb bietet sich natürlich ein Raspi an:

23% sparen
Raspberry Pi 5 8 GB
111,89 €
86,32 €
(Stand: 04.08.2025 09:58 - Details)
Verkäufer: Astradis Elektronik
Zum Angebot bei Amazon
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Mirco Lang

Freier Journalist, Exil-Sauerländer, (ziemlich alter) Skateboarder, Dipl.-Inf.-Wirt, Einzelhandelskaufmann, Open-Source-Nerd, Checkmk-Handbuchschreiber. Ex-Saturn'ler, Ex-Data-Becker'ler, Ex-BSI'ler. Computer-Erstkontakt: ca. 1982 - der C64 des großen Bruders eines Freunds. Wenn Ihr hier mehr über Open Source, Linux und Bastelkram lesen und Tutonaut unterstützen möchtet: Über Kaffeesponsoring via Paypal.freue ich mich immer. Schon mal im Voraus: Danke! Nicht verpassen: cli.help und VoltAmpereWatt.de. Neu: Mastodon

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Schaltfläche "Zurück zum Anfang"