8

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

вопросы я столкнувшиеся до сих пор являются:

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

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

Что инструменты (включая Grails плагинов) и методы вы можете порекомендовать меня за меня от моего тока слепота?

ответ

1

Я попытался облачный литейный завод в его ранние дни и нашел его немного грубым. Похоже, что это все еще имеет место с 30-минутным развертыванием и невозможностью перезапустить ваш сервер tomcat. Половину ваших проблем можно решить, если вы только что создали свой собственный экземпляр EC2, установили 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 

, иначе вы могли бы сделать это с помощью консоли администратора кота, но я считаю, что это будет отслаиваться.

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

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

1

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

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

  1. кот сервер
  2. базы данных
  3. линукс
  4. сеть
  5. т.д.

кстати передислокации приложение с изменениями в порядке. это очень плохая практика для изменения запуска приложения на производственном сервере.

5

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

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

1

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

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

    SSH -i /path/to/gsg-keypair.pem корень @ your_instance_DNS_name

 Смежные вопросы

  • Нет связанных вопросов^_^