Abend-AID¶
Abend-AID — это программное обеспечение для автоматического восстановления и обработки аварийных завершений (abend) в операционных системах мейнфреймов IBM z/OS и её предшественниках (OS/390, MVS). Разработанное компанией Compuware (ныне часть BMC Software), средство предназначено для перехвата ошибок, возникающих в ходе выполнения пакетных заданий и онлайн-транзакций, и выполнения заданных пользователем действий по восстановлению, минимизируя простои и необходимость ручного вмешательства операторов.
¶История
Разработка Abend-AID началась в конце 1970-х годов в компании Compuware, основанной в 1973 году. Основной целью было создание инструмента, который бы упрощал диагностику и устранение последствий аварийных завершений программ на мейнфреймах IBM. В то время системные программисты и операторы тратили значительное время на анализ дампов памяти (storage dumps) для выяснения причин сбоев. Первая версия продукта была выпущена в 1979 году и быстро завоевала популярность благодаря автоматизации этого процесса.
В 1980-е и 1990-е годы Abend-AID развивался параллельно с эволюцией операционных систем IBM. С появлением OS/390 и затем z/OS, продукт был адаптирован для работы с новыми функциями, такими как UNIX System Services (USS) и улучшенная поддержка транзакционных менеджеров (CICS, IMS). В 2007 году Compuware была приобретена частной инвестиционной компанией, а в 2021 году BMC Software объявила о покупке Compuware, включив Abend-AID в свой портфель решений для управления мейнфреймами.
¶Основные функции
Abend-AID выполняет три ключевые задачи: перехват аварийного завершения, анализ его причины и выполнение автоматических действий по восстановлению.
¶Перехват и анализ
При возникновении аварийного завершения (например, из-за деления на ноль, обращения по неверному адресу или ошибки ввода-вывода) операционная система z/OS генерирует системный дамп и передаёт управление стандартному обработчику. Abend-AID перехватывает этот процесс на раннем этапе. Вместо того чтобы выгружать полный дамп памяти (который может занимать гигабайты), продукт выполняет интеллектуальный анализ:
- Извлечение контекста: Определяет текущую выполняемую программу, регистры процессора, параметры вызова, содержимое управляющих блоков (например, Task Control Block — TCB).
- Локализация ошибки: Указывает точную команду (инструкцию ассемблера или COBOL), на которой произошёл сбой, и предоставляет фрагмент исходного кода.
- Формирование отчёта: Создаёт читаемый отчёт на русском или английском языке (в зависимости от локализации), который содержит причину ошибки, значения переменных, историю вызовов и рекомендации по исправлению.
¶Автоматическое восстановление
Пользователь может задать правила (rules), которые Abend-AID будет выполнять при определённых типах ошибок. Примеры действий:
- Повторный запуск задания: Автоматически перезапустить пакетное задание с определённой точки (например, с последнего успешно обработанного файла).
- Пропуск шага: Игнорировать ошибочный шаг и продолжить выполнение следующего.
- Отправка уведомления: Отправить сообщение оператору (через SDSF или TSO) или по электронной почте.
- Запись в журнал: Сохранить детали ошибки в специальный файл для последующего анализа.
¶Архитектура и компоненты
Abend-AID состоит из нескольких компонентов, работающих на уровне операционной системы и прикладного программного обеспечения.
- Ядро (Abend-AID Kernel): Резидентный модуль, загружаемый в память при старте z/OS. Он перехватывает системные прерывания, связанные с аварийными завершениями.
- Правила восстановления (Recovery Rules): Наборы инструкций, хранящиеся в библиотеках (PDS или PDSE). Они определяют, какие действия выполнять для каждого типа ошибки или для каждой конкретной программы.
- Интерфейс пользователя (ISPF Interface): Меню для настройки правил, просмотра отчётов и управления продуктом в среде TSO/ISPF.
- Интеграция с CICS и IMS: Специальные модули для работы с транзакционными мониторами. Позволяют перехватывать ошибки в онлайн-транзакциях и выполнять восстановление на уровне транзакции, не прерывая работу других пользователей.
¶Применение
Abend-AID используется в крупных организациях, эксплуатирующих мейнфреймы IBM, в первую очередь в банковском секторе, страховании, государственных учреждениях и крупных промышленных предприятиях. Основные сценарии применения:
- Пакетная обработка: Автоматическое восстановление после сбоев в ночных пакетных циклах (например, расчёт процентов, формирование отчётов, обработка платежей). Без Abend-AID оператору пришлось бы вручную анализировать дамп и перезапускать задание, что могло занять часы.
- Онлайн-транзакции: Обработка ошибок в системах CICS и IMS. Например, при сбое ввода данных с терминала Abend-AID может вернуть пользователю понятное сообщение об ошибке, а не системный код.
- Тестирование и отладка: Разработчики используют Abend-AID для быстрого выявления причин ошибок в новых версиях программ. Отчёты продукта часто содержат более точную информацию, чем стандартные дампы.
- Снижение нагрузки на операторов: Уменьшение количества ручных операций по анализу сбоев, что позволяет сократить штат операторов и снизить вероятность человеческой ошибки.
¶Преимущества и ограничения
¶Преимущества
- Скорость восстановления: Автоматизация сокращает время простоя с часов до минут.
- Снижение затрат: Уменьшение потребности в высококвалифицированных системных программистах для анализа каждого сбоя.
- Повышение надёжности: Автоматические правила восстановления позволяют завершить пакетный цикл даже при наличии нефатальных ошибок.
- Удобство диагностики: Отчёты на естественном языке значительно упрощают понимание причин сбоя по сравнению с сырыми дампами.
¶Ограничения
- Зависимость от платформы: Работает исключительно на мейнфреймах IBM под управлением z/OS.
- Сложность настройки: Создание эффективных правил восстановления требует глубокого понимания бизнес-логики приложений и системного администрирования.
- Лицензирование: Является коммерческим продуктом с высокой стоимостью лицензии, что ограничивает его применение в небольших организациях.
- Не заменяет отладку: Продукт помогает справляться с последствиями ошибок, но не устраняет их первопричины. Для исправления кода по-прежнему требуется работа разработчиков.
¶Интеграция с другими продуктами
Abend-AID часто используется в связке с другими инструментами Compuware/BMC для управления мейнфреймами:
- File-AID: Для анализа и редактирования файлов, которые могли быть повреждены в результате ошибки.
- Xpediter / Xpediter/CICS: Для отладки программ в режиме реального времени.
- Topaz for Enterprise Data: Для визуализации данных и анализа производительности.
¶Интересные факты
- Название «Abend-AID» является игрой слов: «abend» — это сокращение от «abnormal end» (аварийное завершение), а «AID» — «assistance in diagnosis» (помощь в диагностике).
- Первые версии продукта распространялись на магнитных лентах и перфокартах.
- В 2010-х годах Compuware выпустила версию Abend-AID для облачных сред, работающих на базе z/OS, что позволило использовать его в гибридных архитектурах.
¶Источники
- Compuware Corporation. Abend-AID User Guide for z/OS. Compuware, 2019.
- BMC Software. BMC Abend-AID Product Documentation. BMC, 2022.
- IBM Corporation. z/OS MVS System Messages. IBM Redbooks, 2020.
- Lowe, D. Mainframe Basics: Abend-AID and Recovery. IBM Systems Magazine, 2015.
- Корпорация Compuware. История развития продуктов для мейнфреймов. Внутренние материалы, 2008.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


