Загрузка данных


Методологии анализа ошибок:

 
 
Метод	Описание	Когда применять
5 Why (Пять почему)	Последовательное задание вопроса "Почему?" до выявления корневой причины	Для простых и средних инцидентов
Fishbone Diagram (Диаграмма Исикавы)	Визуализация причин по категориям: Люди, Процессы, Оборудование, Материалы, Среда, Управление	Для сложных проблем с множеством факторов
FMEA (Failure Mode and Effects Analysis)	Анализ видов и последствий отказов	Для предиктивного анализа рисков
Pareto Analysis	Выявление наиболее частых причин ошибок (правило 80/20)	Для приоритезации улучшений
Root Cause Analysis (RCA)	Комплексный анализ для выявления глубинной причины	Для критических инцидентов
Алгоритм анализа ошибок (общий):

text
1. Обнаружение ошибки
   ↓
2. Сбор данных (логи, метрики, опрос пользователей)
   ↓
3. Классификация ошибки (тип, критичность, компонент)
   ↓
4. Воспроизведение ошибки (если возможно)
   ↓
5. Формулировка гипотез о причинах
   ↓
6. Проверка гипотез (тестирование, анализ)
   ↓
7. Определение корневой причины (Root Cause)
   ↓
8. Разработка решения
   ↓
9. Внедрение решения и проверка
   ↓
10. Документирование (база знаний)
Часть 1. Алгоритмы анализа ошибок
Задание 1. Метод "5 Почему" (5 Whys)

Инструкция:

Примените метод "5 Почему" для анализа следующих ситуаций. Заполните цепочку вопросов и ответов, чтобы дойти до корневой причины.

Сценарий А:
Пользователи не могут войти в систему. Ошибка: "Неверное имя пользователя или пароль".

Заполните цепочку:

Почему пользователи не могут войти?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Корневая причина: _______________________________________________

Решение: _______________________________________________________

Сценарий Б:
Приложение выдает ошибку "500 Internal Server Error" при оформлении заказа.

Заполните цепочку:

Почему возникает ошибка 500?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Корневая причина: _______________________________________________

Решение: _______________________________________________________

Задание 2. Диаграмма Исикавы (Fishbone Diagram)

Инструкция:

Постройте диаграмму Исикавы для анализа проблемы: «За последнюю неделю время отклика системы выросло с 0.5 до 3.5 секунд».

Категории для анализа (заполните каждую):

 
 
Категория	Возможные причины (минимум 2–3 на категорию)
Люди (People)	 
Процессы (Process)	 
Оборудование (Equipment)	 
Материалы (Materials)	 
Среда (Environment)	 
Управление (Management)	 
Визуализация диаграммы (текстовый вид):

text
Люди                    Процессы                    Оборудование
   |                       |                           |
   |--                     |--                         |--
   |--                     |--                         |--
   |--                     |--                         |--
   |                       |                           |
   +-----------------------|---------------------------+
                           |
                    ПРОБЛЕМА: Время отклика
                     выросло с 0.5 до 3.5 сек
                           |
   +-----------------------|---------------------------+
   |                       |                           |
   |--                     |--                         |--
   |--                     |--                         |--
   |--                     |--                         |--
   |                       |                           |
Материалы               Среда                       Управление
Задание 3. Метод Pareto (правило 80/20)

Инструкция:

Дан список ошибок за последний месяц. Определите, какие 20% причин вызывают 80% проблем. Выполните расчеты и ответьте на вопросы.

Статистика ошибок (исходные данные):

 
 
Тип ошибки	Количество инцидентов
Ошибка подключения к БД	45
NullReferenceException	12
Таймаут при загрузке страницы	30
Ошибка валидации данных	8
Недостаточно прав доступа	5
Ошибка интеграции с API	20
Повреждение данных	3
Ошибка сессии (истекла)	7
Другое	10
Итого	140
Заполните таблицу (отсортируйте по убыванию и рассчитайте %):

 
 
Тип ошибки	Кол-во	% от общего	Накопленный %
 	 	 	 
 	 	 	 
 	 	 	 
 	 	 	 
 	 	 	 
 	 	 	 
 	 	 	 
 	 	 	 
 	 	 	 
Вопросы:

Какие типы ошибок составляют 80% всех инцидентов?
→ _______________________________________________________________

На какие типы ошибок следует направить усилия в первую очередь?
→ _______________________________________________________________

Предложите меры для устранения двух самых частых типов ошибок:
→ _______________________________________________________________

Часть 2. Практическое применение алгоритмов анализа
Задание 4. Комплексный анализ ошибки (RCA)

Сценарий:

