Загрузка данных
Методологии анализа ошибок:
Метод Описание Когда применять
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: _______________, кол-во: _______
Какая ошибка является самой частой? _______________________________________
Какая ошибка является самой критичной? ___________________________________
Есть ли предупреждение? _________________________________________________
Какая ошибка, скорее всего, является корневой причиной для остальных?
Ваш ответ: _____________________________________________________________
Обоснование: ___________________________________________________________
Предложите решение для самой частой ошибки: