Как контролировать и поддерживать мое приложение Grails в реальной / производственной среде? - PullRequest
8 голосов
/ 12 февраля 2010

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

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

  • Невозможно изменить мои взгляды. Мне нужно заново развернуть мое приложение
  • У меня нет мониторинга. Я не знаю, кто связан, когда они входят / выходят ...
  • Повторное развертывание моего приложения (загрузка WAR + deploy) занимает не менее 30 минут.
  • Я не знаю, как перезапустить мой сервер Tomcat без повторного развертывания через Cloud Foundry!
  • ...

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

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

Ответы [ 5 ]

5 голосов
/ 23 февраля 2010

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

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

1 голос
/ 21 марта 2010
  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 голос
/ 23 февраля 2010

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

1 голос
/ 21 февраля 2010

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

Может обойтись, в вашем случае:

  1. сервер tomcat
  2. база
  3. Linux
  4. сеть
  5. и т.д.

Кстати, повторное развертывание приложения с изменениями в порядке. изменение запущенного приложения на рабочем сервере - очень плохая практика.

1 голос
/ 14 февраля 2010

Я попробовал 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, с которыми вы можете интегрироваться, но я не могу сказать, что соответствует вашим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...