Создание внешнего мониторинга для веб-приложения - PullRequest
1 голос
/ 14 января 2010

Компания, в которой я работаю, создала и размещает веб-приложение, используемое нашими клиентами, и меня интересует создание какой-либо страницы внешнего мониторинга (по аналогии с trust.salesforce.com), на которую пользователи могут перейти, чтобы увидеть текущее состояние наши серверы / приложение. Я знаю, что существует множество различных «мониторинговых» сервисов, но я хочу создать сервис самостоятельно, чтобы иметь полный контроль и настройку. Очевидно, что служба должна быть размещена в другом месте и центре обработки данных, чем само приложение. Меня беспокоит то, что если я просто выберу другой хост в другом месте, если этот хост выйдет из строя по какой-либо причине (сбой питания, сбой сервера или даже провайдер интернет-провайдера), программное обеспечение для мониторинга будет недоступно. По этой причине я думаю о размещении приложения мониторинга на экземпляре Amazon EC2. Благодаря их функции эластичного IP-адреса, если по какой-то причине центр обработки данных или точка, в которой работает экземпляр, не работают, я могу просто создать дубликат экземпляра с теми же данными (но в другом месте), и все будет работать нормально.

Похоже ли это на осуществимый план? Для еще большей безопасности я думал о создании 2 экземпляров в разных местах и ​​мониторинге из обоих. Если один экземпляр выйдет из строя, другой все равно будет в рабочем состоянии. Очевидно, один экземпляр должен действовать как фактический веб-хост для страницы мониторинга. Возможно ли программно для одного экземпляра переключить эластичный IP на себя, если он обнаружит, что другой экземпляр вышел из строя по какой-либо причине?

Я знаю, что в этот вопрос вовлечено много разных вещей, я просто ищу отзывы относительно ЛЮБОГО из него ...

Если вы сделали это далеко, спасибо, что нашли время, чтобы прочитать это!

Ответы [ 2 ]

1 голос
/ 25 января 2010

Вместо использования эластичного IP-адреса, назначенного только одному экземпляру, рассмотрите возможность использования Elastic Load Balancer http://aws.amazon.com/elasticloadbalancing/, который затем может маршрутизировать экземпляры в любой из зон доступности. Таким образом, AWS управляет входом / выходом из пула, если по какой-либо причине они становятся недоступными, и вам не нужно тратить время на «перемещение» Elastic IP. Тогда легко назначить ваше контрольное имя для имени хоста ELB.

Я думаю, что идея RandomBen об использовании Nagios в ваших экземплярах является хорошей, потому что тогда вам не нужно воссоздавать всю функциональность в Nagios. Затем вы тратите время на разработку, настройку системы и настройку внешнего вида в соответствии с вашими потребностями.

Кроме того, если вы можете использовать MySQL, вам следует рассмотреть возможность использования RDS http://aws.amazon.com/rds/, хотя вам придется платить за перевод, если у вас есть серверы за пределами региона, имеющие доступ к RDS в другом регионе.

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

То, о чем вы говорите, - это сложное решение для сложной проблемы. Я думаю, что вы на правильном пути, используя что-то вроде Amazon EC2, чтобы уменьшить вероятность того, что ваше приложение мониторинга выйдет из строя. Кроме того, вы можете разработать его самостоятельно, но существует множество бесплатных решений для мониторинга, таких как Nagios, которые сделают все, о чем вы просите, и обладают широкими возможностями расширения, поэтому вы можете тратить свое время на то, чтобы выглядеть и чувствовать себя так, как вы хотите, оставляя более сложные части под капотом для программного обеспечения, которое испытано и проверено. Хуже всего было бы, чтобы у вас была ошибка в вашем программном обеспечении, которая показывает что-то как вверх, когда оно на самом деле не работает. Исходя из того, о чем вы говорите, я бы предположил, что это будет огромной проблемой.

...