Ich wollte versuchen, ob es nicht möglich wäre, eine zuverlässige, nur auf der Bash basierende Lösung zur Überwachung eines Rechners zu finden.
In einem früheren Artikel beschrieb ich bereits eine Möglichkeit, die Rechnergesundheit zu überwachen. Der in diesem damaligen Artikel beschriebene Ansatz verschwieg die Tatsache, daß es natürlich auch wichtig ist, die Gesundheit des Überwachers zu überwachen.
Dazu könnte man einfach einen Zeitstempel generieren. Vergleicht man diesen mit der aktuellen Uhrzeit und weichen beide um mehr als einen bestimmten Wert voneinander ab, ist die Überwachung ausgefallen, da der Zeitstempel offensichtlich nicht mehr aktualisiert wird.
Darauf aufbauend kam mir der Gedanke (ich gebe zu, ein wenig von Nagios inspiriert), ob man nicht ein System schaffen könnte, das aus simplen Bash-Skripten besteht. Dieses System sollte erweiterbar sein. Ergebnis der Überwachung wäre eine Textdatei. Enthält diese lediglich einen Zeitstempel, wurden alle Tests erfolgreich durchgeführt. Ist das nicht So., beschreibt der enthaltene Test, welcher Test fehlschlug.
Dazu müsste es ein Master-Skript geben, das alle Sensor-Skripts in einem festgelegten Verzeichnis ausführt. Dabei gilt die Festlegung, daß Sensoren, die einen Fehler melden wollen, die Ursache mittels echo auf stdout schreiben und als Rückgabewert einen Wert größer 0 liefern. Ansonsten dürfen Sensoren nur Ausgaben auf stderr erzeugen.
Die erzeugte Datei kann man auf eine Netzwerkfreigabe legen, auf einen Webserver, sie per XMPP oder EMail versenden,...
Startet man das Master-Skript über Cron zyklisch hat man ein nettes kleines Monitoringsystem mit Bordmitteln erstellt, das kein Perl, PhP oder Python verlangt. Selbstverständlich bleibt die Zukunftssicherheit gewahrt, da man auch andere Skripte oder sogar ausführbare Dateien als Sensoren definieren kann.
Angehängt findet man eine erste prototypische Implementierung dieses Ansatzes.
Damit ist es zum Beispiel möglich, einen Sensor zu definieren, der die Speicherauslastung überwacht und sofort alarmiert, wenn diese einen Grenzwert überschreitet. Parallel dazu kann man einen Sensor definieren, der die Anzahl geöffneter TCP-Ports überwacht, jedoch erst dann einen Alarm auslöst, wenn der definierte Schwellwert fünfmal hintereinander verletzt wurde.
18.10.2015
style="max-width:256px;" Beim ziellosen Browsen im Internet bin ich über Todo.txt gestolpert, das mir aus verschiedensten Gründen sofort aus dem Herzen gesprochen hat.
09.06.2015
In früheren Artikeln habe ich bereits beschrieben, wie man mit einfachen Mitteln ressourcenschonend Serverüberwachung einrichten kann. Nachdem das für einen Server schon relativ gut funktioniert, habe ich ein wenig weitergedacht und bin zu folgender Lösung für die Überwachung mehrerer Server gekommen:
Syntax-Highlighting für InfluxDB in Java-Anwendungen
01.12.2019
Wie bereits in einem früheren Artikel beschrieben beschäftige ich mich derzeit mit Ideen, Echtzeitdatenbanken und speziell InfluxDB in die sQLshell zu integrieren.
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
In eigener Sache...
Weiterlesen...Nachdem der Security Manager in Java ja nun abgekündigt ist, wollte ich mich noch einmal ausführlich darum kümmern, was dieses Konzept eigentlich kann und was nicht- und ob es letztlich verdient auf dem Scheiterhaufen landet.
Weiterlesen...Ich habe mein Projekt mit Skripts und Skriptfragmenten für Gnuplot wieder einmal überarbeitet und ein wenig erweitert.
Weiterlesen...Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen Codeberg-Repositories findet man hier.