Общие принципы диагностики проблем работы
бизнес-процессов
Продвинутый
В статье описаны основные подходы к диагностике проблем при работе с бизнес-процессами в BPMSoft.
Данный материал предназначен для продвинутых пользователей. Если у вас есть вопросы по применению, обратитесь в Техническую поддержку BPMSoft.
Диагностика проблем выполнения бизнес-процессов
Сбор информации по проблеме
- Проверить архитектуру развертывания приложения:
- Количество нод, использованных при инсталляции;
- Применение RabbitMQ для выполнения бизнес-процессов.
- Определить окружение, на котором воспроизводится проблема: prod / test / dev.
- Уточнить периодичность возникновения проблемы.
- Проверить выполнялся ли ранее бизнес-процесс. Если да — определить, с какого момента начались сбои (дата и время).
- Определить с каким именно бизнес-процессом возникла проблема:
- Изменялся ли базовый бизнес-процесс;
- Если использовался кастомный бизнес-процесс, то подготовить экспорт метаданных процесса в формате *.md (из конфигурации).
- Уточнить точное время возникновения ошибки.
- Извлечь и проанализировать логи приложения с учетом времени воспроизведения.
Поиск причины проблемы
Определить на каком этапе процесса возникает ошибка:
- Стартовый событийный сигнал:
- Проверить корректность фильтров и условий старта;
- Убедиться в корректности событийной модели объекта (нет ли влияния пользовательской логики).
- Если используется стартовый или промежуточный таймер, то перейти к проверке планировщика Quartz.
- Завершение процесса:
- Если процесс «зависает» — проанализировать проблему завершения как самого бизнес-процесса, так и его элементов;
- Проверить завершились ли все элементы, не заблокированы ли потоки.
- Ошибка в другом элементе процесса:
- Поискать ошибки в логах и трассировке. Подробнее: Трассировка параметров;
- Определить в каком методе происходит сбой (по stacktrace);
- Проанализировать стандартный код, если используется встроенный метод.
- Если бизнес-процессы работают медленно:
- Если один процесс:
- Проверить диаграмму выполнения: где тратится время?
- Есть ли многоэкземплярные подпроцессы?
- Проанализировать SQL-запросы, выявить возможные блокировки.
- Если все процессы:
- Есть ли общие проблемы производительности?
- Оценить нагрузку: сколько процессов запускается в час?
- Проверить объемы таблиц:
- SysProcessData;
- SysProcessElementData;
- SysPrcPresistentStore.
- При необходимости — настроить очистку этих таблиц.
- Если один процесс:
- Дополнительно при анализе пользовательского процесса:
- Проверить наличие и корректность подпроцессов.
- При нестабильном или неожиданном поведении:
- Включить трассировку процесса. Подробнее: Трассировка параметров;
- Проанализировать полученный stacktrace.
Информация для обращения в техническую поддержку
Если самостоятельная диагностика не позволила устранить проблему, пожалуйста, соберите следующую информацию и обратитесь в техническую поддержку BPMSoft:
- Версия и сборка BPMSoft — эта информация требуется для проверки гипотез на инфраструктуре, приближенной к вашей, а также анализа решенных проблем при выпуске новых версий BPMSoft.
- Подробное пошаговое описание действий, приводящих к возникновению ошибки — подробная информация о проблеме ускоряет анализ и решение.
- Дата и время возникновения ошибки — эта информация необходима для максимально точного исследования причин возникновения проблемы.
- Метаданные кастомного или измененного базового бизнес-процесса, экспортированные из конфигурации в формате .md — эта информация необходима для анализа влияния доработок на логику работы приложения.
- Скриншоты из журнала процессов со списком выполненных элементов, полной трассировкой стека ошибок и диаграммы выполнения бизнес-процесса — эта информация необходима для более точного понимания ситуации возникновения проблемы.
- Полные логи приложения за день возникновения ошибки — эта информация необходима для исследования проблемы и причин ее возникновения.
- Результаты предварительного анализа влияния проектного слоя — эта информация способствует ускорению решения обращения за счет минимизации количества проверяемых гипотез.
Если в статье нет решения вашей проблемы, вы можете задать вопрос в Сообществе.
Рекомендуем изучить
Материал был полезен для вас?