В компании "ТехноПром" 15 октября в 14:23 произошел сбой системы "Корпоративный портал". Пользователи не могли войти в систему в течение 45 минут.

Собранные данные (исходные данные для анализа):

 
 
Источник	Данные
Заявки пользователей	250 заявок за 45 минут. Сообщение: "Не могу войти. Белый экран".
Логи приложения	ERROR - Connection timeout. Unable to acquire JDBC Connection.
Логи БД (SQL Server)	Error 9002: The transaction log for database 'PortalDB' is full.
Метрики сервера	CPU: 45%, RAM: 92%, Disk: 99% (заполнен диск), Sessions: 1500
Метрики сети	Нормальные, потерь пакетов нет
Действия администратора	В 14:50 выполнена очистка логов БД и дискового пространства. Система восстановлена в 15:08.
Задание:

Классифицируйте ошибку:

Тип: Программная / Конфигурационная / Аппаратная / Человеческий фактор (нужное подчеркнуть)

Компонент: _____________________________________________________

Критичность: Critical / High / Medium / Low (нужное подчеркнуть)

Влияние на пользователей: _________________________________________

Примените метод "5 Почему":

Почему пользователи не могли войти?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Почему _______________________________________________________?
→ _____________________________________________________________

Корневая причина (Root Cause): _________________________________

Разработайте краткосрочное решение (что сделали для восстановления работы):
→ _______________________________________________________________

Разработайте долгосрочное решение (как предотвратить повторение):

Оцените соблюдение RTO и RPO:

RTO системы: 4 часа. Фактическое время простоя: 45 минут.
Соблюдено / Не соблюдено (нужное подчеркнуть)

RPO системы: 15 минут. Потери данных: данные с 14:15 до 14:50 (35 минут).
Соблюдено / Не соблюдено (нужное подчеркнуть)

Задание 5. Диагностика ошибки с использованием "дерева решений"

Инструкция:

Постройте дерево решений для диагностики ошибки "Приложение не открывается".

Исходные данные:

В службу поддержки поступила заявка: "Пользователь говорит, что приложение не открывается".

Заполните дерево решений (минимум 3 уровня глубины для каждого пути):

text
Приложение не открывается
    ├── Ошибка у одного пользователя?
    │       ├── Да → Проверить локальные настройки
    │       │       ├── Проверить права доступа → ...
    │       │       ├── Проверить сетевое подключение → ...
    │       │       └── Проверить кэш браузера → ...
    │       └── Нет → Ошибка у всех пользователей
    │               ├── Проверить доступность сервера
    │               │       ├── Сервер жив?
    │               │       │       ├── Да → Проверить службы
    │               │       │       └── Нет → Восстановить сервер
    │               │       └── Сеть работает?
    │               │               ├── Да → Проверить БД
    │               │               └── Нет → Восстановить сеть
    │               └── Проверить обновления
    │                       ├── Было обновление сегодня?
    │                       │       ├── Да → Откатить обновление
    │                       │       └── Нет → Проверить логи
    │                       └── ...
    └── ...
Запишите дерево решений полностью (письменно):

Задание 6. Анализ ошибок в логах с использованием алгоритма

Инструкция:

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

Лог ошибок (за 10 минут):

text
14:23:15 [ERROR] Pool empty. Unable to fetch a connection in 30 seconds.
14:23:18 [ERROR] NullReferenceException: Object reference not set to an instance of an object.
14:23:20 [ERROR] Connection timeout. Unable to acquire JDBC Connection.
14:23:25 [ERROR] NullReferenceException: Object reference not set to an instance of an object.
14:23:28 [ERROR] Pool empty. Unable to fetch a connection in 30 seconds.
14:23:30 [WARNING] Disk space: 15% remaining on drive C:
14:23:32 [ERROR] Connection timeout. Unable to acquire JDBC Connection.
14:23:35 [ERROR] NullReferenceException: Object reference not set to an instance of an object.
14:23:40 [ERROR] Pool empty. Unable to fetch a connection in 30 seconds.
14:23:45 [ERROR] Connection timeout. Unable to acquire JDBC Connection.
Вопросы для анализа:

Какие типы ошибок встречаются в логе? Перечислите все типы и их количество:

Тип 1: _______________, кол-во: _______

Тип 2: _______________, кол-во: _______

Тип 3: _______________, кол-во: _______

Тип 4: _______________, кол-во: _______

Какая ошибка является самой частой? _______________________________________

Какая ошибка является самой критичной? ___________________________________

Есть ли предупреждение? _________________________________________________

Какая ошибка, скорее всего, является корневой причиной для остальных?

Ваш ответ: _____________________________________________________________

Обоснование: ___________________________________________________________

Предложите решение для самой частой ошибки: