Как контролировать и поддержать мое приложение чаш Грааля в живой / продуктивной среде?

Это - первый раз, когда я когда-либо запускался живой веб-сайт (с веб-платформой Grails под платформой Amazon EC2 и Облачным Литейным заводом), и я понял быстро, что я не готов к контролю и maintening правильно свое приложение в производственном режиме (к счастью, веб-сайт доступен для очень ограниченного количества пользователей).

Проблемы, с которыми я столкнулся до сих пор:

  • Не может изменить мои представления. Я должен повторно развернуть свое приложение
  • У меня нет контроля. Я не знаю, кто соединен, когда делают они регистрируются / выписываются...
  • Redploying, который мое приложение (загружают ВОЙНУ +, развертывает) занимает по крайней мере 30 минут.
  • Я не знаю, как перезапустить мой сервер Tomcat без повторно развертывания через Облачный Литейный завод!
  • ...

Так, мой вопрос очень прост:

Какие инструменты (включая плагины чаш Грааля) и методы можно рекомендовать мне для взятия меня из моей текущей слепоты?

8
задан fabien7474 14 February 2010 в 11:38
поделиться

5 ответов

Я пробовал Cloud Foundry, когда он только начинался, и обнаружил, что это немного грубо. Похоже, это все еще имеет место с 30+ минутным развертыванием и невозможностью перезапустить сервер tomcat. Половину ваших проблем можно было бы решить, если бы вы просто создали свой собственный экземпляр EC2, установили tomcat и управляли своими собственными развертываниями. Это позволит вам перебросить tomcat через доступ к оболочке:

sudo /etc/init.d/tomcat6 restart

и повторно развернуть приложение

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

, иначе вы могли бы сделать это через консоль администратора tomcat, но я считаю это ненадежным.

Что касается мониторинга, есть несколько способов сделать это. Самый простой - добавить в вашу систему мониторинг CloudWatch . Это даст вам больше информации о производительности приложения.

Для более подробного отслеживания того, кто подключается к вашему приложению, я бы посоветовал посмотреть Google Analytics или Mint . Если вам нужно выйти за рамки этого (с мониторингом для каждого пользователя), вам, вероятно, придется развернуть собственное ведение журнала / отслеживания для того, что соответствует вашим потребностям. Существуют также другие платные пакеты, такие как Google Analytics и Mint, с которыми вы можете интегрироваться, но я не могу сказать, что лучше всего соответствует вашим потребностям.

1
ответ дан 5 December 2019 в 18:59
поделиться

Я не уверен насколько это поможет, однако я использую подключаемый модуль JavaMelody Grails ( http: // www .grails.org / plugin / grails-melody ) Я использую его, чтобы узнать, используется ли сайт, прежде чем отключу службу.

Надеюсь, что это поможет.

5
ответ дан 5 December 2019 в 18:59
поделиться

Для фактического мониторинга развернутой системы вы также можете использовать Hiperic HQ. Это решение для мониторинга от Spring Source, которые также являются владельцами Grails Framework.

Оно может управлять, в вашем случае:

  1. сервером tomcat
  2. базой данных
  3. linux
  4. сетью
  5. и т.д.

btw Перераспределение приложения с изменениями - это нормально. Очень плохая практика - изменять работающее приложение на рабочем сервере.

1
ответ дан 5 December 2019 в 18:59
поделиться

Я не знаю, могут ли помочь JMX и JConsole, но это может быть хорошим способом узнать статус POJO с поддержкой JMX. Весна делает это легко.

1
ответ дан 5 December 2019 в 18:59
поделиться
  1. Да, вам нужно повторно развернуть ваше приложение, когда вы меняете в нем что-то, это невозможно обойти.
  2. В последнее время время время развертывания/переразвертывания значительно сократилось при использовании плагина grails (кстати, какую версию плагина вы используете?) В некоторых случаях время загрузки составляет всего 15 секунд. Добавьте 2-3 минуты на то, чтобы Amazon раскрутил экземпляры, и время развертывания останется вполне управляемым. Для повторного развертывания не нужно запускать инстансы, так что это еще меньше.
  3. Чтобы перезапустить Tomcat, войдите в свой аккаунт CloudFoundry, нажмите на детали развертывания, нажмите на экземпляр, на котором запущен Tomcat, и там будет кнопка "Перезапустить службу", которая как раз это и сделает - перезапустит службу Tomcat.
  4. Вам не обязательно запускать свой экземпляр EC2, чтобы получить доступ к оболочке. Скопируйте публичное DNS-имя экземпляра из DeploymentDetails и подключитесь к нему по SSH, используя приватный ключ, который вы ввели при регистрации в Cloudfoundry. Пример:

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

1
ответ дан 5 December 2019 в 18:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: