Открыть сервис

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, что позволило использовать его в гибридных архитектурах.

Источники

  1. Compuware Corporation. Abend-AID User Guide for z/OS. Compuware, 2019.
  2. BMC Software. BMC Abend-AID Product Documentation. BMC, 2022.
  3. IBM Corporation. z/OS MVS System Messages. IBM Redbooks, 2020.
  4. Lowe, D. Mainframe Basics: Abend-AID and Recovery. IBM Systems Magazine, 2015.
  5. Корпорация Compuware. История развития продуктов для мейнфреймов. Внутренние материалы, 2008.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →