Это - первый раз, когда я когда-либо запускался живой веб-сайт (с веб-платформой Grails под платформой Amazon EC2 и Облачным Литейным заводом), и я понял быстро, что я не готов к контролю и maintening правильно свое приложение в производственном режиме (к счастью, веб-сайт доступен для очень ограниченного количества пользователей).
Проблемы, с которыми я столкнулся до сих пор:
Так, мой вопрос очень прост:
Какие инструменты (включая плагины чаш Грааля) и методы можно рекомендовать мне для взятия меня из моей текущей слепоты?
Я пробовал 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, с которыми вы можете интегрироваться, но я не могу сказать, что лучше всего соответствует вашим потребностям.
Я не уверен насколько это поможет, однако я использую подключаемый модуль JavaMelody Grails ( http: // www .grails.org / plugin / grails-melody ) Я использую его, чтобы узнать, используется ли сайт, прежде чем отключу службу.
Надеюсь, что это поможет.
Для фактического мониторинга развернутой системы вы также можете использовать Hiperic HQ. Это решение для мониторинга от Spring Source, которые также являются владельцами Grails Framework.
Оно может управлять, в вашем случае:
btw Перераспределение приложения с изменениями - это нормально. Очень плохая практика - изменять работающее приложение на рабочем сервере.
Я не знаю, могут ли помочь JMX и JConsole, но это может быть хорошим способом узнать статус POJO с поддержкой JMX. Весна делает это легко.
Вам не обязательно запускать свой экземпляр EC2, чтобы получить доступ к оболочке. Скопируйте публичное DNS-имя экземпляра из DeploymentDetails и подключитесь к нему по SSH, используя приватный ключ, который вы ввели при регистрации в Cloudfoundry. Пример:
ssh -i /path/to/gsg-keypair.pem root@your_instance_DNS_name