Multi-Core-Lastmesser Cpumon 2.4, Shell-History-Archivar Hstr 1.22, Systemprotokollauswerter Lnav 0.8.2, Datenbankkonverter SQLiteBiter 0.6.2.
Lastmesser
Mit Cpumon 2.4 prüfen Sie die Leistungsfähigkeit eines Systems oder behalten einfach nur die Prozessorlast im Auge.
Ältere Tools zum Beobachten der Prozessorlast geben die Lastverteilung von Mehrkernprozessoren meist fehlerhaft wieder. Hier schafft das Kommandozeilenwerkzeug Cpumon Abhilfe. Das C-Programm erfasst die Last aller Prozessorkerne und stellt sie als übersichtliche Ausgabe zusammen. Beim ersten Aufruf nimmt Cpumon eine Eichung des Systems vor, indem es über das mitgelieferte Tool Load den Prozessor unter Last setzt. Cpumon ermittelt nun die Lastdaten des letzten Prozessorkerns und speichert sie unter /var/lib/cpumon/calibration.txt ab. Dazu benötigt es Administratorrechte, alle weiteren Arbeiten führt es mit Userrechten aus.
Rufen Sie Cpumon ohne Parameter auf, gibt es die aktuelle Auslastung aller Prozessorkerne aus und aktualisiert die Anzeige alle fünf Sekunden. Ein abweichendes Aktualisierungsintervall geben Sie mit dem Parameter -t beim Programmstart vor. Mit der Option -s legen Sie die Laufzeit von Cpumon in Sekunden fest, mit dem Schalter -v erhöhen Sie die Auskunftsfreudigkeit von Cpumon.
Gegebenenfalls erzeugen Sie als Root mit dem im Quellarchiv enthaltenen Tool Load selbst Last. Standardmäßig generiert es nur 10 Prozent Last auf dem ersten Prozessorkern. Mit dem Parameter -l geben Sie eine prozentuale Auslastung vor, der Parameter -c legt den unter Last zu setzenden Prozessorkern fest.
In der aktuellen Version benötigt Cpumon für die Erfassung der Prozessordaten nicht mehr die Informationen aus /proc/cpuinfo. Außerdem unterstützt das Tool nun auch die Hyperthreading-Funktion von Intel und läuft auch unter Net- und FreeBSD.
Historiker
Nutzen Sie den Befehlsverlauf der Shell intensiv, erweist sich Hstr 1.22 dabei als echte Hilfe.
In einer umfangreichen Shell-History gerät das Aufspüren einer bestimmten Befehlsfolge schnell zur Suche nach der Nadel im Heuhaufen. Die Shell History Suggest Box, auch Hstr genannt, schafft hier Abhilfe. Nach dem Kompilieren des Quellcodes legt die Installation die identischen Dateien hh und hstr unter /usr/local/bin/ ab. Beim Aufruf liest Hstr den Befehlsverlauf der Datei .bash-history aus und führt ihn in einer Curses-Oberfläche übersichtlich auf. Sie geben nun in der obersten Zeile das Suchmuster für den gesuchten Befehl an, und Hstr aktualisiert seine Anzeigeliste während der Eingabe. Letzten Endes zeigt Hstr nur noch jene Verlaufseinträge an, auf die das Suchmuster passt. Mit dem Cursor treffen Sie die endgültige Auswahl und bestätigen diese mit der Eingabetaste. Hstr gibt den Befehl dann direkt zur Ausführung an die jeweilige Shell weiter.
Wollen Sie den Befehl nur weitergegeben und nicht sofort ausführen, bestätigen Sie die Auswahl per [Tab]. Über [Strg]+[E] beeinflussen Sie die Art der Suche. Standardmäßig zeigt Hstr nur exakte Treffer, durch wiederholtes Drücken des Tastenkürzels wechseln Sie zwischen exakter Suche, Schlüsselwort und regulärem Ausdruck. Für eine schreibweisenabhängige Suche drücken Sie [Strg]+[T]. Standardmäßig sortiert Hstr die Ausgabe nach einem einfachen Ranking, bei dem es die Relevanz des Befehls anhand von Befehlslänge, Zeitstempel und Häufigkeit des Vorkommens bewertet. Mit [Strg]+[**7**] wechseln Sie zwischen Verlaufsansicht und Favoritenliste. Häufig verwendete Befehle kennzeichnen Sie mit [Strg]+[F] als Favoriten. Hstr ermöglicht außerdem das nachträgliche Bearbeiten des Befehlsverlaufs. Um Hstr in die Shell-Umgebung zu integrieren, ermitteln Sie mit dem Schalter -s (Bash) oder -z (Z-Shell) die nötigen Einstellungen und tragen diese in die Konfiguration der jeweiligen Shell ein.
Protokollant
Beim Auswerten von Protokolldateien aller Art erleichtert Lnav 0.8.2 die Arbeit.
Lnav bereitet den Inhalt von Log-Dateien vor der Anzeige optisch auf und hebt wichtige Einträge farblich hervor. Dabei setzt es Warnungen in gelber Schrift ab, Fehler hingegen in roter. Sie können außerdem mithilfe des Befehls highlight über Suchmuster definieren, welche Einträge das Tool hervorheben soll. Die verwendete Farbe legt das Tool jedoch selbstständig fest.
Die Befehlseingabe erfolgt bei Lnav im Vi-Stil. Mit / leiten Sie etwa eine Suche in der Log-Datei ein, bei der Lnav sämtliche Treffer farblich hervorhebt. Mit : wechseln Sie in den Befehlsmodus und geben das gewünschte Kommando samt Parameter ein. So blenden Sie beispielsweise Logeinträge mit den Befehlen filter-in und filter-out aus. Lnav unterstützt außerdem das Filtern der Ausgabe mit SQL-Befehlen, wozu es sich der Virtual-Table-Funktion von SQLite3 bedient. Lnav erzeugt dazu für gängige Log-Dateien wie syslog, strace.log und Apaches access.log einfache Tabellen in einer SQLite-Datenbank, auf denen es die SQL-Befehle ausführt. Mit ; aktivieren Sie den SQL-Modus.
Eine Übersicht aller Lnav-Befehle sowie Beispiele für das Verwenden von SQL-Statements finden Sie in der Online-Hilfe von Lnav, die Sie über help oder das Tastenkürzel [?] aufrufen. Die Manpage liefert nur Informationen zu den Kommandozeilenparametern. Neuere Version von Lnav verarbeiten auch Log-Dateien im JSON-Format und bieten ein rudimentäres Syntax-Highlighting für SQL-Statements und Suchmuster. Kompilieren Sie Lnav mit Libcurl-Unterstützung, kann es auch Remote-Dateien verarbeiten.
Konverter
Aus tabellarischen Daten in den gängigsten Formaten erzeugt SQLiteBiter 0.6.2 im Handumdrehen eine SQLite-Datenbankdatei.
SQLiteBiter hilft dabei, vorliegende Daten ohne großen Aufwand ins SQLite-Format zu übertragen. Es wandelt dazu tabellarische Inhalte aus den Dateiformaten CSV, LTSV, JSON, Markdown, Excel und Google Sheets in eine SQL-Datenbank um. Das Quellformat erkennt Sqlitebiter automatisch anhand der Dateierweiterung. Die Konfiguration erfolgt über die Kommandozeilenparameter --append, --verbose, --silent und --debug. Den Namen der Zieldatenbank geben Sie mittels des Parameters -o an.
Über die Unterbefehle file, url und gs legen Sie die Datenquelle fest. Um etwa eine CSV-Datei in eine SQLite-Datenbank zu konvertieren, rufen Sie SQLiteBiter mit dem Unterbefehl file sowie dem Namen der CSV-Datei auf. Um die Daten an eine bestehende Datenbank anzufügen, setzen Sie vor file den Parameter --append.
Um Online-Daten in eine Datenbank zu überführen, geben Sie statt file den Unterbefehl url an, gefolgt von der jeweiligen URL. Da sich das Quellformat hier mangels Dateierweiterung nicht automatisch ermitteln lässt, legen Sie es mit dem Parameter --format fest. Ohne Formatangabe geht SQLiteBiter von einer HTML-Datei aus. Standardmäßig nutzt das Tool die UTF8-Kodierung, andere Kodierungen legen Sie über den Parameter --encoding fest. Einen Proxy für den Netzwerkzugriff geben Sie mit dem Parameter --proxy an.
Soll SQLiteBiter seine Daten aus den Google Sheets beziehen, verwenden Sie den Unterbefehl gs. SQLiteBiter benötigt dazu außerdem die Python-Module oauth2client und pyOpenSSL. Eine ausführliche Dokumentation samt Anwendungsbeispielen finden Sie auf der Web-Seite http://sqlitebiter.readthedocs.io.








