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

На рисунке показаны примеры аномального поведения в работе Flickr, однажды обнаруженного при помощи Ganglia. Вы видите несколько высокоуровневых представлений некоторых кластеров Flickr.

Использование метрических данных для выявления проблем

Не вдаваясь в подробности, по одному внешнему виду графиков в левом столбце можно сказать, что произошло нечто необычное. На этих графиках представлена информация о нагрузке и процессах, выполняемых в кластерах, тогда как графики в правом столбце содержат сводные отчеты по использованию памяти в этих кластерах. Оси X всех графиков соответствуют одному периоду времени, поэтому мы сразу замечаем, что количество выполняемых процессов падает (особенно хорошо заметно в кластере WWW) одновременно с появлением пика в кластере GEO.

Кластер WWW — это серверы frontend flickr.com на базе Арасhе, а в кластере GEO объединены серверы, выполняющие географический поиск для таких функций, как географическая привязка фотографий (geotagging) Взглянув на одну эту веб-страницу, я смогу найти источник проблем (GEO) и область распространения ее последствий (все остальные кластеры). Оказывается, это событие произошло в тот момент, когда на одном из наших серверов кластера GEO затормозилась обработка некоторых запросов, в результате чего запросы от веб-серверов стали накапливаться. После перезапуска сервера GEO работа веб-серверов постепенно нормализовалась.

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

  • В чем заключается суть сбоя?
  • Когда произошел сбой?
  • Что было причиной сбоя?

В нашем примере рисунок помог выявить источник проблем, потому что мы смогли проследить связь события и его последствий (на временной шкале) в каждом из кластеров.