23.06.2021

AWS Cloudwatch für das Monitoring von Programmen

Viele unserer Programme sind rund um die Uhr aktiv und verrichten ihre Aufgaben. Sie laufen in der Azure Cloud, auf firmeneigenen Servern oder auf Servern, die von Kunden betrieben werden. Die Installationen werden von unterschiedlichen Teams betrieben.

 

Probleme proaktiv erkennen und vermeiden

 
Es ist uns ein Anliegen, bei Störungen oder Problemen im Ablauf der Programme schnell informiert zu werden. So können wir rasch Massnahmen zur Behebung ergreifen. Damit das gelingt, muss das Monitoring die folgenden drei Anforderungen erfüllen.

 

  1. Das Monitoring muss zentral sein und alle Programme sollten an einem Ort überwacht werden. Das vermeidet Insellösungen und reduziert den Wartungsaufwand.
  2. Das Monitoring sollte einfach sein. Es sollen keine komplexen Strukturen definiert werden. Somit bleibt die Fehleranfälligkeit gering und das Monitoring lässt sich von jedermann bedienen.
  3. Das Monitoring sollte auf einem weiteren externen System ohne Wartungsaufwand laufen. Das gewährleistet, dass Probleme eines Zielsystems (z.B. kurzfristiger Unterbruch des Internets) weiterhin gemonitort werden können.

 

Sichere Überwachung in Echtzeit

 
All diese Forderungen erfüllt der Einsatz von AWS (Amazon Web Services) Cloudwatch, und zwar auf folgende Weise:
Die Programme senden an Cloudwatch verschiedene Metriken - z.B. 0 oder 1 (0 = ein Problem, 1 = alles ok) oder die Anzahl von Fehlern bei einem Prozess und andere Werte. Auf Basis dieser Eingaben können Alarme definiert werden. Ein Beispiel wäre, dass ein Programm alle fünf Minuten eine 1 sendet. Es kann ein Alarm definiert werden für den Fall, dass nach fünf Minuten keine 1 ankommt (also stattdessen eine 0 oder keine Eingabe). Tritt dieses Ereignis ein, wird der Alarm ausgelöst.


Ein Programm kann jeweils unterschiedliche Metriken senden. So lässt es sich überwachen, um festzustellen, ob es generell läuft und die Anzahl der Fehler bei einem Prozess bestimmen. Zusätzlich zu den „Lebenszeichen“ der Programme können auch Log-Meldungen an Cloudwatch gesendet werden. Das bietet den Vorteil, dass zentral Daten analysiert werden können, wenn ein Alarm eintritt. Man muss sich dafür nicht im Zielsystem direkt anmelden und es nicht einmal kennen. Der Anwender hat die Logs direkt in Cloudwatch zur Verfügung. Das ist gerade bei Stellvertreter-Diensten sehr hilfreich.