Wie kann ich meine Grails-Anwendung in einer Live- / Produktionsumgebung überwachen und verwalten?

8

Es ist das erste Mal, dass ich eine Website live gestartete (mit Grails Web Framework unter Amazon EC2 und Cloud Foundry) und mir wurde schnell klar, dass ich nicht bereit bin, meine Anwendung im Produktionsmodus korrekt zu überwachen und zu warten Website ist für eine sehr begrenzte Anzahl von Benutzern zugänglich).

Die Probleme, mit denen ich mich bisher konfrontiert sah, sind:

  • Meine Ansichten können nicht geändert werden. Ich muss meine Anwendung erneut bereitstellen
  • Ich habe keine Überwachung. Ich weiß nicht, wer verbunden ist, wann sie sich anmelden / abmelden ...
  • Die erneute Bereitstellung meiner Anwendung (Hochladen von WAR + Bereitstellung) dauert mindestens 30 Minuten.
  • Ich weiß nicht, wie ich meinen Tomcat-Server ohne eine erneute Bereitstellung über Cloud Foundry neu starten kann!
  • ...

Also, meine Frage ist sehr einfach:

Welche Tools (einschließlich grails plugins ) und Methoden können Sie mir empfehlen, um mich aus meiner derzeitigen Blindheit herauszunehmen?

    
fabien7474 12.02.2010, 12:22
quelle

5 Antworten

5

Ich bin mir nicht sicher, wie mir das helfen wird, aber ich benutze das JavaMelody Grails Plugin () Ссылка ) Ich verwende es, um zu sehen, ob die Seite benutzt wird, bevor ich den Dienst herunterziehe.

Ich hoffe, das hilft.

    
Scott Warren 22.02.2010 22:19
quelle
1

Ich habe Cloud Foundry in den frühen Tagen ausprobiert und fand es ein bisschen grob. Das klingt nach mehr als 30 Minuten Deployment und der Unmöglichkeit, den Tomcat Server neu zu starten. Die Hälfte Ihrer Probleme könnte gelöst werden, wenn Sie Ihre eigene EC2-Instanz erstellt, Tomcat installiert und Ihre eigenen Bereitstellungen verwaltet haben. Das lässt dich Tomcat durch Shell-Zugang springen:

%Vor%

und stelle deine App erneut bereit

%Vor%

oder Sie könnten es über die Tomcat Admin-Konsole tun, aber ich finde es flockig.

In Bezug auf die Überwachung gibt es mehrere Möglichkeiten, wie Sie das tun können. Am einfachsten ist es, Ihrem System CloudWatch Monitoring hinzuzufügen. Das gibt Ihnen mehr Einblick in die Leistung der Anwendung.

Wenn Sie detailliertere Informationen dazu wünschen, wer sich mit Ihrer App verbindet, sollten Sie sich Google Analytics oder Mint . Wenn Sie darüber hinausgehen müssen (mit Benutzerüberwachung), müssen Sie wahrscheinlich Ihre eigene Protokollierung / Verfolgung für Ihre Anforderungen durchführen. Es gibt auch andere bezahlte Pakete nach Google Analytics und Mint, mit denen Sie sich integrieren können, aber was Ihren Bedürfnissen am besten entspricht, kann ich nicht sagen.

    
Ted Naleid 14.02.2010 19:35
quelle
1

Für die tatsächliche Überwachung des bereitgestellten Systems können Sie auch Hiperic HQ verwenden. Es ist eine Überwachungslösung von Spring Source, die auch Eigentümer von Grails Framework ist.

Es kann in Ihrem Fall verwalten:

  1. Tomcat-Server
  2. Datenbank
  3. linux
  4. Netzwerk
  5. usw.

btw, die App mit Änderungen erneut zu implementieren, ist in Ordnung. Es ist eine sehr schlechte Übung, laufende App auf dem Produktionsserver zu ändern.

    
Igor Artamonov 20.02.2010 23:34
quelle
1

Ich weiß nicht, ob JMX und JConsole helfen können, aber das könnte eine gute Möglichkeit sein, den Status von JMX-aktivierten POJOs zu sehen. Frühling macht das einfach zu machen.

    
duffymo 23.02.2010 02:09
quelle
1
  1. Ja, du musst deine App erneut bereitstellen, wenn du Inhalte darin änderst, da gibt es kein Problem.
  2. Die Zeit für das Deploy / re-deploy wurde in letzter Zeit erheblich reduziert, wenn Sie das Grails-Plugin verwenden (übrigens, welche Version des Plugins verwenden Sie?). In einigen Fällen beträgt die Upload-Zeit nur 15 Sekunden. Addieren Sie 2-3 Minuten für Amazon, um die Instanzen hochzufahren, und die Bereitstellungszeit ist immer noch ziemlich überschaubar. Für die erneute Bereitstellung müssen die Instanzen nicht gestartet werden, also ist es noch weniger.
  3. Um die Tomcat-Anmeldung in Ihrem CloudFoundry-Konto neu zu starten, klicken Sie auf die Bereitstellungsdetails, klicken Sie auf die Instanz, auf der Tomcat ausgeführt wird, und klicken Sie auf "Dienst neu starten", um Tomcat-Dienst neu zu starten.
  4. Sie müssen keine eigenen EC2-Instanzen starten, um Shell-Zugriffe zu erhalten. Kopieren Sie den öffentlichen DNS-Namen der Instanz von DeploymentDetails und SSH mit dem privaten Schlüssel, den Sie bei der Registrierung für Cloudfoundry eingegeben haben. Beispiel:

    ssh -i /pfad/to/gsg-keypair.pem root @ ihr_exemplar_DNS_name

Dmitriy 20.03.2010 22:12
quelle