|
|
|||||||||||||||||||||||||||||
|
Мониторинг производительности с Enterprise Workload ManagerИсточник: IBM developerWorks Россия Чеким Чуор, тестировщик систем, IBM
Сбор подробной статистики транзакций в вашей рабочей среде может быть критически важным для соответствия требованиям современного бизнеса. Узнайте, как можно установить сквозной мониторинг производительности в функциональном домене IBM Enterprise Workload Manager (EWLM), а также как включить инструментарий Application Response Measurement (ARM) для IBM HTTP Server, WebSphere Application Server (Application Server) и DB2 UDB на AIX и Linux, который позволит вам собирать детальную статистику. В статье также демонстрируется, как устранить неисправности этой реализации. В настоящее время многоуровневые Web-приложения и кластеры очень распространены в IT-области. Системные администраторы должны знать, как выполняются их Web-приложения, чтобы соответствовать поставленным бизнес-целям или соглашению об уровне сервиса (service level agreements - SLA). Существует несколько инструментальных средств, позволяющих вам производить мониторинг систем и возможностей сети; фактически, большинство программ промежуточного уровня имеют некоторые средства предоставления внутренней статистики. Другие средства и провайдеры служб могут рассказать вам о том, как выполняются ваши приложения с различных точек зрения. Но очень немногие из них могут предоставить сквозной просмотр каждой транзакции, проходящей через вашу программу промежуточного уровня, от момента активизации запроса Web-сервером по всему пути к базе данных, через многочисленные узлы и различные платформы. Этой уникальной способностью обладает Enterprise Workload Manager for Multiplatforms (EWLM), компонент IBM Virtualization Engine Server Suite. В документации по IBM Virtualization Engine более детально рассматривается эта комплексная платформа, помогающая виртуализировать вашу инфраструктуру. Для каждой конкретной транзакции EWLM может рассказать о пройденном пути, о времени, потраченном на каждом промежуточном узле, и выдать другую системную статистику. С этими данными EWLM может составить топологию промежуточного программного обеспечения, работающего с вашим приложением. Это помогает идентифицировать потенциальные узкие места (серверы) в кластере при их наличии. Естественно, промежуточное программное обеспечение может означать различные вещи в различных контекстах. Из Wikipedia: "Промежуточное программное обеспечение (middleware) в настоящее время используется для описания систем управления базами данных, Web-серверов, серверов приложений, систем управления содержимым и аналогичных инструментальных средств, поддерживающих разработку приложений и процесс передачи". В этой статье промежуточным программным обеспечением называется комплект IBM HTTP Server, Application Server и DB2 UDB. Большая часть промежуточного программного обеспечения IBM за последние несколько лет была расширена на использование открытого стандарта Application Response Measurement (ARM) как способа предоставления статистики внутренних транзакций для любого внешнего инструментального средства, поддерживающего этот стандарт. Application Server (Express, Base, ND, XD) и DB2 UDB стали использовать ARM, также как и подключаемый модуль WebSphere для IBM HTTP Server (IHS) и Microsoft™ Internet Information Server (IIS). Теперь, используя это промежуточное программное обеспечение, вы можете выполнять сквозной мониторинг производительности вашего Web-приложения. Однако инструментарий ARM по умолчанию запрещен. Я объясню, как вы можете разрешить инструментарий ARM. Вам понадобится EWLM Managed Server (MS) - агент, который работает внутри каждого сервера, собирая ARM-статистику и передавая ее в EWLM Domain Manager (DM). DM собирает вместе все данные и предоставляет их через EWLM Control Center, к которому вы можете обратиться из любого Web-браузера. На рисунке 1 изображена высокоуровневая архитектура. Рисунок 1. Высокоуровневая архитектура EWLM и поддержка промежуточного программного обеспечения Общий процесс:
Предварительные условияEWLM поддерживает IHS, Application Server и DB2 на множестве платформ; последняя информация приведена в EWLM Information Center. Инструментарий ARM промежуточного программного обеспечения идентичен для большинства платформ (за исключением i5/OS и z/OS), но уровень поддержки ARM-платформы и связанные с ней процедуры безопасности специфичны для каждой операционной системы. Для удобства в этой статье я главным образом буду обсуждать AIX, при необходимости упоминая специфические положения для Linux. Программное обеспечение, рассматриваемое в данной статье:
Вы должны иметь практические знания промежуточного программного обеспечения и операционных систем. У вас уже должен быть установлен EWLM DM на управляющем сервере и EWLM MS на каждом узле, на котором выполняется промежуточное программное обеспечение. Оба могут работать на одной и той же системе, если имеется достаточный объем оперативной памяти и хватает мощности процессора. Тестовая среда состоит из четырех логических разделов на pSeries 570. Каждый раздел сконфигурирован на использование одного процессора (с разрешенным POWER5™ Micro-Partitioning) и 2GB памяти. Вы можете выполнить это упражнение на любой автономной системе pSeries или в разделе iSeries, если можете запустить на них AIX 5.3. У меня есть AIX и Linux, работающие в 64-битном режиме; это же касается и DB2 UDB. EWLM установлен как часть стека IBM Virtualization Engine CD, который я не буду рассматривать в этой статье. Разрешение поддержки ARM на платформеПрежде всего, я объясню, как разрешить поддержку ARM для AIX и Linux. Для AIXКак показано на рисунке 1, ни промежуточное программное обеспечение, ни любое приложение с поддержкой ARM на самом деле не взаимодействует с EWLM MS напрямую. Они передают данные в средства поддержки ARM платформы, а MS, в свою очередь, извлекает данные из средств поддержки ARM и передает их в DM. Поэтому вы должны начать с разрешения поддержки ARM в AIX. Удостоверьтесь, что пакет поддержки ARM под названием bos.net.ewlm.rte установлен. Используйте команду
для проверки того, установлен он или нет. Если поддержка ARM еще не установлена, вы должны скопировать пакет установки с инсталляционного CD AIX. Для установки пакета вы можете использовать SMIT. После установки пакета вы можете разрешить поддержку ARM следующим образом:
Выполните команду
Теперь поддержка ARM в AIX должна быть разрешена. При запуске EWLM MS, если появится сообщение о том, что поддержка не разрешена, выполните опять команду
Убедитесь в том, что эта строка не закомментирована и что она вызывается правильно. Я сталкивался с проблемами, когда AIX инициализировал другую службу перед ней, а эта служба никогда не заканчивалась, поэтому AIX не доходил до точки запуска данной службы. В случае каких-либо сомнений вы можете попытаться инициализировать ее вручную, что не причинит никакого вреда, если служба уже была инициализирована. Выполните команду
Для LinuxПеред запуском EWLM MS на Linux проверьте "Необходимые критические обновления для IBM Virtualization Engine version 2.1" на наличие дополнительных "заплаток" для операционной системы. Если вы компилируете ядро самостоятельно, не запрещайте в ядре функцию Class-Based Kernel Resource Management (CKRM). Поддержка платформы ARM основывается на CKRM для получения статистики от операционной системы. Необходимо также установить fixpack 020 поверх Linux MS. Linux MS был деактивирован в GA-версии. Поддержка платформы ARM в Linux поставляется в пакете EWLM MS и устанавливается как часть MS-установки. Обычно вы не должны специально делать что-либо для этого. Демон ARM должен быть запущен при старте системы. Вы можете проверить его запуск при помощи команды На платформе Linux EWLM MS использует файловую систему, смонтированную в /mnt/relayfs, поэтому будьте внимательны и не монтируйте что-либо к /mnt; вместо этого создайте подкаталог в /mnt и используйте его. Еще одним важным каталогом, который вы не должны удалять, является /tmp/ewlmarmd. Каждый раз, когда существует приложение, выполняющее ARM-регистрацию, в нем создаются некоторые нужные файлы. Если он удален случайно, вы можете просто перезапустить демон ARM, который создаст его заново, но затем, вы должны перезапустить также все ARM-приложения, поскольку все регистрации были утрачены. Используйте для перезапуска команду Создание ID конфигурации EWLM DMПеред тем, как вы сможете использовать EWLM DM, вы должны создать ID конфигурации аналогично профилю Application Server или экземпляру DB2. Вы можете использовать командную строку или GUI-мастер для этого. При создании ID конфигурации создается рабочий каталог для него, назначается несколько TCP/IP портов для DM и создается профиль Application Server для запуска приложения Control Center. Использование мастера конфигурацииУбедитесь в том, что у вас есть рабочая среда X window. Это можно выполнить под пользователем root, используя команду
После открытия панели выберите Create domain manager and Control Center и нажмите Next. На шаге 1 (из 8-ми), мастер запрашивает имя ID конфигурации; не используйте какие-либо специальные символы; я буду использовать На следующем шаге имя домена предназначено только для целей отображения. Вы можете использовать длинные слова и пробелы. IP-адрес мог бы быть вашим реальным адресом (я устанавливаю 0.0.0.0, указывая DM прослушивать все IP-адреса в системе). Вы можете оставить значение порта по умолчанию, либо установить свое собственное, как показано на рисунке 2. Рисунок 2. Мастер конфигурации DM, IP-адрес и порты для прослушивания На шаге 3 нет необходимости разрешать SSL-шифрование между DM и MS в среде интранет. На шаге 4 мастер спросит вас о желании заменить SSL-сертификат по умолчанию, предоставленный сервером WebSphere, который выполняет приложение Control Center с разрешенной Global Security. Опять же, в контролируемой среде в этом нет необходимости. Оставьте вариант по умолчанию и нажмите Next. На шаге 5 не разрешайте посредник-брандмауэр, пока не будете знать, что делаете. На шаге 6 указывается ID пользователя, который будет использоваться для остановки и управления WebSphere для Control Center. Он должен быть установлен в root, потому что Global Security использует локальную аутентификацию. Для шага 7 вы можете назначить пользователей или группы операционной системы на различные роли для операций Control Center, как показано на рисунке 3. Вы должны назначить, по крайней мере, одного пользователя или группу на роль Administrator для использования EWLM; однако, вы можете добавить или удалить любые назначения позже, если пожелаете. Рисунок 3. Мастер конфигурации DM, добавление роли для Control Center На шаге 8 оставьте флажок не отмеченным. Создание ID конфигурации DM - это длительный процесс, поэтому я предпочитаю сделать все правильно, а потом запустить DM вручную. По прошествии примерно 10 минут процесс завершится (рисунок 4). Обратите внимание на Control Center URL внизу окна. Вы должны подставить ваш реальный IP-адрес или имя хоста в URL. Рисунок 4. Мастер конфигурации DM, процесс создания завершен Использование командной строкиВы можете выполнить эту задачу также при помощи командной строки. Это особенно полезно, если вы не root и должны предоставить команду для выполнения под другим пользователем, имеющим полномочия root. Следующие команды делают в точности то же, что и мастер конфигурации: Листинг 1. Версия командной строки задач мастера конфигурации
Для запуска DM и Control Center используйте: Листинг 2. Версия командной строки для запуска DM и Control Center
Теперь, зарегистрируйтесь в Control Center, для того чтобы увидеть, что все работает правильно. Откройте Internet Explorer по адресу https://dm_hostname:5777/webui и зарегистрируйтесь с ID пользователя и паролем, которые вы указываете для роли Administrator. После успешной регистрации вы должны увидеть панель, показанную на рисунке 5. Проверьте, что у вас разрешены всплывающие окна для этого URL. Рисунок 5. Главная страница Control Center Устранение неисправностейА что если есть ошибки, и мастер не завершается? Вы должны знать, где и почему произошла ошибка, и можете найти эту информацию в рабочих log-файлах. Имеются три log-файла, созданные во время процесса в двух каталогах:
Если возникают ошибки при создании профиля WebSphere, вы должны уметь определять проблему из log-файла createDM. Если есть проблемы конфликта портов, попробуйте остановить все работающие экземпляры Application Server и проверьте, что порты доступны для использования. Если авария возникает после выполнения процесса на 90%, более всего вероятно наличие проблем с LDAP-сервером. По умолчанию после создания профиля WebSphere и развертывания приложения Control Center производится попытка зарегистрировать ваш новый созданный ID конфигурации DM в LDAP-сервере, указанном при установке Virtualization Engine (VE). Если во время этого процесса возникает проблема, ваш созданный DM удаляется, так что вы можете создать его заново. Сохраняются только log-файлы, чтобы проинформировать вас о том, что пошло не так. LDAP-регистрация используется только в VE Console. Если вы в вашей среде не пользуетесь VE Console и думаете, что LDAP больше не нужен - это не так. LDAP-сервер все равно нужен для создания и удаления DM. Если по некоторым причинам вы не можете больше получить ваш LDAP-сервер опять, есть искусственный путь обойти LDAP-регистрацию во время создания и удаления DM. Измените файл /opt/IBM/VE2/EWLM/bin/ewlmdm_environment.sh и снимите комментарии в следующих двух строках:
Вернитесь в мастер или командную строку. Попыток LDAP-регистрации не будет. Не делайте это, если планируете использовать в будущем VE Console, иначе вы не сможете подключиться к этой DM из VE Console bridge. Если вы хотите удалить ID конфигурации DM, то должны использовать команду Создание ID конфигурации EWLM MSВы должны создать ID конфигурации на каждом узле EWLM MS, используя либо мастер, либо командную строку. Этот процесс намного короче, чем создание ID конфигурации DM. Я выполняю процесс MS как пользователь root. Вы могли бы запустить MS под другим пользователем. Как и прежде, я рассмотрю использование мастера конфигурации, командную строку и устранение неполадок. Использование мастера конфигурацииЗапустите мастер конфигурации под пользователем root, используя команду
На первой панели выберите Create managed server и нажмите Next. На шаге 1 ID конфигурации не должен содержать специальных символов. Рабочий каталог создается в /ewlmData/ewlmms/servers/chekimMS. На шаге 2 вы можете предоставить имя хоста DM или IP-адрес. Не забудьте изменить порт, если назначили другой номер ранее при создании DM. Шаг 3 предназначен для настройки SSL и должен соответствовать установкам в DM. Выберите None и нажмите Next. На шаге 4, если вы не имеете прямого соединения между DM и MS, можете использовать стандартный HTTP-прокси для их соединения, разрешив метод Вот и все. Дождитесь отображения сообщения Использование командной строкиДля выполнения всех шагов мастера одной командой, выполните следующую команду на всех MS-узлах:
Для запуска MS введите:
Если вы перейдете в Manage > Managed servers, то должны увидеть, что к домену добавился новый MS. Если его нет, нажмите несколько раз пиктограмму обновления в правом верхнем углу окна. Устранение неисправностейПроцесс создания MS довольно прост, но проблемы могут возникнуть при запуске MS. Запуск MS может закончиться неудачно, если поддержка платформы выполнена неправильно; в этом случае вы должны вернуться к разделу "Разрешение поддержки ARM на платформе". Еще одна потенциальная проблема, с которой вы можете столкнуться - свободное место в файловой системе. По умолчанию ID конфигурации MS создается в файловой системе root в каталоге /ewlmData. AIX распределяет по умолчанию слишком мало места для этой файловой системы. Если ваш MS генерирует исключительную ситуацию и начинает выводить диагностические XML-файлы, файловая система root может быстро переполниться. Как средство защиты от этого вы можете увеличить размер файловой системы root или переместить содержимое /ewlmData в более объемную файловую систему и создать символическую ссылку /ewlmData, указывающую на новое месторасположение. Создание политики EWLM-доменаEWLM поставляется с примером политик, для того чтобы вы смогли начать работу, но я в этом разделе создам новую. Вы укажете в политике, как классифицировать входящие запросы в классы транзакции, которые являются подмножеством класса службы, а также укажете требуемые рабочие характеристики для класса службы. Я собираюсь использовать базовое Web-приложение с названием Trade, эмулирующее простое Web-приложение для ведения коммерции, в котором пользователи могут покупать или продавать товары и запрашивать свой портфель покупок. Те, кто не имеет доступа к этому приложению, могут использовать любой другой пример Web-приложения для данного упражнения или просто прочитать материал. Для начала создания политики домена зарегистрируйтесь повторно в Control Center, выберите Domain policies и нажмите New.... Появится мастер политики домена. Дайте политике имя и краткое описание. На следующем шаге вы можете оставить рабочую нагрузку EWLM по умолчанию и нажать Next. На шаге Service classes создайте новый класс службы, нажав New.... Вы должны увидеть детали требуемых рабочих характеристик класса службы; все поля говорят сами за себя (рисунок 6). После ввода всех значений нажмите OK и Next. Рисунок 6. Мастер Domain policy, создание класса службы Теперь вы добавите приложение к политике для классификации запросов, приходящих в это приложение, выбрав Add... на шаге Applications. Помните о том, что значение имеет только входное приложение; именно в нем каждый входящий запрос классифицируется, и эта классификация передается по всем последовательным узлам промежуточного программного обеспечения. Каждое приложение имеет определенное количество предопределенных фильтров, имеющих к нему отношение. Для приложения Trade, которое я использую, все входящие запросы поступают сначала в IHS, поэтому в политику я добавляю приложение IBM Webserving Plugin. Для создания класса транзакции убедитесь в том, что в ниспадающем списке выбран элемент IBM Webserving Plugin, и нажмите New.... Дайте имя классу и назначьте его позиции 1 класса службы Trade, как показано на рисунке 7. Помните о том, что в правилах классификации очень важен порядок. Всегда нужно ставить наиболее специфические правила первыми, а за ними указывать более общие. Рисунок 7. Мастер политики домена, создание класса транзакции Вы должны добавить правило для этого класса транзакции - нажмите кнопку New.... Мое правило классификации основано на фильтре EWLM:URI, а его значением является Рисунок 8. Мастер Domain policy, создание правила После завершения процедуры добавления правила проверьте, что новый класс транзакции расположен перед правилом по умолчанию, которое будет перехватывать все, что входит в приложение. Нажмите кнопку Finish для сохранения политики. После сохранения политики вы должны развернуть ее для вступления новой политики в силу. Выберите только что созданную политику и выберите Deploy... в ниспадающем списке; нажмите Go. Затем появится запрос о политике службы, которую нужно активизировать. Поскольку вы не создавали каких-либо новых политик служб, можете выбрать для активизации только одну. Выберите ее и нажмите Deploy. На самом деле вы можете развернуть политику домена без активизации какой-либо политики службы, но я не вижу смысла это делать. Убедитесь в том, что политика службы была успешно активизирована на всех управляемых серверах, как показано на рисунке 9. Рисунок 9. Состояние активизации политики службы В любое время вы можете сказать, какая политика активна, посмотрев на верхнюю часть панели. Также вы можете увидеть активную политику службы на любом управляемом сервере. Обычно все управляемые серверы должны иметь одинаковую политику службы, но иногда сервер может быть отключен или отсоединен во время развертывания политики домена, и, таким образом, может иметь место несоответствие. Как только сервер опять подключится к менеджеру домена, он попытается активизировать текущую политику. Теперь вы готовы получить статистику транзакций от промежуточного программного обеспечения. Но сначала вам необходимо разрешить инструментарий ARM в вашем промежуточном программном обеспечении. Разрешение инструментария ARM в DB2 UDBНачиная с версии 8.2 DB2 UDB, инструментарий ARM уже включен по умолчанию, но вы должны указать ему, где искать ARM-библиотеку libarm4.a (или libarm4.so для Linux). Для экземпляра db2inst1 используйте:
Перед тем, как вы сможете запустить DB2, вы должны дать пользователю db2inst1 некоторые специальные привилегии в AIX, чтобы он зарегистрировался для поддержки ARM платформы. Для этого нужно использовать root:
В Linux вы просто должны добавить пользователя db2inst1 в группу ewlm_armusers (созданную во время MS-инсталляции). В обоих случаях вы должны выйти из системы и снова зарегистрироваться в ней для того, чтобы изменения вступили в силу. Затем вы можете запустить экземпляр DB2. Для операционной системы Linux поддержку инструментария ARM имеет только DB2 for Linux на платформах Intel x86. Linux на всех других аппаратных платформах пока не поддерживает ARM, поэтому делать это бесполезно. Будущие версии DB2 UDB будут иметь поддержку ARM для всех аппаратных платформ Linux. Вы можете теперь запустить экземпляр DB2; в листинге 3 приведен пример успешной регистрации экземпляра DB2 в ARM. Листинг 3. Запуск экземпляра DB2
На Linux эта программа расположена в /opt/IBM/VE2/EWLMMS/usr/bin/lsarm. Устранение неисправностейНаиболее общая проблема инструментария ARM DB2 вызвана неавторизованной регистрацией либо из-за отсутствия необходимых привилегий, либо из-за того, что привилегии еще не вступили в силу. Для двойной проверки этого на AIX выполните: Листинг 4. Проверка регистрации инструментария ARM DB2
В Linux выполните команду Более серьезной проблемой может быть то, что иногда DB2 не может найти или загрузить ARM-библиотеку. В этом случае вы должны были бы использовать программу Листинг 5. Определение того, как далеко доходит DB2 при загрузке ARM-библиотеки
Программа Если DB2 не может найти libarm4.a, вы увидели бы только первые пять строк из листинга 5 и не видели бы остальные ARM-функции в файле трассировки. Если вам необходимо обратиться в службу технической поддержки, очень полезным будет предоставление службе этого файла трассировки. Разрешение инструментария ARM в Application ServerРазрешение ARM в Application Server состоит из двух шагов. Первый - разрешить глобально Request Metrics (метрики запросов). Затем в настройках каждого AppServer вы должны указать, где искать класс инструментария ARM и JNI-библиотеку. Вы можете, таким образом, избирательно разрешать инструментарий ARM на каждом AppServer вашей сети WebSphere. В WebSphere Application Server редакций Express, Base и Network Deployment инструментарий ARM применим только для AppServers. В WebSphere Application Server редакции XD вы можете применить его для Proxy Servers а также для On Demand Routers. Чтобы разрешить Request Metrics на уровне всей сети, войдите в WebSphere Administrative Console, перейдите в панель Request Metrics и используйте следующие настройки (показаны на рисунке 10).
Рисунок 10. Разрешение Request Metrics в WebSphere AdminConsole Теперь вы должны перейти в каждый AppServer (или другие типы сервера в случае WebSphere Application Server XD) для добавления пользовательских свойств в Java Virtual Machine (JVM). Как показано на рисунке 11, из Application servers > yourAppServer > Process Definition > Java Virtual Machine > Custom Properties создайте следующие свойства:
Свойство
Вы всего лишь должны установить свойство Рисунок 11. Пользовательские свойства JVM для инструментария ARM Сохраните изменения и перезапустите AppServers, для того чтобы инструментарий ARM начал действовать. Проверьте успешность регистрации ARM при помощи команды:
Хотя эта процедура не слишком сложна для небольшого количества AppServers, она может стать трудоемкой, если их имеется несколько дюжин на различных платформах, поскольку каждая платформа может использовать различные пути каталогов. Для этих целей я написал wsadmin-сценарий автоматизации процесса с названием was_arm.jacl, доступный для загрузки. Сценарий будет выполнять интерактивный цикл по списку серверов (AppServer, ODR и т.д.) в сети WebSphere ND или XD, добавляя пользовательские свойства JVM для разрешения инструментария ARM. В нем есть пути каталогов по умолчанию для всех поддерживаемых EWLM платформ, за исключением i5/OS и z/OS. Вы можете свободно использовать или изменять этот сценарий для соответствия вашей среде. Я настоятельно советую вам познакомиться с этой процедурой перед использованием сценария; в противном случае вы можете не знать точно, что было сделано в вашей среде WebSphere. Если вы запускаете Application Server не как пользователь root, то применяется такое же правило безопасности, которое имеет DB2. В AIX вы должны добавить некоторые привилегии для пользователя:
В Linux вы должны добавить этого пользователя в группу ewlm_armusers и повторно войти в систему. Если по какой-либо причине вы должны временно запретить инструментарий ARM во всей сети WebSphere, можете просто снять отметку с флажка Enable Request metrics на панели Request Metrics и оставить пользовательские свойства JVM. Если вы хотите запретить ARM навсегда, лучше удалить эти свойства. Устранение неисправностейДопустим, вы выполнили все шаги и не видите WebSphere в Если все хорошо, вы должны увидеть следующую информацию в SystemOut.log: Листинг 6. Результаты в SystemOut.log при нахождении класса реализации ARM
Если arm4.jar не найден, в SystemOut.log вы увидите следующую информацию: Листинг 7. Результаты в SystemOut.log при не найденном классе реализации ARM
Также вы увидите исключительную ситуацию Иногда проблема менее очевидна. Например, если JNI-библиотека libewljarm4.a не найдена, вы можете не увидеть в log-файлах каких-либо сообщений об ошибках, либо можете увидеть исключительную ситуацию Рисунок 12. Использование pmi.rm=all для трассировки разрешения ARM Если WebSphere не может найти или загрузить JNI-библиотеку, вы должны увидеть следующую информацию в файле trace.log: Листинг 8. WebSphere не может найти или загрузить JNI-библиотеку
При любых проблемах загрузки или вызова JNI-библиотеки возвращается код ошибки Разрешение инструментария ARM в IHSС технической точки зрения вы собираетесь разрешить ARM в подключаемом модуле Application Server, работающем в IHS, а не в самом IHS. После того, как вы разрешили метрики запросов в WebSphere, вы просто должны повторно сгенерировать конфигурационный файл подключаемого модуля для разрешения инструментария ARM в подключаемом модуле. Найдите следующие строки в вашем новом файле plugin-cfg.xml:
По умолчанию IHS выполняется как пользователь После перезапуска IHS с новым plugin-cfg.xml вы должны увидеть, что он зарегистрировался в ARM, выполнив следующую команду:
Устранение неисправностейЕсли при попытках инициализации ARM подключаемым модулем Application Server или выполнении ARM-регистрации возникает ошибка, вы увидите это в log-файле подключаемого модуля, обычно в /opt/IBM/WebSphere/Plugins/logs/http_plugin.log. Помните о главном различии между IHS и предшествующим промежуточным программным обеспечением:
Если вы отлаживаете странный случай отказа подключаемого модуля Application Server, помните о том, что поддержка ARM может иногда вызвать его зависание. Если сомневаетесь, укажите Просмотр статистики транзакций с использованием Control CenterТеперь, поскольку вы включили инструментарий везде, давайте выполним какую-либо транзакцию и посмотрим, какую статистику мы можем получить из EWLM. Для этого упражнения я настроил кластер из трех узлов Application Server, находящихся за HIS-узлом, и сервер базы данных DB2. Один из моих серверов работает как Application Server и как IHS одновременно. После нескольких вызовов приложения Trade из моего браузера Control Center показывает, как работает кластер в соответствии с требуемыми рабочими характеристиками, установленными предварительно в политике домена. Как показано на рисунке 13, моей целью было получить 95 процентов транзакций, принадлежащих ответу класса службы Trade длительностью менее полсекунды (500 мс). На самом деле я получил 99 процентов в этом интервале времени. EWLM выдал мне индекс производительности 0.5 для транзакций, произошедших за этот интервал времени. Индекс производительности менее 1.0 означает, что я превысил требуемую рабочую характеристику. Если бы целью было SLA для этого приложения, я бы знал, что превышаю SLA, и мои пользователи должны были быть счастливы! Рисунок 13. EWLM Control Center, окно Service classes Выберите Trade service class, затем Server topology в ниспадающем списке Action, а затем выберите Go. Появляется всплывающее окно, показывающее топологию системы, которую обнаружил EWLM во время прохождения транзакций. Как показано на рисунке 14, 75 запросов было передано в узел hci245 Application Server, а 28 и 29 запросов были переданы в два других узла. Здесь EWLM только собирает статистику об этих транзакциях; он абсолютно не оказывает никакого влияния на результаты работы. Рисунок 14. EWLM Control Center, топология сервера Теперь давайте опять выберем Trade service class, выбрав Application topology, а затем нажав Go. Всплывающее окно показывает ту же самую топологию, но с точки зрения приложения (рисунок 15). Рисунок 15. EWLM Control Center, топология приложения В обеих схемах топологии вы можете щелкнуть по каждому прямоугольнику для развертывания более подробной информации и спуститься к конкретному процессу с его статистикой. Вы можете поместить курсор мыши над желаемым прямоугольником; отобразится таблица статистики. В заключениеЯ только поверхностно описал, что такое EWLM Control Center и типы статистики, которые он может вам представить. В этой статье я показал вам, как разрешить инструментарий ARM в различном программном обеспечении промежуточного уровня. Вы посмотрели на обобщенную и индивидуальную статистику, которую можно получить из EWLM Control Center, а также схемы топологии, показывающие пути транзакций. Я продемонстрировал, как можно получить эту статистику без изменения кода приложения, используя готовое программное обеспечение IBM промежуточного уровня. Поскольку IBM продолжает внедрять инструментарий ARM во все более широкий диапазон программного обеспечения промежуточного уровня, вы увидите увеличение выгоды от вашего инвестирования в EWLM. Это только вопрос времени, когда вы сможете получить возможность сквозного просмотра Web-транзакций на всем пути к ядру традиционных приложений, работающих на мэйнфреймах или вашей корпоративной ERP. Между тем, если вы желаете получить некоторые выгоды от ваших самодельных приложений, то можете внедрить в них инструментарий ARM самостоятельно! Просто найдите "EWLM APIs" в Information Center или посетите The Open Group. Эти уроки могут быть также использованы для среды WebSphere Portal Server или WebSphere Commerce Server, если они работают на Application Server версии 6.0 или выше. Файлы для загрузки
|
|