Bash-Monitoring und Alarmierung per SMS

vorhergehende Artikel in: Java Linux Android
07.02.2016

Wie bereits in früheren Artikeln beschrieben, suchte ich aus verschiedenen Gründen nach einer Möglichkeit, IT-Infrastruktur zu überwachen. Ich stelle hier nun die Möglichkeit vor, diese Lösung kostengünstig um eine Alarmierungskomponente zu erweitern.

Die Alarmierung über Abweichungen im Rechenzentrumsbetrieb stellt verschiedene Anforderungen, von denen zwei durch die Eigenentwicklung auf jeden Fall adressiert werden sollten: Die Alarmierung sollte auf jeden Fall auch dann funktionieren, wenn das Rechenzentrum von einem Stromausfall betroffen wäre und wenn die Internetanbindung ausfiele.

Anforderung Nummer eins wäre durch eine irgendwie geartete unterbrechungsfreie Stromversirgung der Alarmierungskomponente zu gewährleisten. Mit Anforderung twei fällt die Alarmierung mittels EMails weg - bei Internet-Ausfall würden ja auch keine EMails mehr versendet werden...

Daher habe ich mich dafür entschieden, die heute kleinsten Computer mit zwei unabhängigen Kommunikationsschnittstellen einzusetzen: Ein Smartphone mit Android-Betriebssystem ist heutzutage sogar schon für 60 Euro zu haben, wenn man ein wenig sucht. Damit kann sich auch kein Kleinunternehmer mehr auf die Kosten rausreden, die eine Alarmierungsappliance verursachen würde. Ein netter Nebeneffekt dieser Hardwarewahl ist die Tatsache, dass damit auch eine unterbrechungsfreie Stromversorgung gewährleistet ist - jedes Smartphone verfügt über ein Akku. Die Alarmierung erfolgt über SMS. Damit ist es auch dann noch möglich, Botschaften und Statusmeldungen zu versenden, wenn Internet und Stromversorgung gestört sind.

Dazu musste dann noch eine kleine App geschrieben werden, die nur wenige Aufgaben hat: Sie holt die Ergebnisdatei vom Server ab und parst sie: Steht darin kein Datum, dessen Zeitstempel weniger als eine konfigurierbare Anzahl von Minuten von der Smartphone-Uhrzeit abweicht, wird eine Alarm-SMS abgesendet - entweder mit der originalen Fehlermeldung oder der Meldung, dass die Ergebnisdatei zu alt ist. Wurde eine Alarm-SMS abgesendet, wird so lange keine weitere gesendet, bis die gesendete am Gerät in der App quittiert wurde - wir wollen ja keine Gebührenexplosion, nur weil das Beheben des Fehlers zwei Stunden dauert...

Weiterhin sendet die App Alarmierungen, wenn der Akkustand unter einen kritischen Wert absinkt. Die Alarmierungen per SMS werden über eine entsprechende Activity konfiguriert: Diese zeigt alle im Telefonbuch hinterlegten Kontakte mit Mobilfunknummern an. Hier kann man die selektieren, an die die SMS versendet werden sollen. So ist es auch möglich, gleichzeitig mehr als nur eine Person über Probleme zu informieren.

Darüber hinaus bietet die App auch die Möglichkeit, Test-SMS zu versenden. Diese Funktion kann man zum Beispiel benutzen, nachdem man einen weiteren Empfänger hinzugefügt hat, um die Korrektheit der Telefonnummer zu prüfen.

Mit einem rückspeisefähigen Hub wären noch weitere Funktionalitäten denkbar - so könnte man in einem Unternehmen, in dem mindestens ein Administrator tagsüber vor Ort ist, das Versenden zusätzlich zeitlich steuern - wenn der Admin sowieso da ist, wäre es Geldverschwendung, SMS zu senden. Alternativ könnte man über den USB-Anschluss des Smartphones in dieser Zeit Hardware ansteuern, die über das Problem informiert (Signallampe, Geräusch,...).

Außerdem ist es möglich, die App dahingehend zu erweitern, Rufgruppen einzurichten. Diese könnten sogar mehrdimensional sein: einmal könnten bei Problemen die jeweils kompetenten Fachkräfte informiert werden - bei einem Admin-Team von beispielsweise 5 Leuten würden dann immer nur die zwei informiert, die sich mit Hardware oder Diensten oder ... auskennen. Zum anderen ist es auch möglich eine Hierarchie aufzubauen: Wird ein Fehler nicht innerhalb einer Stunde quittiert, wird der Manager/die Geschäftsführung,... darüber informiert.

Sicher lassen sich noch weitere Ideen formulieren. ich möchte es an dieser Stelle erst einmal dabei bewenden lassen.

Artikel, die hierher verlinken

Roadmap I Alarmmonitoring

12.10.2016

Der Alarmmonitor wird erweitert: Die Benachrichtigung erfolgt jetzt nicht mehr allein über SMS, sondern zusätzlich über Jabber (XMPP). Weiterhin wird das System mit einer Wissensdatenbank integriert.

Alarmierung per SMS um Rufgruppen erweitert

11.09.2016

Die Lösung zur Überwachung von IT-Technik, die im Fehlerfall per SMS alarmieren kann, habe ich in früheren Artikeln bereits aus verschiedenen Blickwinkeln beleuchtet - sie wurde nunmehr um Rufgruppen erweitert.

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.