Что такое анализ первопричин (RCA)?

Когда вы тестируете новые крупные релизы, вы иногда можете быть удивлены появлением новых ошибок в производственной среде. Почему это произошло? Что пошло не так? Испытательные среды не всегда бывают настолько близки к производственным, как вы надеетесь. Изменения инфраструктуры могут быть внесены в среду без документального подтверждения, в результате чего среды постепенно отдаляются друг от друга.

Устранение дефектов отнимает много времени. Научиться быстрее устранять неполадки – одна из лучших инвестиций, которые вы можете сделать как разработчик программного обеспечения.

Анализ первопричин (RCA) – это особая техника, которую можно использовать для устранения проблем. С помощью него вы анализируете проблему, используя определенный набор шагов для поиска основной причины. В основе RCA лежит принцип, согласно которому бесполезно устранять симптомы проблемы, игнорируя ее истоки.

Каковы преимущества анализа первопричин?

Анализ первопричин (RCA) – это особая техника, которую можно использовать для устранения проблем. С помощью него вы анализируете проблему, используя определенный набор шагов для поиска основной причины. В основе RCA лежит принцип, согласно которому бесполезно устранять симптомы проблемы, игнорируя ее истоки.

Как приступить к анализу первопричины?

Объясните суть проблемы

Используйте подход резиновой утки (rubber-duck debugging), чтобы просто объяснить свою проблему. Объясняя что-то, вы будете вынуждены упорядочить свои мысли. Джефф Этвуд, соучредитель популярного сайта вопросов и ответов Stack Overflow, рассказывал о том, что разработчик программного обеспечения множество раз говорил о необходимости отправить новый вопрос на сайт, но в процессе находил ответ самостоятельно и ни разу так и не отправил вопрос!

Попробуйте использовать следующие подходы, которые помогут вам просто сформулировать проблему:

  1. Напишите вопрос Stack Overflow - даже если вы никогда его не отправите.
  2. Составьте детализированный отчет об ошибках.
  3. Объясните это коллеге по работе.

Соберите данные журнала (и выполните эффективный поиск в нем)

Затем соберите больше данных о проблеме и сделайте из них выводы. Здесь могут пригодиться записи журналов и мониторинг: журналы сбоев, журналы приложений и серверов и все, что у вас имеется. Необходимо собрать доказательства возникновения проблемы, а также выяснить, если возможно, как долго она появлялась и с какой частотой.

Среди всех этих данных вам нужно быстро найти конкретные сведения. Инструменты помогут вам найти и проанализировать данные журналов, которые вы собираете, и превратить их в сведения для более быстрой диагностики и решения проблем.

Используйте технику «пяти почему»

Затем следует определить «причинный фактор» – непосредственную причину рассматриваемой проблемы. При этом не следует выявлять только один причинно-следственный фактор, а затем останавливаться. Вы должны пойти дальше, используя технику «пяти почему». Задавайте вопросы «почему?» последовательно, пока не доберетесь до корня проблемы. Например, ваш сайт показывает ошибку 500.

  1. Почему это произошло? Потому что маршрутизатор веб-платформы вышел из строя.
  2. Почему это произошло? Потому что для работы ему требуется другой компонент, который также неисправен.
  3. Почему это произошло? Потому что для этого компонента веб-платформы требуется расширение intl, которое не работает.
  4. Почему это произошло? Потому что оно было случайно отключено после обновления программного обеспечения сервера.

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

Найдите дополнительную пару глаз

Подобно обзору кода, попросите другого, непредвзятого человека взглянуть на ваш код. Со временем предвкушение проверки поможет вам усовершенствовать свой процесс. Или, что еще лучше, займитесь устранением проблем вдвоем.

Как AWS может помочь вам в анализе первопричин?

Одним из основных предложений AWS для анализа первопричин является помощь в получении и анализе данных журналов. Для этого мы рекомендуем Сервис Amazon OpenSearch. Сервис Amazon OpenSearch упрощает интерактивный анализ журналов, мониторинг приложений в режиме реального времени, поиск на веб-сайтах и многие другие процессы. OpenSearch – это комплект с открытым исходным кодом для распределенного поиска и аналитики, созданный на базе Elasticsearch. Сервис Amazon OpenSearch Service безопасно разблокирует функции поиска в режиме реального времени, мониторинга и анализа деловых и операционных данных для таких примеров использования, как мониторинг приложений, анализ журналов, отслеживание и поиск на веб-сайтах.

Создайте аккаунт прямо сейчас и начните работу с анализом первопричин на AWS.

AWS: дальнейшие шаги

Зарегистрировать бесплатный аккаунт

Получите мгновенный доступ к уровню бесплатного пользования AWS.

Регистрация 
Начать разработку в консоли

Начните разработку в Консоли управления AWS.

Вход