8

Po raz pierwszy uruchomiłem na żywo stronę internetową (ze strukturą Grails w ramach platformy Amazon EC2 i Cloud Foundry) i szybko zdałem sobie sprawę, że nie jestem gotowy na monitorowanie i konserwację mojej aplikacji w trybie produkcyjnym (na szczęście strona internetowa jest dostępny dla bardzo ograniczonej liczby użytkowników).Jak monitorować i utrzymywać aplikację Graal w środowisku na żywo/produkcyjnym?

Kwestie Mam napotykane do tej pory są:

  • nie można zmienić moje poglądy. Muszę ponownie wdrożyć moją aplikację
  • Nie mam monitorowania. Nie wiem, kto jest podłączony, kiedy się logują/wylogowują ...
  • Redploying my application (upload WAR + deploy) zajmuje co najmniej 30 minut.
  • Nie wiem, jak zrestartować serwer Tomcat bez potrzeby ponownego tworzenia przez Cloud Foundry!
  • ...

Więc moje pytanie jest bardzo prosta:

Co narzędzia (w tym Grails wtyczek) i metod możesz mi polecić biorąc mnie z moim obecnym ślepota?

Odpowiedz

1

Próbowałem Cloud Foundry w jego wczesnych dniach i okazało się, że trochę szorstka. Wygląda na to, że tak jest w przypadku 30-minutowych wdrożeń i niemożności ponownego uruchomienia serwera Tomcat. Połowa twoich problemów może zostać rozwiązana, jeśli właśnie stworzysz własną instancję EC2, zainstalujesz tomcat i zarządzasz własnymi wdrożeniami. Że pozwolę ci odbijać kocur poprzez dostęp do powłoki:

sudo /etc/init.d/tomcat6 restart 

i przesunięcie aplikacja

sudo /etc/init.d/tomcat6/stop 
cp my.war /to/tomcat/dir 
sudo /etc/init.d/tomcat6 start 

lub inny mógłby to zrobić za pomocą konsoli administratora Tomcat, ale uważam, że jest łuszcząca.

Jeśli chodzi o monitorowanie, możesz to zrobić na kilka sposobów. Najłatwiej jest dodać do swojego systemu monitoring CloudWatch. Dzięki temu uzyskasz lepszy wgląd w wydajność aplikacji.

Aby uzyskać bardziej szczegółowe informacje dotyczące tego, kto łączy się z Twoją aplikacją, proponuję przejrzeć Google Analytics lub Mint. Jeśli chcesz wyjść poza to (z uwzględnieniem monitorowania użytkownika), prawdopodobnie będziesz musiał włączyć własne rejestrowanie/śledzenie w celu zaspokojenia twoich potrzeb. Są też inne płatne pakiety, takie jak Google Analytics i Mint, z którymi możesz się zintegrować, ale nie mogę powiedzieć, że to, co najlepiej pasuje do twoich potrzeb.

1

Do faktycznego monitorowania wdrożonego systemu można również użyć Hiperic HQ. Jest to rozwiązanie monitorujące od Spring Source, które również są właścicielami Grails Framework.

To może zarządzać, w Twoim przypadku:

  1. serwer Tomcat
  2. bazie
  3. linux
  4. sieć
  5. itp

btw przesunięcie aplikacja ze zmianami jest w porządku. Złą praktyką jest modyfikowanie uruchomionej aplikacji na serwerze produkcyjnym.

5

nie jestem pewien jak znacznie przyczyni się to jednak używam JavaMelody Grails wtyczki (http://www.grails.org/plugin/grails-melody) Używam go, aby zobaczyć, czy witryna jest używana przed pull down usługę.

Nadzieję, że pomaga.

1

Nie wiem, czy JMX i JConsole mogą pomóc, ale to może być dobry sposób sprawdzenia, jaki status mają POJO z obsługą JMX. Wiosna czyni to łatwym do zrobienia.

1
  1. Tak, musisz ponownie wdrożyć aplikację, gdy zmienisz w niej coś, nie ma mowy o tym.
  2. Wdrożenie/ponowny czas wdrożenia zostało niedawno znacznie zmniejszone w przypadku używania wtyczki Grails (btw, jakiej wersji wtyczki używasz?) W niektórych przypadkach czas ładowania wynosi zaledwie 15 sekund. Dodaj 2-3 minuty, aby Amazon mógł zakręcić instancje, a czas wdrożenia jest nadal łatwy w zarządzaniu. Aby ponownie wdrożyć instancje, nie trzeba ich uruchamiać, więc jest jeszcze mniej.
  3. Aby ponownie uruchomić logowanie Tomcat na konto CloudFoundry, kliknij szczegóły wdrożenia, kliknij instancję, na której działa Tomcat, a pojawi się przycisk "Restart service", który to zrobi - uruchom ponownie usługę Tomcat.
  4. Nie musisz uruchamiać własnych instancji EC2, aby uzyskać dostęp do powłoki. Skopiuj publiczną nazwę DNS instancji z DeploymentDetails i SSH do niej za pomocą klucza prywatnego wprowadzonego podczas rejestracji w Cloudfoundry. Przykład:

    ssh -i /path/to/gsg-keypair.pem korzeń @ your_instance_DNS_name

Powiązane problemy