0

Ich schreibe eine Anwendung (in Go), die kontinuierlich auf einem Server ausgeführt wird und verschiedene Aufgaben ausführt. Einige sind Webdienste und andere sind interne Dienste mit Thrift-Schnittstelle. Es wird auch ein paar Batch-Prozesse geben.Überprüfen, ob Prozesslaufzeit mit AWS Cloudwatch

Ich möchte überwachen, dass diese Prozesse ausgeführt werden und ich kann AWS Cloudwatch verwenden, um dies zu tun.

Wäre eine einfache Implementierung wie folgt ?:

Spin ein separater Arbeitsthread, wo ich eine benutzerdefinierte Cloudwatch-Metrik alle 5 Minuten im Grunde veröffentlichen, die sagt: „Ich bin immer noch läuft“. Ich erstelle dann Alarme, die ausgelöst werden, wenn Nachrichten nicht alle 5 Minuten empfangen werden?

Was sind Best Practices für diese Art von Sache? Bitte beachten Sie, dass ich nicht wirklich nach der Überwachung der Verfügbarkeit von Webdiensten frage, was trivialer ist.

Dank

Antwort

0

Ein Vorschlag einen Cron-Job ausführen, die alle 5 Minuten ein Skript ausgeführt wird. In diesem Skript können Sie alle Ihre Logik setzen.

Zunächst veröffentliche ich eine Metrik (mit der Dimension Count), die die Anzahl der Prozesse/Dienste sendet, die auf der Instanz ausgeführt werden. Wenn der Schwellenwert unter die gewünschte Anzahl von Prozessen/Diensten fällt, können Sie Cloudwatch so konfigurieren, dass ein Alarm gesendet wird. Sobald diese grundlegende Einrichtung funktioniert, können Sie diese erweitern, um detailliertere (mehrere) Messwerte zu veröffentlichen.

Verwandte Themen