Tkined neu aufleben lassen

Noam Armonn, 123RF

Bergungsfahrt

Die meisten Monitoring-Tools arbeiten heute webbasiert. Eine Alternative dazu ist das in Tcl/Tk geschriebene Tkined, das allerdings erst wieder aus den Untiefen des Internet gehoben werden muss.
ADMIN 11/13 stellt die besten Lösungen vor und klärt, ob Browser-Plugins, Anonymisierer sowie Verschlüsselung wirklich helfen. Weitere Themen: Small ... (mehr)

Es ist schon eine komische Sache mit diesen Open-Source-Projekten. Manche werden über Nacht erfolgreich, während andere ein Schattendasein fristen und dann in der Versenkung verschwinden. Und sage keiner, dass sich dabei immer Qualität durchsetzt …

In den neunziger Jahren war einmal eine Anwendung namens Tkined (Tcl/tK based Interactive Network EDitor) recht populär. Damals machte sich Linux gerade zu seinem Siegeszug in der Unix-Welt auf, aber die Firmenwelt war noch von kommerziellen Unix-Systemen dominiert. Auf ihnen setzten viele Administratoren das mehrere Tausend Dollar schwere HP Openview zur Verwaltung ihrer Netzwerke ein. 1993 stellte der Programmautor Jürgen Schönwälder erstmals auf der US-amerikanischen LISA-Konferenz seine Schöpfung vor: ein in Tcl geschriebenes Modul zum Netzwerkmanagement, das er mit einer Shell und einem grafischen Frontend bündelte. Es waren die Zeiten, in denen Linux-Anwender ihre grafische X11-Oberfläche noch manuell mit dem Befehl »startx« starteten, wenn sie es überhaupt schafften, die Modelines für ihren Monitor richtig zu konfigurieren.

Modesache

Heute ist Jürgen Schönwälder Professor an der Jacobs-Universität Bremen und Tkined eine der vielen Projektleichen im Internet. Dabei gibt es nicht einmal einen legitimen Nachfolger für das Projekt. Wie es scheint, ist Netzwerkmanagement einfach aus der Mode gekommen und von Monitoring-Systemen wie Nagios verdrängt worden, die heute den Ton angeben. Mit ein wenig Mühe lässt sich Tkined aber reanimieren und noch einmal ein Blick auf ein im Grunde vielversprechendes Open-Source-Projekt werfen.

Die Tcl-TNM-Extension beherrscht eine ganze Reihe von Protokollen, die das Erforschen und Überwachen eines Netzwerks vereinfachen sollen, etwa ICMP, UDP, DNS, HTTP, RPC, NTP sowie SNMP 1 und 2. Über die Netzwerkprotokolle hat die Tcl-TNM-Extension auch Zugriff auf das Syslog des Rechners, auf dem das Paket installiert ist. Zu der gewünschten Implementierung von SNMP 3 ist es nicht mehr gekommen; auch IPv6 ist ein Eintrag auf der Feature-Wunschliste geblieben.

Ein kleines Problem bei der Installation besteht schon einmal darin, den möglichst aktuellen Quellcode von Tkined/Scotty zu lokalisieren. Es kursieren eine Reihe von Hinweisen, die wiederum tote Links enthalten oder auf Versionen verweisen, die uralte Tcl-Versionen voraussetzen. Um es kurz zu machen: Am meisten Erfolg verspricht die Version, die in Schönwälders Subversion-Repository zu finden ist [1]. Es funktioniert mit der Tcl/Tk-Version, die zumindest auf aktuellen Debian-Systemen noch in den Paketquellen enthalten ist. Die Pakete lassen sich bei Bedarf so installieren:

apt-get install tk8.4 tk8.4-dev tcl8.4 tcl8.4-dev

Eine Alternative, die Kompatibilität mit Tcl/Tk 8.5 verspricht, ist in einem Github-Repository [2] zu finden. Sie ließ sich letztlich zwar kompilieren und starten, stürzte aber beim Laden der Module ab. Also zurück zum Subversion-Repository. Nach dem Auschecken per »svn co« muss man laut Readme-Datei in das »unix« -Verzeichnis wechseln und nach »configure« ein paar Make-Befehle eingeben:

cd unix
./configure
make
make install
make sinstall

Leider funktionierte nach dem Übersetzen schon die Installation mit »make install« nicht und brach mit einem lapidaren »initialization failed« ab. Wie sich herausstellte, war das der Make-Schritt »tnm-install-mibs« , der die MIB-Dateien auf die Festplatte schreibt und sie dann zum Parsen an den Scotty-Interpreter übergibt, von dem die wenig aussagekräftige Fehlermeldung stammt.

Zwei Stunden später – als Redakteur hat man schließlich ja auch sonst nichts zu tun – war der Fehler schon gefunden: Beim Laden des TNM-Moduls konnte der dynamische Linker das Symbol »__dn_expand« nicht auflösen, das zur DNS-Resolver-Bibliothek gehört. Editiert man das Makefile, findet man an den entsprechenden Stellen sogar die Link-Anweisungen »-lresolv« , aber sie sind auskommentiert. Entfernt man die Kommentarzeichen und übersetzt das Tkined-Paket mit »make« neu, funktioniert alles wie gewünscht. Den Fehler in der Autoconf-Datei »configure.in« zu fixen, wie es sich eigentlich gehört, habe ich mir fürs Erste gespart.

Beim Starten von »tkined« tritt unter Umständen noch eine Fehlermeldung auf, weil die shared Library »tkined.so« nicht gefunden wird. Das lässt sich beheben, indem man die Umgebungsvariable »TCLLIBPATH« passend setzt:

export TCLLIBPATH=/usr/local/lib/

Schon startet Tkined und man bekommt die GUI in Abbildung 1 zu sehen. Unter »Tools | IP-Discover« ist das Modul für die Discovery von Netzwerkgeräten zu finden. Wählt man es aus, erscheint rechts vom Tools-Menü ein neues Menü mit dem Namen »IP-Discover« . Nach der Auswahl von »Discover IP Network« erscheint ein Dialog, der zur Eingabe des Netzes auffordert, zum Beispiel eines Class-C-Netz wie 192.168.1.0.

Abbildung 1: Tkined zeigt die gefundenen Netzwerke an.

Routen-Suche

Analog funktioniert »Discover Route« : Einfach ein Ziel eingeben und wenige Sekunden später zeigt Tkined die gefundene Route an. Besonders übersichtlich ist das Ergebnis erst einmal nicht. Allerdings bringt Tkined auch ein Modul fürs automatische Layout von Netzwerkdiagrammen mit, das ebenfalls unter »Tools« zu finden ist. Ist das Menü aktiviert, genügt es mit [a] (oder über das Menü »Select | Select All« ) alle Knoten zu markieren und dann unter »IP Layout« den Punkt »Layout Network« auszuwählen.

Das ist noch nicht perfekt, aber durch etwas manuelle Nacharbeit leicht zu korrigieren. Zum Verschieben von grafischen Elementen hat Tkined die mittlere Maustaste vorgesehen. Die Funktion »Group Network« verhilft hier noch zu etwas mehr Übersicht, weil sie die traversierten Subnetze in Icons verwandelt. Das Ergebnis ist in Abbildung 1 zu sehen. Wer weiß, was sich im eigenen Netz hinter jeder Adresse verbirgt, kann in Tkined ein passendes Icon auswählen und so für mehr Übersicht sorgen.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019