Те из вас, кто следил за развитием функциональности платформы VMware vSphere, наверняка помнят, что в версии vSphere 4.1 появился такой компонент как Application Monitoring в настройках VMware High Availability (HA):
Этот компонент был реализован с помощью API, который был доступен сторонним разработчикам приложений, и позволял производить мониторинг доступности отдельных приложений в виртуальных машинах, работающих на платформе vSphere 4.1. В случае проблем с приложением (оно не обновляет Heartbeat - сигнал доступности), виртуальная машина перезагружалась.
То есть, эта технология была доступна только партнерам VMware, один из которых, компания Symantec, реализовала эту функциональность в своем продукте ApplicationHA и добавила поддержку распространенных Windows-приложений:
Теперь компания VMware в новой версии платформы VMware vSphere 5.0 решила пойти дальше и сделать механизм Application Monitoring доступным для всех.
Теперь у Application Monitoring есть свой SDK, в котором есть следующая утилита:
markActive - это функция, вызываемая со стороны приложения, которая вызывается каждые 30 секунд, что говорит о том, что приложение еще "живет". Если она прекратит вызываться, это будет означать что виртуальную машину надо перезагрузить.
isEnabled - проверить статус Application Monitoring.
getAppStatus - проверить статус защищаемого приложения.
То есть, теперь ваши разработчики, используя Java или C++, могут сами написать модуль для работы с VMware Application Monitoring в своем приложении, используя следующие функции:
VMGuestAppMonitor_Enable()
VMGuestAppMonitor_MarkActive()
VMGuestAppMonitor_Disable()
VMGuestAppMonitor_IsEnabled()
VMGuestAppMonitor_GetAppStatus()
VMGuestAppMonitor_Free()
Ну и, само собой, можно писать свои скрипты, которые могут мониторить состояние служб и других компонентов. Это отличная новость и хорошая возможность добавить еще один важный уровень высокой доступности в своей виртуальной инфраструктуре.