• Дигитални аксесоари
  • сървър
  • Дигитален живот
  • Политика за поверителност
  • Свържете се с нас
  1. Home
  2. Article
  3. БЕШЕ 6 PD

БЕШЕ 6 PD

Rsdaa 09/11/2021 3148

Събирайте и анализирайте данните

Намерете решение

ibm.com/redbooksМеждународна организация за техническа поддръжка

Проблем с WebSphere Application Server V6

Определяне за разпределени платформи

Ноември 2005 г

SG24-6798-00 Бележка: Преди да използвате тази информация и продукта, който поддържа, прочетете информацията в „Забележки“ на страница ix.

Първо издание (ноември 2005)

Това издание се отнася за WebSphere Application Server V6 на разпределени платформи.

© Copyright International Business Machines Corporation 2005. Всички права запазени.

Забележка към ограничените права на потребители от правителството на САЩ - Използване, дублиране или разкриване, ограничено от GSA ADPSchedule Договор с IBM Corp.Contents

Бележки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Търговски марки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . х

Глава 1. Подход за определяне на проблем . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Въведение в определянето на проблеми. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 Причини за проблеми . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.2 Видове симптоми на проблем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Подготовка и предотвратяване на проблеми . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1 Прилагане на поддръжка на WebSphere . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.2 Проверка на предпоставките . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.3 Тестване на приложението . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.4 Настройка на тестова среда . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2.5 Установяване на безопасни оперативни процедури . . . . . . . . . . . . . . . . . . . . . 12 1.2.6 Висока наличност и преход при срив . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.2.7 Мониторинг . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2.8 Системна документация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.2.9 Събиране на диагностични данни . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.3 Какво да направите, когато възникне проблем. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.3.1 Връщане към безопасни условия. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.3.2 Идентифициране на симптоми на проблем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.3.3 Проучете и проучете проблема . . . . . . . . . . . . . . . . . . . . . . . . 27 1.3.4 Стратегии за определяне на проблеми . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.4 Класифициране на проблема и определяне на първопричината . . . . . . . . . . . . . . . . . 31 1.4.1 Инсталиране или мигриране . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.4.2 Пакетиране и внедряване на приложение . . . . . . . . . . . . . . . . . . . . 35 1.4.3 Управление и конфигурация на системата . . . . . . . . . . . . . . . . . . . . . . 37 1.4.4 Време на изпълнение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 1.5 Свързване с IBM за поддръжка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 1.5.1 Структура за поддръжка на IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 1.5.2 Проучване на проблема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 1.5.3 Събиране на MustGather файлове . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 1.5.4 Определяне на сериозността . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 1.5.5 Създаване на PMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

© Copyright IBM Corp. 2005. Всички права запазени. iii

1.5.6 Изпращане на данни до IBM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Глава 2. Диагностични данни . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

2.1 Регистри на JVM (SystemOut и SystemErr) . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 2.2 Проследяване . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 2.3 Инструмент за събиране . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 2.4 Прихващане на данни за първи отказ (FFDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 2.5 Други регистрационни файлове . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 2.5.1 Процесни (родни) регистрационни файлове. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 2.5.2 Дневник на услугата (activity.log) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 2.5.3 Инсталационни журнали . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 2.6 IBM HTTP сървър и регистрационни файлове и проследявания на добавки . . . . . . . . . . . . . . . . . . . . . 90 2.6.1 Регистри на IBM HTTP сървър . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 2.6.2 Дневници на добавки на уеб сървър . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 2.6.3 Проследяване на плъгини на уеб сървър . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 2.6.4 Мрежово проследяване . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 2.7 Дневници за управление на системата. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 2.7.1 Изход от wsadmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 2.7.2 Скриптове за управление . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 2.7.3 Дневници за управление на профили . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 2.8 Регистри на WebSphere Rapid Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 2.9 Резюме на регистрационните файлове . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Глава 3. Определяне на проблеми с инсталацията. . . . . . . . . . . . . . . . . . . . . . 97

3.1 Въведение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.2 Решете проблема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.2.1 Симптом: Панелът за стартиране или съветникът за инсталиране не се стартират или се провалят. . 101 3.2.2 Симптом: Съветникът за инсталиране виси . . . . . . . . . . . . . . . . . . . . . . . . 103 3.2.3 Симптом: Неуспешно създаване на профил . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3.2.4 Симптом: IVT се проваля . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.3 Анализиране на проблемни области. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.3.1 Изисквания към уеб браузъра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.3.2 Проблеми при стартиране на сървъра на приложения . . . . . . . . . . . . . . . . . . . . . . . . 111 3.3.3 Проблеми при създаването на профил . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.4 Следващата стъпка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

Глава 4. Определяне на проблеми с управлението на системата . . . . . . . . . . . . 115

4.1 Въведение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.1.1 Събиране на данни . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4.2 Работа с проблема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.2.1 Анализ на симптомите на високо ниво. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.3 Анализиране на проблемните области. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 4.3.1 Проблем: Няма достъп до административната конзола. . . . . . . . . . 127 4.3.2 Проблем: wsadmin или скриптовете за управление не могат да получат достъп до сървъра. . . 130

iv Откриване на проблеми на WebSphere Application Server V6 за разпределени платформи

4.3.3 Проблем: Не може да се спре сървърен процес. . . . . . . . . . . . . . . . . . . 133 4.3.4 Проблем: Не може да се стартира сървърен процес . . . . . . . . . . . . . . . . . . . 135 4.3.5 Проблем: Невъзможен достъп до агент на възел . . . . . . . . . . . . . . . . . . . . 137 4.3.6 Проблем: Не може да се управлява уеб сървър . . . . . . . . . . . . . . . . . . . 138 4.3.7 Проблем: Не може да се управляват приложения . . . . . . . . . . . . . . . . . . . . 141 4.3.8 Проблем: Неуспешно добавяне на възел към мениджър за разполагане . . . . . . 143 4.3.9 Проблем: Синхронизиране на хранилище . . . . . . . . . . . . . . . . . . . . . . . 145 4.3.10 Проблем: Запазване на конфликти в административната конзола . . . . . . . . . 150 4.3.11 Проблем: липсват корпоративни приложения . . . . . . . . . . . . . . . . . . . 151 4.3.12 Проблем: Невалидни или изтекли сертификати . . . . . . . . . . . . . . . . . . . . . 153 4.3.13 Проблем: WebSphere Rapid Deployment . . . . . . . . . . . . . . . . . . . 1584.4 Следващата стъпка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

Глава 5. Определяне на проблем с уеб контейнер. . . . . . . . . . . . . . . . . . 165

5.1 Въведение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 5.1.1 Първоначални симптоми . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1685.2 Решете проблема. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 5.2.1 Данни за събиране . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 5.2.2 Анализ на симптомите на високо ниво. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 5.2.3 Симптом: HTTP 404 грешка - Страницата не може да бъде показана. . . . . . 172 5.2.4 Симптом: HTTP 404 грешка - Неуспешно намиране на ресурс. . . . . . . . . . . . 175 5.2.5 Симптом: Грешка HTTP 404 - WebGroup/виртуален хост не е дефиниран . . 177 5.2.6 Симптом: HTTP 500 грешка - грешка при обработката на JSP . . . . . . . . . . . . . 179 5.2.7 Симптом: HTTP 500 грешка - IllegalStateException . . . . . . . . . . . . . 1815.3 Анализиране на проблемни области. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 5.3.1 Спецификация на URL адрес на приложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 5.3.2 Статичните ресурси не се показват . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 5.3.3 Уеб ресурсите не се презареждат . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 5.3.4 Проблеми с кодирането и интернационализацията . . . . . . . . . . . . . . . . . . . . 195 5.3.5 Управление на HTTP сесии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2025.4 Следващата стъпка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

Глава 6. Определяне на проблем с JCA връзка. . . . . . . . . . . . . . . . . 211

6.1 Въведение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 6.1.1 Технически преглед на JCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2136.2 Решете проблема. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 6.2.1 Симптом: JDBC повикване връща неправилни данни. . . . . . . . . . . . . . . . . 217 6.2.2 Симптом: Неуспешно свързване към нов източник на данни . . . . . . . . . . . . 222 6.2.3 Симптом: Неуспешно свързване към съществуващ източник на данни . . . . . . . . 224 6.2.4 Симптом: Неуспешен достъп до ресурс чрез JDBC. . . . . . . . . 225 6.2.5 Симптом: Неуспешен достъп до нерелационен ресурс . . . . . . . . . . 2266.3 Анализиране на проблемни области. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 6.3.1 Проблеми с конфигурацията . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

Глава 7. Откриване на проблем с плъгин на уеб сървър . . . . . . . . . . . . . . 251

7.1 Въведение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 7.2 Работа с проблема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 7.2.1 Събиране на данни . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 7.2.2 Анализ на симптомите на високо ниво . . . . . . . . . . . . . . . . . . . . . . . . . . 259 7.3 Анализиране на проблемни области. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 7.3.1 Проблем: Уеб сървърът не се стартира . . . . . . . . . . . . . . . . . . . . . . . . . 261 7.3.2 Проблем: Повреда между уеб сървъра и добавката . . . . . . . . . . 263 7.3.3 Проблем: Сесиите се губят . . . . . . . . . . . . . . . . . . . . . . . . . . 272 7.3.4 Проблем: Приложението работи с прекъсвания. . . . . . . . . . . . . . . . . 277 7.3.5 Проблем: Натоварването на приложението не се разпределя равномерно . . . . . . . . 280 7.4 Следващата стъпка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

Глава 8. Определяне на проблеми при срив на сървър на приложения. . . . . . . . . 285

8.1 Въведение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 8.2 Работа с проблема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 8.2.1 Анализ на симптомите на високо ниво. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 8.2.2 Данни за събиране . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 8.2.3 Анализ на данните . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 8.2.4 Анализ на javacore файла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 8.2.5 Намиране на решение за JIT проблеми. . . . . . . . . . . . . . . . . . . . . . 293 8.3 Анализиране на проблемни области. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 8.3.1 Препълване на стека. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 8.3.2 Грешка при липса на памет . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 8.4 Следващата стъпка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 8.4.1 Sun Solaris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 8.4.2 HP-UX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

Глава 9. Определяне на проблема с доставчика на съобщения по подразбиране. . . . . . . 301

9.1 Въведение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 9.1.1 Категории проблеми . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 9.2 Работа с проблема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 9.2.1 Събиране на данни . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 9.2.2 Анализ на симптомите на високо ниво . . . . . . . . . . . . . . . . . . . . . . . . . . 307 9.2.3 Какво да направите, ако вашият симптом не е посочен тук. . . . . . . . . . . . . . . . . 310

vi WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

9.3 Анализиране на проблемни области. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 9.3.1 Проблеми при стартиране на системата за съобщения . . . . . . . . . . . . . . . . . . . . . . . . 310 9.3.2 Проблеми с потока на съобщенията . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 9.3.3 Конфигурация на приложението и проблеми с ресурсите . . . . . . . . . . . . . . 344 9.3.4 Грешки на продукта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3499.4 Следващата стъпка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350

Свързани публикации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Онлайн ресурси . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353Как да получите IBM Redbooks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356Помощ от IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

Индекс. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357

Съдържание viiviii WebSphere Application Server V6 Откриване на проблеми за разпределени платформи Бележки

Тази информация е разработена за продукти и услуги, предлагани в САЩ.

Всички препратки в тази информация към уеб сайтове, които не са на IBM, са предоставени само за удобство и по никакъв начин не служат като одобрение на тези уеб сайтове. Материалите в тези уеб сайтове не са част от материалите за този IBM продукт и използването на тези уеб сайтове е на ваш собствен риск.

IBM може да използва или разпространява която и да е информация, която предоставяте, по начин, който смята за уместен, без да поема никакви задължения към вас.

© Copyright IBM Corp. 2005. Всички права запазени. ix

Търговски марки Следните термини са търговски марки на International Business Machines Corporation в Съединените щати, други страни или и двете:

Eserver® Domino® OS/390®

Eserver® DB2 Connect™ OS/400® Redbooks (лого) ™ DB2® Rational® developerWorks® Informix® Redbooks™ z/OS® IBM® SecureWay® AIX® MQSeries® Tivoli® ClearCase® Netfinity Manager™ WebSphere® Cloudscape™ Netfinity® CICS® OS/2®

Следните термини са търговски марки на други компании:

iPlanet, Enterprise JavaBeans, EJB, Java, Java Naming and Directory Interface, JavaBeans, JavaScript,JavaServer, JavaServer Pages, JDBC, JDK, JMX, JSP , JVM, J2EE, Solaris, Sun и всички базирани на Java търговски марки са търговски марки на Sun Microsystems, Inc. в Съединените щати, други държави или и двете.

Microsoft, Windows, Win32 и логото на Windows са търговски марки на Microsoft Corporation в Съединените щати, други страни или и двете.

UNIX е регистрирана търговска марка на The Open Group в Съединените щати и други страни.

Linux е търговска марка на Линус Торвалдс в Съединените щати, други страни или и двете.

Други имена на компании, продукти и услуги може да са търговски марки или марки за услуги на други.

x WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Тази IBM® Redbook има за цел да помогне на клиентите чрез процеса на

идентифициране и разрешаване на проблеми в WebSphere Application Server V6 на разпределени платформи. Публикувана по-рано като поредица от IBM Redpapers, всяка глава разглежда конкретен аспект от процеса на определяне на проблема. В цялата книга има връзки към оригиналните документи.

Следващите документи разглеждат избрани теми, които са идентифицирани като някои от по-често срещаните типове проблеми, които клиентите обикновено трябва да адресират.

Екипът, написал тази червена книга

Тази червена книга е създадена от екип от специалисти от цял ​​свят, работещи в Международната организация за техническа поддръжка, Raleigh Center.

Саймън Дейвит работи в услугата WebSphere MQ Java™ Messaging ниво 3.

Преди това той е бил независим/на свободна практика програмист в Обединеното кралство. Има над 20 години опит в сферата на ИТ. Постоянно е нает в IBM от 2000 г., като работи в областта на услугите WebSphere MQSeries®, специализирана в Java и JMS.

Рана Катикитала е консултативен софтуерен специалист за Tivoli® Security в IBM

Software Labs, Индия. Има над седем години опит в ИТ индустрията в областта на разработката, поддръжката и тестването на операционни системи, софтуер за управление на системи и решения за е-бизнес. Има магистърска степен по

© Copyright IBM Corp. 2005. Всички права запазени. xi

Строително инженерство от Регионален инженерен колеж (REC) Варангал, Индия. Неговите области на експертиза включват IBM OS/2®, Windows® 2K, Netfinity® Manager™, IBM Director, решения за здравни домейни на HIPAA (Закон за преносимост и отчетност на здравното осигуряване) и HCN (Мрежа за сътрудничество в здравеопазването).

Thu-Giang Pham Thu-Giang Pham е консултантски софтуерен инженер, който работи

като ръководител на екип за група за поддръжка на IBM WebSphere Application Server L2 в RTP, Северна Каролина.

Thu-Giang има повече от седемнадесет години опит в ИТ индустрията

където е прекарала последните тринадесет години, предоставяйки техническа поддръжка и консултации в областта на базите данни, инструментите за разработка и сървърите за приложения. Thu-Giang също имаше четири години опит като софтуерен инженер, участващ в разработването на генератор на код на приложение и различни финансови приложения. Преди да се присъедини към IBM в RTP преди пет години, Thu-Giang е работил за DataDirect Technology (известен преди като MERANT, Intersolv), Oracle и Software AG от Канада. Thu-Giang притежава бакалавърска степен по математика, съвместни отличия в областта на компютърните науки, комбинаториката и оптимизацията от University of Waterloo във Ватерло, Онтарио, Канада.

Крейг Скот е специалист по софтуерна поддръжка в Австралия. Той има 16 години

опит в ИТ и над пет години опит в WebSphere Application Server. Има диплома по компютърни науки от университета в Канбера. Неговите области на опит включват WebSphere Application Server, WebSphere Edge Server, IBM DB2® и IBM Content Manager.

Дейвид Тицлър е анализатор за поддръжка на ниво 2 за WebSphere Application Server

базиран в Роли, Северна Каролина. Той се присъединява към IBM през 2001 г. и е на настоящата си позиция от четири години. На тази позиция той работи директно с клиенти за разрешаване на проблеми с WebSphere Application Server. Той е специализиран в проблеми, свързани с групиране на връзки, съобщения, EJB, транзакции, уеб услуги и др. Той е IBM Certified Advanced System Administrator за WebSphere Application Server V5. Има диплома по компютърни науки от Държавния университет на Пенсилвания.

xii WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

помага на клиентите да проектират, внедряват и настройват J2EE™ приложения. През последните четири години той работи като ръководител на проект за J2EE рамка за разработка, базирана на J2EE модели в Центъра за научноизследователска и развойна дейност по клинично инженерство, Аржентина. Има диплома по Инженеринг на информационните технологии от U.T.N. Университет Кордоба, Аржентина. Неговите области на опит включват проектиране на J2EE архитектура, консултантски услуги за WebSphere Application Server и интеграция на наследени мейнфрейм системи.

Със специални благодарности на Рон Вербрюген за неговите насоки при проектирането и разработването на съдържанието на тази книга.

Благодаря на следните хора за техния принос към този проект:

Gustavo BustosGrupo Leviminond

Благодарение на следните IBMers:

Вашите усилия ще помогнат за увеличаване на приемането на продукта и удовлетворението на клиентите. Като бонус, вие ще развиете мрежа от контакти в лабораториите за разработка на IBM и ще увеличите своята производителност и продаваемост.

Научете повече за програмата за пребиваване, прегледайте индекса за пребиваване и кандидатствайте онлайн на: ibm.com/redbooks/residencies.html

Коментарите са добре дошли. Вашите коментари са важни за нас!

Искаме нашите Redbooks™ да бъдат възможно най-полезни. Изпратете ни вашите коментари

за тази или други Redbooks по един от следните начини: ␂ Използвайте онлайн формуляра за преглед на redbook Свържете се с нас, който се намира на: ibm.com/redbooks ␂ Изпратете вашите коментари в имейл до: redbook @us.ibm.com ␂ Изпратете вашите коментари до: IBM Corporation, International Technical Support Organisation Dept. HZ8 Building 662 P.O. Box 12195 Research Triangle Park, NC 27709-2195

xiv Определяне на проблеми на WebSphere Application Server V6 за разпределени платформи

Глава 1. Подход към определяне на проблеми

Този документ въвежда стратегии за определяне на проблеми за WebSphere Application Server V6. Обсъжда се как да се предотвратят проблеми, как да се планират и подготвят за проблеми, които могат да възникнат, и какво да се направи, когато възникне проблем, така че да бъде разрешен възможно най-бързо. След това ви насочва към по-подробна информация, която може да ви помогне да диагностицирате причината за типа проблем, който изпитвате.

© Copyright IBM Corp. 2005. Всички права запазени. 1

1.1 Въведение в определянето на проблеми Поддържането на вашите корпоративни приложения във висока степен на достъпност за вашите клиенти е от решаващо значение в днешната бизнес среда по заявка. WebSphere Application Server V6 има много нови функции и инструменти, които са предназначени да минимизират възникването на проблеми. Въпреки това, ако възникне проблем, който може да повлияе негативно на вашия бизнес, трябва да можете да реагирате бързо и ефективно.

2 Откриване на проблеми с WebSphere Application Server V6 за разпределени платформи

добавка IBM Education Assistant: Откриване на проблеми с WebSphere Application Server http://www-1.ibm.com/support/docview.wss?rs= 180&uid=swg27005460

1.1.1 Причини за проблеми

Когато възникне проблем, първият ви наклон може да бъде да се обадите на поддръжката на IBM, за да могат да осигурят поправка, която разрешава проблема. В някои случаи е необходимо да се свържете с IBM. Опитът на екипа за поддръжка на WebSphere Application Server обаче показва, че малък процент от докладваните от клиента проблеми всъщност се дължат на дефекти в кода на WebSphere Application Server. Повечето проблеми са причинени от проблеми с конфигурацията, проблеми със средата, дефекти в кода на приложението или неразбиране на WebSphere Application Server. Много от тези проблеми могат да бъдат разрешени лесно, без да се обаждате на IBM Support, за да отворите запис за управление на проблеми (PMR). В допълнение, много проблеми могат да бъдат решени чрез следване на процедурите за определяне на проблеми, които са обсъдени в тази книга.

1.1.2 Типове симптоми на проблем

Когато потребител на приложение, което работи на WebSphere Application Server, първо забележи проблем, се наблюдава проблемен симптом. Понякога проблемният симптом дава указания за причината за проблема. В други случаи е необходимо значително определяне на проблема, за да се определи основната причина за проблема.

Глава 1. Подход за определяне на проблем 3

Приложението не отговаря на входящи заявки. ␂ Приложение дава неочаквани резултати (вероятно грешки или изключения). ␂ Приложението не може да се свърже с външна система или ресурс. ␂ Приложението работи бавно или неговата производителност се влошава с времето.

1.2 Подготовка и предотвратяване на проблеми

Във всяка корпоративна изчислителна система можете да очаквате, че някои проблеми - големи или малки - ще се появят понякога. В най-добрия случай проблемите, които срещате, няма да бъдат сериозни и няма да доведат до критично въздействие върху бизнеса. Най-добрата практика обаче е да се подготвите и да планирате най-лошото.

1.2.1 Прилагане на поддръжка на WebSphere

Въпреки че много проблеми са причинени от фактори, различни от дефекти в кода на WebSphere Application Server, екипът за поддръжка на WebSphere Application Server наистина открива дефекти на продукта, когато работи чрез PMR с клиенти. Когато бъде открит дефект, екипът за поддръжка отваря оторизиран доклад за анализ на програмата (APAR). Всеки APAR има уникален идентификатор, низ, който съдържа две букви (PQ или PK) и пет числа. Можете да търсите конкретен APAR или проблемен симптом, докладван в APAR на сайта за поддръжка на WebSphere Application Server (Фигура 1-1 на страница 5). Сайтът е достъпен на: http://www-306.ibm.com/software/webservers/appserv/was/support

4 Откриване на проблеми на WebSphere Application Server V6 за разпределени платформи

Фигура 1-1 Търсене на APAR на сайта за поддръжка на WebSphere Application Server

Фигура 1-2 Промени в терминологията за поддръжка на WebSphere между V5 и V6

Пакетите за корекции не съдържат надстройки на Java Software Development Kit (SDK). Те са тествани с най-новата версия на услугата Java SDK , но надстройките до

Глава 1. Подход за определяне на проблем 5

Java SDK се доставят като отделни корекции. Можете също да изтеглите корекциите на SDK от сайта за поддръжка на WebSphere Application Server.

Проактивното инсталиране на пакети за корекции веднага щом станат достъпни е ефективен

начин за предотвратяване на възникването на проблеми. Когато инсталирате пакет за корекции, можете да бъдете сигурни, че няма да срещнете нито един от дефектите в кода на WebSphere Application Server, които са коригирани в пакета за корекции. Това спестява време и разочарование от това, че някой от тези проблеми възниква във вашата система.

За повече информация относно стратегията за актуализиране на WebSphere Application Server V6

можете да прегледате документа за стратегия за актуализиране, който е достъпен на сайта за поддръжка: http://www-1.ibm.com/ support/docview.wss?rs=180&uid=swg21191989

6 Откриване на проблеми на WebSphere Application Server V6 за разпределени платформи

Фигура 1-3 Проверка на нивото на пакета за опресняване и пакета за корекции от административната конзола

1.2.2 Проверка на предпоставките

Друга стратегия за предотвратяване на проблеми е да се гарантира, че целият софтуер и хардуер във вашата среда отговаря на предпоставките на WebSphere Application Server V6. WebSphere Application Server е тестван със специфични софтуерни и хардуерни конфигурации. Известно е, че работи успешно в тези конфигурации и се интегрира добре с продуктите, с които е тестван. Можете да намерите софтуера и хардуера, с които WebSphere Application Server е тестван и които поддържа на: http://www-306.ibm.com/software/webservers/appserv/doc/latest/prereq.html

1.2.3 Тестване на приложението

Най-добрата стратегия за предотвратяване на възникването на проблеми при стартиране на WebSphere Application Server в производствена среда е задълбочено тестване. Трябва да разработите подробна стратегия за тестване на вашето приложение и да се уверите, че стратегията се спазва всеки път, когато инсталирате нова версия на приложението или надграждате WebSphere Application Server.

Глава 1. Подход за определяне на проблеми 7

Има безброй методи за тестване на софтуер, които можете да използвате, и можем да напълним цяла книга, обсъждайки всеки метод. Вместо това обсъждаме основните видове тестове, които всеки клиент трябва да извърши. Освен това предоставяме връзки към друга документация, която може да бъде полезна при разработването на вашата стратегия за тестване. Методите за тестване включват следното: ␂ Единично тестване Единичното тестване гарантира, че всеки метод във всеки клас на приложението предоставя очаквания изход за всички възможни входни данни. Има няколко рамки за тестване на модули, които могат да се използват за улесняване на тестването на модули. Една популярна рамка е JUnit, която е софтуер с отворен код. ␂ Функционално тестване Функционалното тестване гарантира, че приложението работи според очакванията на потребителя. Той тества цялото приложение, за да се увери, че всеки компонент работи правилно заедно. Функционалното тестване понякога се нарича интеграционно тестване. Има няколко налични рамки за функционално тестване. JFunc е разширение към JUnit за функционално тестване. ␂ Тестване на производителността Тестването на производителността гарантира, че производителността на приложението е приемлива за потребителите. WebSphere Application Server V6 включва подобрен Tivoli Performance Viewer, който е достъпен в рамките на административната конзола. Във Версия 5 и 5.1 Tivoli Performance Viewer се изпълнява в отделен графичен потребителски интерфейс (GUI). За да използвате Tivoli Performance Viewer, активирайте показателите на Performance Monitoring Infrastructure (PMI), които искате да видите в административната конзола. Влезте в административната конзола, изберете вашия сървър за приложения и след това изберете Performance Monitoring Infrastructure (PMI). Мониторингът на PMI може да се извърши в производствена среда, като се използва основният набор (конфигурация по подразбиране) или разширеният набор с минимално въздействие. След като изберете набор от статистически данни, можете да използвате Tivoli Performance Viewer, за да наблюдавате текущата производителност на системата, да регистрирате данните за производителността или да прегледате данните, които са били регистрирани преди това. Можете да осъществите достъп до Tivoli Performance Viewer, като разширите Monitoring and Tuning в административната конзола, след това разгънете Performance Viewer и изберете да прегледате текущата дейност или предишни регистрирани данни за производителност. Диаграмите и графиките в Tivoli Performance Viewer могат да дадат на администратора указания за това къде съществуват тесни места в производителността. След това те могат да настроят подходящите свойства на WebSphere Application Server, за да облекчат проблема. Друга функция, включена в WebSphere Application Server V6, е Tivoli Performance Advisor. Съветникът анализира данните за производителността от вашата система и предоставя предложения за конфигурацията на WebSphere

Свойствата на

8 WebSphere Application Server V6 за определяне на проблеми за разпределени платформи

да се променят, за да се подобри производителността. За да активирате Advisor, изберете вашия сървър за приложения в административната конзола и след това изберете Runtime Performance Advisor Configuration. За повече информация относно Tivoli Performance Viewer и Advisor прегледайте следните секции на WebSphere Information Center: - Защо да използвате Tivoli Performance Viewer? http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com.ibm.websphere.base.doc/info/aes/ae/cprf_tpv.html - Мониторинг на производителността с Tivoli Performance Визуализатор (TPV) http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com.ibm.websphere.base.doc/info/aes/ae/tprf_tpvmonitor.html - PMI организация на данни http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com.ibm.websphere.base.doc/info/aes/ae/rprf_datacounter6.html В допълнение към Tivoli Performance Viewer и Advisor, има няколко други инструмента, както с отворен код, така и със собствена собственост, които са достъпни за улесняване на тестването на производителността. Можете да прочетете общ преглед на наличните инструменти за производителност в техническата статия Редове за коментари от Ruth Willenborg: Избор на инструменти за производителност на WebSphere, която е достъпна на: http://www-128.ibm.com/developerworks/websphere/techjournal/ 0410_col_willenborg/0410_col_willenborg.html ␂ Тестване на натоварване и мащабируемост Тестването на натоварването включва тестване на вашето приложение със симулирано работно натоварване, което съответства на количеството натоварване, което очаквате вашето приложение да може да поеме в производството. Тестването за мащабируемост включва тестване на вашето приложение с все по-големи количества натоварване, за да се определи дали приложението е мащабируемо за бъдещ растеж. Има няколко популярни инструмента за симулиране на натоварване по време на тестване за натоварване и мащабируемост. Един такъв инструмент е Apache JMeter. Трябва да координирате вашето тестване за натоварване и скалируемост с инструментите, които използвате за тестване на производителността, така че да можете да настроите WebSphere Application Server, за да осигурите по-добра производителност при по-високи нива на натоварване.

Препоръчваме да използвате тестовата среда на WebSphere Application Server V6

в рамките на Rational® Application Developer, версия 6, за да разработите и тествате целия код на вашето приложение, преди да го инсталирате във вашата среда на WebSphere Application Server.

Глава 1. Подход за определяне на проблеми 9

Докато проектирате вашите тестове, помислете за следното: ␂ Вашите тестови сценарии трябва да се съсредоточат върху най-използвания кодов път, но трябва да тествате цялостно всички възможни кодови пътища . ␂ Тестването трябва да се извършва с множество потребители (не само с един и същ, отново и отново). ␂ Тестовете трябва да се правят с множество функции паралелно. В производството се изпълняват няколко функции едновременно. Някои проблеми може да възникнат само когато функциите се изпълняват паралелно. Важно е да тествате функциите на вашето приложение заедно, а не поотделно.

1.2.4 Настройване на тестова среда

Горещо ви препоръчваме да поддържате тестова среда, която е конфигурирана точно по същия начин като вашата производствена среда. Нивото на поддръжка на WebSphere Application Server (включително пакети за опресняване и пакети за корекции), версиите на вашите приложения и вашата конфигурация трябва да са еднакви и на двете системи. Има много ползи от това: ␂ Когато успешно тествате приложение във вашата тестова среда, това ви дава точно отражение за това как ще се представи приложението в производствената среда. ␂ Когато трябва да направите промяна в приложение или да приложите поддръжка на WebSphere Application Server, можете напълно да тествате тези промени в тестовата среда, за да сте сигурни, че няма проблеми, преди да направите промени в производствената си среда. ␂ Когато възникне проблем в производството, можете да възпроизведете проблема в тестовата среда и да извършите определяне на проблема в тестовата среда. Това гарантира, че вашите потребители няма да изпитат прекъсвания в производствената среда. ␂ Можете да събирате всякакви диагностични данни, които са необходими за определяне на основната причина за проблем в тестовата среда. Тъй като някои диагностични методи могат да повлияят на производителността или да наложат рестартиране на един или повече процеси на WebSphere Application Server, обикновено е полезно да съберете данните във вашата тестова среда.

10 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Ключът към тази стратегия е да се гарантира, че тестовата среда и производствената среда са конфигурирани абсолютно еднакви по всякакъв начин. Това включва: хардуер и мрежова конфигурация.. Ниво на операционна система и пачове на операционната система.. Другият софтуер, който се използва във връзка с WebSphere Application Server. Това може да включва уеб сървъри, бази данни и системи за съобщения.. Нивото на WebSphere Application Server, включително пакети за опресняване, пакети за корекции, корекции на Java SDK и всякакви отделни корекции на APAR, които може да сте изтеглили или получили от екипа за поддръжка на WebSphere Application Server. ␂ Версиите на всички приложения, които са инсталирани. WebSphere Application Server V6 включва функционалност за създаване на конфигурационни архивни файлове с разширение .car. Можете да експортирате конфигурацията от една машина в .car файл и след това да импортирате този .car файл в друга система. Всяка конфигурационна информация, която е специфична за една система (например името на хоста), се премахва в конфигурационния архив. Добра практика е да използвате архивни файлове с конфигурация, за да копирате една и съща конфигурация на WebSphere Application Server във вашата тестова среда и производствена среда. Конфигурационните архиви се експортират и импортират с инструмента wsadmin. За да експортирате конфигурацията на WebSphere Application Server V6 профил или сървър на приложения, използвайте тези wsadmin команди: $AdminTask exportWasprofile {-archive c:\myDirectory\myCell.car} $AdminTask exportServer {-archive c:\myDirectory\myServer.car - nodeName node1 -serverName server1} Използвайте целевата директория, име на възел и име на сървър, които са подходящи за вашата система. За да импортирате конфигурацията на профил или сървър на приложения в среда на WebSphere Application Server V6, използвайте тези команди: $AdminTask importWasprofile {-archive c:\myDirectory\myCell.car} $AdminTask importServer {-archive c:\myDirectory\myServer. car [-nodeInArchive node1][-serverInArchive server1][-nodeName node1][-serverName server1]} Отново използвайте целевата директория, имена на възли и имена на сървъри, които са подходящи за вашата система.

Можете също да автоматизирате промените във вашите тестови и производствени среди със скриптове, които се изпълняват в wsadmin. Автоматизацията е предимство, ако трябва да има промени

Глава 1. Подход към определяне на проблем 11

извършено през ненатоварените часове (обикновено късно вечер или през уикендите). Скриптовете могат да бъдат планирани да се изпълняват в тези часове, така че никой да не трябва да изпълнява скриптовете ръчно през тези часове. Може също да искате да стартирате скриптове, за да актуализирате конфигурацията на друг софтуер на вашата система едновременно. Можете също да използвате скриптовете като част от вашия регистър на промените (вижте "Установяване на безопасни оперативни процедури" на страница 12).

Всеки път, когато правите промяна или в тестовата, или в производствената среда, трябва да синхронизирате двете среди, така че да останат идентични.

Добра идея е да се установи базова конфигурация, което означава конфигурация

, която е тествана успешно и е установено, че е стабилна. Когато правите някакъв вид промяна, можете да я тествате. Ако промяната е успешна и не създава проблеми, можете да добавите промяната към базовата линия. Ако промяната причини нов проблем, можете да се върнете към безопасната базова конфигурация.

1.2.5 Установяване на безопасни оперативни процедури

Друг важен аспект на предотвратяването и подготовката на проблеми е установяването на набор от безопасни оперативни процедури за вашата организация. Тези процедури трябва да очертаят правилните процеси за извършване на всякакъв вид промени във вашите тестови и производствени среди. Екипът за поддръжка на WebSphere Application Server е открил, че много проблеми възникват в резултат на промени в конфигурацията или кода, направени от един човек в организация, за които другите хора в организацията не са знаели. Стратегия за елиминиране на тези събития значително намалява вероятността от неочаквани проблеми.

Важно е да дефинирате роли за сигурност за хората във вашата организация и

да гарантирате, че само хора, които са упълномощени или са част от подходящата роля, могат да правят промени във вашата конфигурация, да надграждат вашия софтуер, да инсталират приложения , или направете нещо друго, което потенциално може да създаде проблеми. WebSphere Application Server V6 предоставя цялостна инфраструктура за сигурност, която можете да използвате за дефиниране на роли, удостоверяване и оторизиране на потребители. Трябва също така да се възползвате от функциите за сигурност на вашата операционна система. Тази книга не обсъжда сигурността. Въпреки това можете да научите повече за сигурността в раздела за защита на WebSphere Information Center на: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm. websphere.base.doc/info/aes/ae/welc_concepts_csec.html

12 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

В допълнение към ограничаването на конфигурацията на вашата среда, вие също трябва да внедрите система за контрол на промените за кода на вашето приложение. Има няколко налични софтуерни продукта за контрол на промените. Ние обаче препоръчваме RationalClearCase®, който се интегрира безпроблемно с Rational Application Developer. Можете да получите повече информация за Rational ClearCase на уебсайта на неговия продукт: http://www-306.ibm.com/software/awdtools/clearcase

Ключ към всяка стратегия за промени в конфигурацията или кода е документацията. Жизненоважно е

да документирате всички промени, които се правят във вашите производствени и тестови среди. Ние наричаме тази документация регистър на промените. Много проблеми се появяват, след като дадено приложение е работило успешно в производство дълго време. Когато внимателно документирате всички промени, които са направени във вашата среда на едно място, като например регистър на промените, е много по-лесно да определите защо даден проблем може да е възникнал в определен час или дата. Уверете се, че всеки човек във вашата организация е наясно с процес за актуализиране на регистъра на промените, когато се направи промяна в средата и че те следват процеса. Те трябва да включват точния час и дата на всички промени, когато актуализират регистъра на промените. Поддържането на регистъра на промените и осигуряването на стриктно спазване на този процес може да спести много часове разследване и разочарование, когато възникне проблем.

Установяването на безопасни оперативни процедури е съществена част от процеса на планиране

. Един добър набор от процедури, които са съгласувани и се прилагат от всички във вашата организация, може да предотврати възникването на проблеми и да ви направи по-подготвени, когато възникнат проблеми.

Глава 1. Подход за определяне на проблеми 13

1.2.6 Висока достъпност и отказоустойчивост Както беше обсъдено по-рано, дори най-сложните техники за предотвратяване на проблеми не могат да гарантират, че никога няма да възникнат проблеми във вашата среда на WebSphere Application Server V6 . Като се има предвид това, логично е да се разработи план за действие при извънредни ситуации, когато процес или услуга на WebSphere Application Server стане недостъпна. За щастие във версия 6 са включени нови функции в областта на високата наличност и преодоляването при срив.

Ново в WebSphere Application Server V6 е функцията за управление на висока достъпност

за осигуряване на преход при срив за всички приложения и услуги на WebSphere Application Server. Той се конфигурира автоматично, когато инсталирате WebSphere Application Server Network Deployment Version 6. Мениджърът за висока достъпност изпълнява критични услуги на WebSphere (като WLM и мениджър на транзакции) на всички налични процеси на WebSphere Application Server.

За да направите мениджъра на транзакции на WebSphere Application Server високо

достъпен във версия 6, трябва да съхранявате регистрационните файлове на транзакциите (намиращи се по подразбиране в директорията /profiles//tranlog) на мрежово свързано хранилище (NAS ) система, която е достъпна за всички процеси на WebSphere, към които вашите транзакции биха могли да преминат при отказ (членове на основната група). Трябва също така да изберете Разрешаване на висока достъпност за постоянни услуги за вашия клъстер в административната конзола. Когато това е направено и член на клъстера се провали, неговите транзакции по време на полет се възстановяват на друг член на клъстера.

Основната група е група от процеси на WebSphere Application Server

(мениджъри на внедряване, агенти на възли, сървъри на приложения и членове на клъстер) в клетка, които могат да участват заедно във висока наличност. Това означава, че услуга, работеща на един член на основната група, може да премине към друг член на основната група. По подразбиране всички процеси в клетка са част от една основна група (наречена DefaultCoreGroup). Това също е препоръчителният сценарий за повечето производствени среди, въпреки че е възможно да има множество основни групи в една клетка.

14 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Един процес може да бъде член само на една основна група. Системните услуги, като услугата WLM, PMI и самият координатор за висока наличност, могат да преминат към всеки член на основната група. Други услуги, като например мениджър на транзакции и механизъм за съобщения, трябва да преустановят друг член на клъстера в същия клъстер, в който са работили, когато са се повредили. Това е така, защото мениджърът на транзакции и системата за съобщения се нуждаят от едни и същи приложения, които да бъдат инсталирани в процеса, към който преминават при срив, за да се възстановят.

Услугата WLM във версия 6 предоставя функционалност за балансиране на натоварването, която е

сравнима с версия 5 и 5.1. Добавянето на мениджъра за висока наличност значително подобрява възможностите за преодоляване при срив във Версия 6, като вече не е необходимо да се изпълняват инструменти за висока наличност на трети страни с WebSphere Application Server.

Глава 1. Подход за определяне на проблеми 15

и евентуално неудовлетворени от вашата компания, когато възникнат подобни ситуации.

Добрата стратегия за наблюдение може да ви помогне да идентифицирате проблемите, преди вашите клиенти да се сблъскат с тях.

Забелязвате няколко системни съобщения в журнала на SystemOut. WebSphere

Application Server V6 включва голямо разнообразие от системни съобщения, които са предназначени да ви предоставят информация, предупреждения и уведомления за грешки. Можете също да намерите много системни съобщения в следите на WebSphere Application Server. Всяко системно съобщение има уникален идентификатор на съобщение, който е с дължина девет знака и е във формата CCCC1234X. Първите четири знака (CCCC) показват компонента WebSphere Application Server, който е издал съобщението. Следващите четири знака (1234) показват конкретното съобщение, което се издава от компонента. Последният знак (X) показва сериозността на съобщението. Стойността му е I (информационен), W (предупреждение) или E (грешка).

Ето примери за различните типове системни съобщения:

SECJ0231I: FFDC диагностичният модул com.ibm.ws.security.core.SecurityDM на компонента за сигурност е регистриран успешно: вярно. ADMN0001W: Услугата не може да анализира MBean дескрипторния файл com/ibm/ws/management/descriptor/xml/mbeans.xml. SRVE0068E: Не може да се извика методът service() на сървлета /com.ibm.ws.console.probdetermination/loggingSettingsGroups.jsp. Хвърлено изключение: java.lang.NullPointerException

Тези системни съобщения са полезни за целите на наблюдението. Информационните

съобщения обикновено не са показателни за проблем. Въпреки това, ако дадено информационно съобщение е неочаквано, то може да ви предупреди за необичайно събитие, което може да доведе до проблем. Предупрежденията и съобщенията за грешка определено са признаци, че е възникнал проблем.

16 Откриване на проблеми с WebSphere Application Server V6 за разпределени платформи

Регистрационният файл SystemErr не съдържа системни съобщения на WebSphere, но показва изключения, които са хвърлени от WebSphere Application Server или от приложение. Добра идея е да наблюдавате записите в журнала SystemErr в допълнение към системните съобщения в журнала SystemOut.

Чрез наблюдение на регистрационните файлове SystemOut и SystemErr и добавяне на регистрационни файлове на вашето собствено приложение можете да откриете проактивно повечето от проблемите, които са обхванати в тази книга.

Можете да преглеждате грешки, предупреждения и информационни съобщения директно в административната конзола (Фигура 1-4).

Глава 1. Подход за определяне на проблем 17

Фигура 1-4 Преглед на събития по време на изпълнение в административната конзола

Можете да изберете всяко съобщение, което виждате, за да получите повече подробности за съобщението, източника на съобщението и причината, поради която се е появило (Фигура 1-5 на страница 18).

Фигура 1-5 Преглед на подробности за съобщението в административната конзола

Друг начин да наблюдавате вашето приложение е чрез използване на Tivoli Performance

Viewer, обсъдено в „Тестване на приложението“ на страница 7. Можете да наблюдавате

18 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

показатели за производителност, като средно време за отговор, брой заявки, размери на пулове от нишки, размери на пулове за връзки, JVM памет, CPU, I/O, и системно страниране, за да наблюдавате изправността на WebSphere Application Server и вашите приложения. Можете да регистрирате данните за ефективността от момент, когато всичко работи нормално, и след това да сравните тези данни с текущите данни за ефективността, за да видите дали има големи несъответствия. Неочакваните несъответствия са индикация за проблем. Когато видите признаци, че може да възниква проблем, можете да изпълните специфичните стъпки за диагностика на проблема, описани в тази книга.

Една добре планирана стратегия за наблюдение, особено когато се комбинира с добра висока

наличност и стратегия за преодоляване при срив, трябва да ви позволи да диагностицирате и разрешите възникващи проблеми, вероятно преди вашите потребители и клиенти да разберат за тях.

1.2.8 Системна документация

В случай, че възникне проблем във вашата среда, е възможно да се наложи да привлечете помощта на други хора, вътрешни или външни за вашата организация, за установете основната причина за проблема. Когато това се случи, вие ще искате всички участници да разберат подробно подробностите за системите, които са включени във вашата среда.

За тази цел е важно да документирате подробностите за вашата конфигурация. В

„Установяване на безопасни оперативни процедури“ на страница 12 обсъдихме документирането на всички промени, които са направени във вашата среда. В допълнение към това трябва да поддържате описание на високо ниво на вашата основна топология. Ние наричаме това системна документация. Системният документ е полезен при следните обстоятелства: ␂ Възниква проблем и трябва да получите помощ от други, които може да не са запознати с вашето приложение и топология като вас. Системната документация ви позволява да ги актуализирате възможно най-бързо. ␂ Възниква проблем и искате да определите от кои части на вашата среда трябва да събирате диагностични данни или да наблюдавате. Вашата системна документация показва включените софтуерни компоненти и потока на вашето приложение, т.е. как се използват различните софтуерни компоненти, когато приложението ви обработва заявка.

Глава 1. Подход за определяне на проблеми 19

Вашата системна документация трябва да се състои от писмени документи и диаграми. Коя информация е включена в писмените документи и коя в диаграмите е въпрос на предпочитание. Като цяло информацията трябва да е подробна и трябва да показва конкретните версии и нивата на поддръжка на операционната система и всички включени софтуерни продукти, хардуерната и мрежовата конфигурация и специфичните имена на хостове и IP адреси на включените системи.

Често срещан и важен компонент на системната документация е топологичната

диаграма. Той дава бърз преглед на вашата системна топология и поток на приложения. Фигура 1-6 на страница 20 илюстрира пример.

host5.mycompany.com host2.mycompany.com 1.12.34.60 1.12.34.57

Мрежа

Член на MQ сървърен клъстер на защитна стена 2

Фигура 1-6 Пример за топологична диаграма

В този сценарий, придружаващата писмена документация трябва да включва

специфичните софтуерни и хардуерни нива, които са включени.

20 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Подробната системна документация е неразделна част от вашата стратегия за планиране на проблеми, която не бива да се пренебрегва.

1.2.9 Събиране на диагностични данни

И накрая, за да се подготвите за възникване на проблем, трябва да планирате какви диагностични данни да събирате за различни сценарии на проблем. В „Видове симптоми на проблем“ на страница 3 обсъдихме няколко широки категории симптоми на проблем. В „Какво да направите, когато възникне проблем“ на страница 24 и други статии от тази поредица, ние разработваме как да определим причината за проблем за всеки от симптомите на проблема. Ние също така включваме информация за това какви данни да събираме за различни видове проблеми. Добра идея е да идентифицирате най-честите проблеми, които са се случвали в миналото във вашата среда, и тези, които смятате, че могат да се появят най-често в бъдеще. След това можете да формирате план за събиране на диагностични данни, така че да сте готови да съберете необходимите данни, ако възникне проблем.

Глава 1. Подход към определяне на проблем 21

няколко пъти, за да съберете необходимите данни. За да избегнете тази ситуация, препоръчително е да разполагате между 2 GB и 5 GB допълнително дисково пространство на всяка система. ␂S След като разрешите проблем, изтрийте или архивирайте диагностичните данни, които сте събрали за проблема. Това ще предотврати объркването на старите диагностични данни с новите диагностични данни следващия път, когато възникне проблем. ␂ Конфигурирайте монитора на нишката за откриване на висене. WebSphere Application Server V6 включва функция за наблюдение на нишки. Това също е включено във версия 5.1.1. Мониторът на нишката се уведомява, когато уеб контейнерът, ORB или пуловете нишки на асинхронни компоненти предоставят работа на нишка. По подразбиране мониторът на нишки проверява състоянието на всички активни нишки на всеки три минути. Ако открие нишка, която е била активна повече от десет минути, тя извежда предупреждение към журнала на SystemOut, подобно на следното: WSVR0605W: Нишка име на нишка е била активна за време на престой и може да бъде увиснала. Има общо нишки общо в сървъра, които може да са увиснали. Мониторът на нишки улеснява определянето на възникнал проблем. Ако видите предупреждение WSVR0605W във вашия журнал на SystemOut, знаете, че нишката е спряла да отговаря. След това можете да извършите допълнителни диагностични стъпки, за да определите причината за увисналата нишка. Мониторът на нишки не предприема никакви действия за отстраняване на проблема, освен да ви уведоми за проблема. При подготовката за събиране на диагностични данни може да искате да промените поведението на монитора на нишката по подразбиране. Можете да промените интервала, през който мониторът на нишките проверява състоянието на нишките (това е три минути по подразбиране) и времето, през което дадена нишка може да бъде активна, преди да бъде докладвана от монитора на нишки (това е десет минути по подразбиране). За да промените тези свойства: a. Влезте в административната конзола. b. Изберете вашия сървър за приложения. ° С. Под Сървърна инфраструктура изберете Администриране. д. Изберете Персонализирани свойства и след това щракнете върху Нов. д. Създайте тези свойства и осигурете желаните стойности за тях: * com.ibm.websphere.threadmonitor.interval (интервалът, през който мониторът на нишки проверява състоянието на нишките) * com.ibm.websphere.threadmonitor.threshold (количеството време, което дадена нишка може да е активна, преди да бъде отчетена от монитора на нишки) За повече информация относно монитора на нишки вижте следните раздели в WebSphere Information Center:

22 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

- Откриване на увиснали нишки в J2EE приложения http://publib.boulder.ibm.com/infocenter/ws60help/index.jsp?topic=/ com.ibm.websphere.base.doc/info/aes/ae/ctrb_hangdetection.html - Конфигуриране на правилата за откриване на висене http://publib.boulder.ibm.com/infocenter/ws60help/index.jsp?topic=/ com. ibm.websphere.base.doc/info/aes/ae/ttrb_confighangdet.html ␂ Помислете за активиране на подробно събиране на боклук на всеки сървър на приложения. Въздействието върху производителността от активирането на подробно събиране на отпадъци е минимално и данните често са полезни, когато възникнат проблеми с производителността. За да разрешите подробно събиране на боклук: a. Влезте в административната конзола. b. Изберете вашия сървър за приложения. ° С. Под Сървърна инфраструктура разгънете Java и управление на процеси и след това изберете Дефиниция на процес. д. На появилия се екран изберете Java Virtual Machine под Допълнителни свойства. д. Изберете Подробно събиране на отпадъци. Когато подробното събиране на отпадъци е разрешено, изходът се появява във файла native_stderr.log за вашия сървър на приложения.. Запознайте се с инструмента за събиране на WebSphere Application Server. Инструментът за събиране се изпълнява като изпълним файл в директорията /bin. Той създава Java архивен (jar) файл, който съдържа всички регистрационни файлове и XML конфигурационни файлове от вашата система. Полученият jar файл е много полезен за екипа за поддръжка на WebSphere Application Server и всички други, които участват в процеса на определяне на проблема. Позволява им да преглеждат бързо вашата конфигурация на WebSphere Application Server и да видят всякакви грешки или изключения, които са възникнали. Можете да намерите повече информация за инструмента за събиране в WebSphere Application Server V6: Диагностични данни на: http://www.redbooks.ibm.com/redpapers/pdfs/redp4085.pdf

Екипът за поддръжка на WebSphere Application Server е съставил

изчерпателен списък с MustGather документи за различни видове проблеми на WebSphereApplication Server. За повече информация вижте IBM - MustGather: Readfirst за всички продукти на WebSphere Application Server на: http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21145599

Файловете, изброени в документите на MustGather, са полезни за определяне на причината за вашия проблем. Можете да използвате тези документи като част от вашия план за събиране на диагностични данни.

Глава 1. Подход за определяне на проблеми 23

Помислете за всички типове проблеми, които е вероятно да срещнете във вашата среда, докато четете тази книга. Въз основа на типовете проблеми, които са възникнали във вашата среда в миналото, може да сте в състояние да предвидите какви видове проблеми могат да възникнат в бъдеще. Обърнете внимание на диагностичните данни, които са необходими за определяне на основната причина за всеки тип проблем. Уверете се, че това е документирано, така че всеки във вашата организация да знае какви данни да събира. Това ще направи процеса на определяне на проблема по-прост и по-малко стресиращ.

1.3 Какво да направите, когато възникне проблем

Вие сте се подготвили и сте планирали. Вашето приложение вече работи във вашата производствена среда и се използва успешно от вашите клиенти. Точно когато сте готови да празнувате, получавате обаждане, че е възникнал проблем. Какво правиш сега?

1.3.1 Връщане към безопасни условия

Когато възникне някакъв проблем, първото ви действие трябва да бъде да обмислите въздействието на проблема върху бизнеса. В зависимост от въздействието върху бизнеса може да се наложи да предприемете стъпки за ограничаване на въздействието върху бизнеса, преди да започнете усилията си за определяне на проблема. Ако проблемът е възникнал във вашата тестова среда, въздействието върху бизнеса е относително ниско в сравнение с потенциалното въздействие на прекъсване на производството. В такъв случай вероятно не е необходимо да полагате усилия да заобиколите проблема, докато търсите постоянно решение. Можете да използвате тестовата среда, за да изпълните всички необходими стъпки за определяне на проблема.

Въпреки това, ако проблемът е възникнал в производството, вероятно ще искате

да обмислите как бързо да облекчите симптомите на проблема, така че клиентите и потребителите да изпитат възможно най-малко отрицателни ефекти. В този раздел ние наричаме този процес връщане към безопасни условия. Ще искате да направите това успоредно с усилията си за определяне на проблема.

Техниките за връщане към безопасни условия включват:

Добавяне на вашата тестова среда или друга подобна среда, в която проблемът не възниква, ваша временна производствена среда. Конфигуриране

24 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

вашите системи, така че входящите заявки да се обработват от среда, в която проблемът не възниква. ␂ Инсталиране на по-стара версия на кода на приложението, където проблемът не възниква. Ако проблемът е започнал да се появява след въвеждане на промяна в кода на приложението, може би е добра идея да се върнете към по-ранна работеща версия на приложението. ␂ Промяна на всички скорошни промени в конфигурацията обратно към вашата базова конфигурация. Както беше обсъдено в "Настройване на тестова среда" на страница 10, базовата конфигурация трябва да бъде конфигурация, която е напълно тествана и за която е известно, че е стабилна. ␂ Премахване на поддръжката на WebSphere Application Server, която наскоро е била инсталирана преди възникването на проблема. Това би разрешило временно проблема, ако е причинен от дефект в кода на WebSphere Application Server, въведен от последния пакет за поддръжка. ␂ Направете функцията на приложението, която е причинила проблема, недостъпна за клиенти и потребители. Можете да публикувате известие на вашия уеб сайт, че функцията е временно недостъпна или е в процес на поддръжка. Можете да предоставите приблизително време, когато ще бъде налично отново.

1.3.2 Идентифициране на симптоми на проблем

Когато за първи път бъдете уведомени за проблема, може да получите само неясен, неспецифичен набор от симптоми на проблем. Може да ви бъде казано, че потребителите изобщо не могат да получат достъп до вашето приложение или е възможно, че конкретно действие, предприето от вашите потребители, води до съобщение за грешка.

Глава 1. Подход за определяне на проблем 25

добавка Как да разберете кога възниква този конкретен проблем? Има ли нещо конкретно, за което да следите, за да разпознаете, ако проблемът се появи отново? ␂ Как бихте разбрали, че проблемът е решен? Да не би съобщение за грешка вече да не се появява? Дали приложението ще се държи по различен начин? Какво конкретно би потвърдило разрешаването на проблема? ␂ Къде възникна проблемът? Проблемът възникна ли само във вашата тестова среда, само във вашата производствена среда или и в двете? Възникна ли само на една система във вашата среда? Случвало ли се е на множество системи? Възникна ли на всеки член на клъстера или само на един? ␂ Кога възникна проблемът? Какъв беше времевият печат на грешката или неочакваното поведение? Проблемът възникна ли само веднъж или много пъти? Колко често се е появявал проблемът? Случвало ли се е на определени интервали, или изглежда, че се е случвало на случаен принцип? Имало ли е някакво събитие, което може да е предизвикало проблема? Например потребителят опитал ли е конкретна функция на приложението? ␂ Защо може да е възникнал проблемът? Може да не можете да отговорите веднага. За първи път ли се опитва нещо конкретно? Имало ли е скорошна промяна в кода на приложението или конфигурацията на вашата среда? Случва ли се във всичките ви среди или само в една? Ако се случва само в една среда, как тази среда е различна от другите? ␂ Събрани ли са диагностичните данни, посочени във вашия план за събиране на диагностични данни? Данните предоставят ли някакви други подробности за проблема или предлагат незабавни улики защо е възникнал проблемът?

26 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

От друга страна, отговорът може да изисква повече проучване. Ако случаят е такъв, вие сте разработили солидно и пълно описание на проблема, което да използвате като основа за повече усилия за определяне на проблема.

1.3.3 Проучете и проучете проблема

Докато проучвате проблема, трябва да съставите списък с всички симптоми на проблема, които са възникнали във вашия регистър на проблемите. Понякога има само един симптом. Ако това е така, работата ви е по-лесна. Въпреки това, често се появяват няколко симптома и може да бъде трудно да се определи кои симптоми характеризират проблема и кои симптоми са просто резултат от проблема. Добра идея е да организирате симптомите във времева линия. Можете също така да включите подробности за това, което се случва във вашата среда във вашата времева линия. Например вашата времева линия може да изглежда по следния начин: 10:00 - Достигнато пиково натоварване 10:07:53 - ConnectionWaitTimeoutException в SystemOut.log за server1 10:08:24 - ConnectionWaitTimeoutException в SystemOut.log за server1 10:14: 09 - ConnectionWaitTimeoutException в SystemOut.log за server2 10:20:46 - Потребителите не могат да влязат в уеб сайта, приложението не отговаря

Тъй като ConnectionWaitTimeoutException беше първият симптом, който беше

наблюдаван, той е добра отправна точка за вашето разследване. Въпреки това е възможно вашето изследване да разкрие, че даден симптом всъщност е различен проблем, който не е свързан с проблема, който изследвате.

Системните съобщения на WebSphere са полезни при вашите усилия за определяне на проблеми.

Информационните съобщения и предупреждения предоставят контекст. Те ви показват какво се случва непосредствено преди или непосредствено след проблем. Съобщенията за грешка са значителни симптоми на проблем. Идентификаторът на съобщение за съобщение за грешка е полезен за въвеждане в търсачките.

Когато изберете симптом за изследване, можете да започнете да го изследвате. Добро място да започнете е вътрешната документация на вашата организация. Възможно е

Глава 1. Подход към определяне на проблем 27

че някой друг вече е виждал същия или подобен проблем във вашата среда. Ако имат, вероятно основната причина за проблема е същата. Ако това е първият път, когато проблем, подобен на този, е бил наблюдаван във вашата организация, следващото място за проучване е онлайн документацията, която е достъпна от IBM. Препоръчваме да използвате следните ресурси, за да проучите симптомите си: информационен център WebSphere http://publib.boulder.ibm.com/infocenter/ws60help/index.jsp Информационният център WebSphere включва подробна информация за характеристиките и конфигурацията на продукта. Той също така включва описания на всеки идентификатор на системно съобщение на WebSphere Application Server и съдържа ръководство за отстраняване на неизправности, което може да помогне в усилията ви за определяне на проблема: http://publib.boulder.ibm.com/infocenter/ws60help/index.jsp?topic=/ com.ibm. websphere.base.doc/info/aes/ae/welc_concepts_ctrb.html ␂ Сайт за поддръжка на WebSphere Application Server http://www-306.ibm.com/software/webservers/appserv/was/support Можете да търсите в сайта за поддръжка за APAR и технически бележки, които може да са свързани с вашия проблемен симптом. Както беше обсъдено в "Прилагане на поддръжка на WebSphere" на страница 4, APAR са доклади за известни дефекти в кода на WebSphere Application Server. Ако описание на APAR съответства на вашия симптом на проблем, трябва да инсталирате пакета за корекции на WebSphere Application Server, който съдържа корекцията за APAR. Описанието на APAR обяснява кой пакет за корекции включва корекцията. Техническите бележки са документи, които се създават и поддържат от екипа за поддръжка на WebSphere Application Server и екипа за инженеринг на знания. Те документират известни проблеми и решенията на тези проблеми. Техническите бележки обикновено се създават за проблеми, които се решават чрез промяна на конфигурацията, а не чрез промяна на кода. ␂ WebSphere developerWorks® http://www-130.ibm.com/developerworks/websphere Сайтът developerWorks съдържа много статии, написани от разработчици на IBM и други членове на техническия персонал. Много статии обсъждат най-добрите практики за програмиране на приложения и предоставят съвети за избягване и разрешаване на проблеми с WebSphere Application Server. ␂ IBM Support Assistant http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21192593 IBM Support Assistant е инструмент за изтегляне, който се използва за опростяване на процеса за определяне на проблеми за много софтуер на IBM продукти. Има няколко продуктови добавки за Support Assistant, включително един за WebSphere Application Server V6. Той включва интерфейс за обединено търсене

28 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

, което ви позволява да търсите симптомите на вашия проблем в множество уеб сайтове на IBM едновременно. Той също така осигурява лесен достъп до образователни модули за продукта, включително IBM Education Assistant. Ако трябва да отворите PMR с IBM Support, инструментът събира подходяща информация, която е необходима на екипа за поддръжка. Можете дори да отворите PMR в инструмента.

Тази книга също предоставя ценна информация, докато проучвате проблема си.

1.3.4 Стратегии за определяне на проблеми

На този етап вие сте идентифицирали специфични и подробни симптоми на проблема, върнали сте се към безопасни условия, така че да сте свели до минимум въздействието на проблема върху бизнеса и сте започнали разследването на проблемът. Следващата стъпка е да започнете да определяте първопричината за проблема, което е основният фокус на тази книга.

За всеки възникнал проблем има две основни стратегии, които можете да използвате, за да определите основната причина: стратегията за анализ и стратегията за изолиране.

Стратегията за анализ включва анализиране на диагностичните данни, вероятно чрез няколко итерации, докато се открие причината за проблема, както е илюстрирано на Фигура 1-7 на страница 30. За да успеете с тази стратегия, трябва да имате добро разбиране от диагностичните данни. Това е стратегията, използвана най-често от екипа за поддръжка на WebSphere Application Server. Има много диагностични инструменти, които са на разположение, за да ви помогнат. Например ThreadAnalyzer ви помага да анализирате дъмпове на нишки на Java, а инструментът HeapRoots е полезен при анализиране на проблеми с недостиг на памет. Можете да прегледате и изтеглите най-актуалните инструменти за диагностика от: ␂ Сайт за поддръжка на WebSphere Application Server http://www-306.ibm.com/software/webservers/appserv/was/support ␂ WebSphere developerWorks http://www-130. ibm.com/developerworks/websphere

Глава 1. Подход към определяне на проблеми 29

Анализиране на данни

Съберете диагностични данни

Формулирайте заключения Намерете основната причина

Фигура 1-7 Стратегията за анализ

Стратегията за изолиране често се използва, когато има грешка или изключение. В

регистрационния файл SystemOut или SystemErr за сървъра на приложения виждате трасирането на Java стека на изключението. Проследяването на стека се чете отдолу нагоре. В долната част виждате нишката, която е разпределена от пула от нишки. Четейки проследяването на стека нагоре, виждате всеки извикан метод (включително код на WebSphere Application Server, код на приложение и евентуално други помощни програми на трети страни), докато не бъде хвърлено изключението. Можете да използвате проследяването на стека, за да идентифицирате различните променливи в проблемния сценарий и след това да ги премахнете.

Може също да помогне да вмъкнете изрази за печат в приложението, за да отпечатате информация за отстраняване на грешки, докато приложението се изпълнява.

Подобно на стратегията за анализ, стратегията за изолиране е итеративен процес. Продължавате да премахвате променливи, докато не изолирате променливата, която причинява проблема.

30 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Анализ на резултатите

Възпроизведете проблема

Премахване на променливи Намерете първопричината

Фигура 1-8 Стратегията за изолиране

След като обсъдихме общите стратегии за определяне на проблеми, ние се фокусираме върху конкретните стратегии за всеки проблем класификация.

1.4 Класифициране на проблема и определяне на първопричината

Следващата стъпка в процеса на определяне на проблема, и то много важна, е класифицирането на проблема. Тази книга се отнася до много различни класификации на проблеми. Трябва да определите в коя класификация се вписва проблемът.

Глава 1. Подход към определяне на проблеми 31

мониторинг на производителността. Вижте "Управление и конфигуриране на системата" на страница 37 за повече информация. ␂ Приложение или сървърен процес на WebSphere Application (например сървър на приложения, агент на възел или мениджър на разполагане) не може да стартира. Когато изпълнявате командите startServer, startNode или startManager за стартиране на процес на WebSphere Application Server или когато използвате административната конзола или wsadmin за стартиране на процес или приложение, възниква проблем, който причинява неуспешно стартиране на процеса или приложението. Вижте "Приложение или WebSphere процес не може да стартира" на страница 42 за повече информация. ␂ Приложението не отговаря на входящи заявки. Това може да възникне поради проблем с уеб сървър, Edge компонент или добавка на уеб сървър, срив на сървъра на приложения, увисване, състояние на липса на памет или състояние на 100% използване на процесора. Вижте "Приложението не отговаря на входящи заявки" на страница 43 за повече информация относно определянето на основната причина за проблема. ␂ Приложение дава неочаквани резултати (вероятно грешки или изключения). Вижда се грешка или се хвърля изключение, когато се изпълнява определен код на приложение или когато са изпълнени определени условия (например голямо натоварване). Приложението също може да се държи различно от очакваното, но да не генерира грешка или изключение. Има няколко компонента на WebSphere Application Server, в които може да възникне този тип проблем. Вижте "Неочаквани резултати от приложение" на страница 49 за повече информация. ␂ Приложението не може да се свърже с външна система или ресурс. Приложението може да има нужда от достъп до външна система или ресурс. Това може да бъде база данни, система за съобщения, корпоративна информационна система, достъпна чрез Java Connector Architecture (JCA), Enterprise JavaBeans™ (EJB™), работеща на отдалечена система, или уеб услуга. Може да има проблем при установяване на връзка с външната система или ресурс или може да възникне грешка, когато приложението взаимодейства с него. Вижте "Приложението не може да се свърже с външна система или ресурс" на страница 63 за повече информация. ␂ Приложението работи бавно или неговата производителност се влошава с времето. Въпреки че проблемите с производителността са извън обхвата на тази книга, ние предоставяме някои външни ресурси за проблеми с производителността. Като цяло проблемите с производителността могат да бъдат коригирани чрез настройка на WebSphere Application Server, другите софтуерни продукти, с които той взаимодейства, и операционната система. Задълбочено тестване на производителността и настройка трябва да бъдат завършени, преди приложението да бъде пуснато в производство. Вижте „Приложението е бавно или неговата производителност се влошава с времето“ на страница 69 за повече информация.

32 Определяне на проблеми на WebSphere Application Server V6 за разпределени платформи

Екипът за поддръжка на WebSphere Application Server откри, че по-голямата част от проблемите, срещани от клиентите, се вписват в една от тези класификации на проблеми. В тази книга предоставяме изчерпателна информация за стратегиите за определяне на проблеми за някои от тези общи проблемни области. За класификациите на проблемите, които не са обхванати в тази книга, ние предоставяме връзки към външни ресурси, които обсъждат определянето на проблеми за всеки тип проблем.

Ако вече сте прегледали регистрационните файлове на WebSphere и сте установили, че конкретно съобщение за грешка съдържа ключа към проблема, използвайте таблица 1-1 като бърза справка за намиране на информация въз основа на префикса на съобщението.

Таблица 1-1 Префикс на съобщение за грешка към съпоставяне на тема

Префикси на съобщение Тема

INST, ADMU (по време на създаване на профил) или „Инсталиране“ на страница 34

WSVRT (по време на IVT)

MIGR „Миграция“ на страница 35

ADMA „Пакетиране и внедряване на приложения“

SECJ, SECG, JSAS, JSSL, WSEC или WSSK „Сигурност“ на страница 39< /h2>

PLGN, PLGC и PLPR „Добавка за уеб сървър“ на страница 45

SRVE (уеб контейнер), JSPG (JSP) или „уеб контейнер“ на страница 50

CNTR, PMGR и ACIN „EJB контейнер“ на страница 51

SESN „Управление на сесии“ на страница 52

DYNA „Динамичен кеш“ на страница 54

WTRN, WLTC „Мениджър на транзакции“ на страница 55

WWLM „Управление на натоварване“ на страница 56

HMGR, CWRCB, CWWCW „Мениджър на висока наличност“ на страница 57

CWWDR „Услуга за репликация на данни“ на страница 58

WACS, APPR, ASYN, OBPL, SCHD, STUP, „Разширения на програмен модел“ на страница 59 ACWA

Глава 1. Подход към определяне на проблем 33

Префикси на съобщения Тема

I18N, LTXT "Интернационализация/Двубайтов

набор от символи" на страница 61

CHFW, DCSV, HTPC, SSLC, TCPC, WSSC, „Услуга за транспортен канал“ на страница 62 и XMEM

J2CA, WSCL (WebSphere клиент) "JCA мениджър на връзки" на страница 63

DSRA или CONM "Връзки с база данни" на страница 64

CWSIA, CWSIB, CWSIC, CWSID, CWSIE, „Съобщения“ на страница 64

CWSIF, CWSIH, CWSII, CWSIJ, CWSIK, CWSIL, CWSIM, CWSIN, CWSIO, CWSIP, CWSIQ, CWSIR, CWSIS, CWSIT, CWSIU, CWSIV, CWSIW, CWSIX , CWSIY, CWSIZ, CWSJA, CWSJB, CWSJC, CWSJD, CWSJO, CWSJQ, CWSJR, CWSJU, CWSJW, CWSWS, WMSG

NMSV „JNDI именуване“ на страница 65

CORBA COMM_FAILURE „ORB“ на страница 66

WSWS, SOAP, WSIF, CWWSG „Уеб услуги“ на страница 67

PMON „PMI и Tivoli Performance Viewer“ на

1.4.1 Инсталиране или мигриране

Този раздел разглежда проблеми, свързани с инсталирането на WebSphere Application Server или миграцията от предишния издания.

34 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Забележка: За стратегии за определяне на проблеми при инсталационни проблеми вижте WebSphere Application Server V6: Откриване на проблеми при инсталация на: http://www.redbooks.ibm .com/redpapers/pdfs/redp4068.pdf

1.4.2 Пакетиране и внедряване на приложение

Симптом: Имате проблеми с внедряването на приложение на WebSphere Application Server с помощта на административната конзола или wsadmin. Може да получите системни съобщения на WebSphere, които започват с ADMA.

За стратегии за определяне на проблеми при инсталиране и разгръщане на приложения

прегледайте следните ресурси: ␂ WebSphere Information Center: Разработване и внедряване на приложения http://publib.boulder.ibm.com/infocenter/ws60help /index.jsp?topic=/com.ibm. websphere.base.doc/info/aes/ae/welc6topdeveloping.html

Глава 1. Подход за определяне на проблеми 35

добавка WebSphere Information Center: Разгръщане на отстраняване на проблеми http://publib.boulder.ibm.com/infocenter/ws60help/index.jsp?topic=/com. ibm. websphere.base.doc/info/aes/ae/ttrb_deploy.html ␂ Информационен център на WebSphere: Обяснение на системните съобщения на ADMA http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.messages.doc/doc/ADMA.html ␂ MustGather: Проблеми по време на внедряване на EAR/JAR/WAR файлове http://www-1.ibm.com/support/docview.wss?rs=180&uid= swg21199344 ␂ MustGather: Подобрени проблеми с EAR файлове за V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21199181

WebSphere Rapid Deployment

Симптом: Опитвате се да използвате WebSphere Rapid Deployment за разработване и се опитвате да тествате приложение. Не можете да се свържете към сървър на приложения или WebSphere Rapid Deployment не създава или актуализира приложенията.

Забележка: За проблеми с WebSphere Rapid Deployment вижте WebSphere

Application Server V6: Определяне на проблеми с управлението на системата на: http://www.redbooks.ibm.com/redpapers/pdfs/redp4067.pdf

Набор от инструменти за сървър на приложения

Симптом: Имате проблем, когато използвате набора от инструменти за сървър на приложения (AST) за сглобяване на вашите приложения. Това включва всички възможни проблеми с AST, включително стартирането му, всички проблеми, които срещате при асемблирането на приложението, и всякакви грешки, които възникват.

36 Откриване на проблеми на WebSphere Application Server V6 за разпределени платформи

1.4.3 Системно управление и конфигуриране Симптом: Изпитвате затруднения при управление или конфигуриране на системата на WebSphere Application Server. Това включва проблеми със следните инструменти или функции за управление на системата: Конфигуриране и управление с помощта на административни инструменти Сигурност JMX клиенти PMI и Tivoli Performance Viewer

Конфигуриране и управление чрез инструменти за администриране

Симптом: Имате проблем с достъпа или използването на административната конзола, инструмента за скриптове wsadmin или скриптове от командния ред. Това включва следните симптоми: ␂ Нямате достъп до административната конзола. ␂ Не можете да осъществявате достъп до сървърните процеси, като използвате wsadmin или скриптовете за управление, като stopServer. ␂ Получавате грешки при изпълнение на функции за управление на системата, например управление на сървъри на приложения, агенти на възли, уеб сървъри или приложения. ␂ Не можете да обедините възел с мениджър за разполагане. ␂ Получавате съобщения за конфликт при запазване в административната конзола. ␂ Вашите корпоративни приложения вече не се показват в административната конзола.

Забележка: За стратегии за определяне на проблеми за тези проблеми с управлението на системата

вижте WebSphere Application Server V6: Определяне на проблеми с управлението на системата на: http://www.redbooks.ibm.com/redpapers/pdfs/ redp4067.pdf

Ресурси за проблеми със скриптови инструменти

Можете да намерите стратегии за определяне на проблеми при проблеми с административни скриптови инструменти в следните ресурси: ␂ WebSphere Information Center: Използване на Ant за автоматизиране на задачи http://publib.boulder .ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/tovr_ant.html ␂ WebSphere Information Center: Използване на инструменти за команден ред http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic= /ком. ibm.websphere.base.doc/info/aes/ae/txml_command.html

Глава 1. Подход към определяне на проблеми 37

Информационен център на WebSphere: Администриране на отстраняване на проблеми http://publib.boulder.ibm.com/infocenter/ws60help/index.jsp?topic=/com. ibm. websphere.base.doc/info/aes/ae/ttrb_admin.html информационен център WebSphere: Обяснение на системните съобщения на WASX http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.messages.doc/doc/WASX.html ␂ MustGather: проблеми с ws_ant на V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21196231 ␂ MustGather: Функционалност за архивиране на конфигурацията на WebSphere http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21200348

Ресурси за други проблеми с управлението на системата

Можете да намерите стратегии за определяне на проблеми за други проблеми с управлението на системата в следните ресурси: ␂ WebSphere Information Center: Настройка на административната архитектура http://publib.boulder. ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.nd.doc/info/ae/ae/tagt_admin.html ␂ WebSphere Information Center: Администриране на сървъри за приложения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.nd.doc/info/ae/ae/trun_svr_conf.html Информационен център WebSphere: Администриране на отстраняване на проблеми http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com . ibm.websphere.base.doc/info/aes/ae/ttrb_admin.html Информационен център WebSphere: Обяснения на ADFS, ADMB, ADMC, ADMD, ADME, ADMF, ADMG, ADMK, ADML, ADMN, ADMR, ADMS, ADMU, BNDE, CHKC, CHKP, CHKS, CHKW, ECNS, ODCF, PROC, WACT и WSVM системни съобщения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.express.doc/info/exp/ae/welc_ref_trb_msg.html добавка MustGather: Функционалност за управление на системата за V5.0, V5.1 и V6.0 http://www-1.ibm.com/support/docview .wss?rs=180&uid=swg21199596 ␂ MustGather: Проблеми със синхронизирането във V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21196219 ␂ MustGather: Федериране или премахване Проблеми с възел за версия V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21196227 ␂ MustGather: Проблеми при създаване/премахване на профил за V6.0 http:// www-1.ibm.com/support/docview.wss?rs=180&uid=swg21196228

38 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

услуга MustGather: Неуспешно използване и създаване на шаблони на V6.0 http://www-1.ibm.com/support/docview.wss ?rs=180&uid=swg21195439 помощ MustGather: Проблеми при откриване на агент на възел и Deployment Manager за всички версии и издания на V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid =swg21196220 с MustGather: Управление на портове за V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21196226 с WebSphere Application Server V6 System Management & Ръководство за конфигуриране, SG24-6451.

Забележка: За информация относно проблеми с конфигурацията на SSL вижте WebSphere Application Server V6: Определяне на проблеми с управлението на системата на: http://www.redbooks.ibm.com/redpapers/pdfs/redp4067.pdf

Глава 1. Подход към определяне на проблеми 39

✅ WebSphere Information Center: Обяснение на системните съобщения на SECG http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp? тема=/com. ibm.websphere.messages.doc/doc/SECG.html ␂ WebSphere Information Center: Обяснение на системните съобщения JSAS http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/JSAS.html ␂ WebSphere Information Center: Обяснение на JSSL системни съобщения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/JSSL.html ␂ WebSphere Information Center: Обяснение на системните съобщения на WSEC http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/WSEC.html Смазване на WebSphere Information Center: Обяснение на системните съобщения на WSSK http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/WSSK.html ␂ MustGather: Проблеми при използване на Global Security за всички издания на V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid =swg21199336 играта MustGather: Проблеми с използването на JAAS уеб влизания за всички издания на V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21199332 играта MustGather: проблеми с използването на уеб услуги Сигурност за всички издания на V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21199335 добавка MustGather: Java Secure Socket Extension (JSSE), SSL или Java Cryptography Extensions (JCE) ) проблеми http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21162961 ␂ Ръководство за сигурност на WebSphere Application Server V6, SG24-6316.

40 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

добавка WebSphere Информационен център: Администриране на отстраняване на неизправности http://publib.boulder.ibm.com/infocenter/ws60help/index.jsp?topic=/ com.ibm. websphere.base.doc/info/aes/ae/ttrb_admin.html ␂ MustGather: JMX API клиент за V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21196218

PMI и Tivoli Performance Viewer

Симптом: Имате проблем с Performance Monitoring Infrastructure (PMI) или Tivoli Performance Viewer. Може да получите системни съобщения на WebSphere, които започват с PMON. Може също да имате проблеми с конфигурирането на PMI или извършването на каквато и да е операция с Tivoli Performance Viewer в административната конзола.

PMI е инструментиран от WebSphere Application Server V6 за наблюдение на

производителността чрез няколко брояча и статистики. Можете да видите данните за производителността, като използвате Tivoli Performance Viewer в административната конзола. За информация относно тези функции вижте "Тестване на приложението" на страница 7.

Глава 1. Подход за определяне на проблеми 41

␂ Неочаквани резултати от приложение ␂ Приложението не може да се свърже с външна система или ресурс ␂ Приложението е бавно или производителността му се влошава с времето

Приложение или процес на WebSphere не може да стартира

Симптом: Приложение или процес на WebSphere Application Server (например сървър на приложения, агент на възел или мениджър на разполагане) не може да стартира.

Забележка: За проблеми с командите startServer, stopServer, startNode, stopNode,

startManager и stopManager, вижте WebSphere Application Server V6: Определяне на проблеми с управлението на системата на: http://www.redbooks. ibm.com/redpapers/pdfs/redp4067.pdf

42 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Приложението не отговаря на входящи заявки Симптом: Приложение не отговаря на входящи заявки. Грешката може да се дължи на някой от следните компоненти или състояния: проблем IBM HTTP сървър смарт компоненти Edge компоненти смарт добавка за уеб сървър срив на сървър на приложения виси сървър на приложения 100% използване на процесора Липса на памет

IBM HTTP сървър

Симптом: Сървър на приложения не отговаря на входящи заявки и статичните HTML страници не се обслужват от IBM HTTP сървъра.

Глава 1. Подход за определяне на проблеми 43

добавка IBM HTTP сървър, версия 6 Информационен център http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.ihs.doc/info/welcome_ihs.html Сървър на IBM HTTP, версия 6 Информационен център, отстраняване на неизправности на IBM HTTP сървър http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.ihs.doc/info/aes/ae/welc_troub.html добавка MustGather: Прочетете първо за IBM HTTP сървър http://www-1.ibm.com/support/docview.wss?rs=177&uid= swg21192683

44 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

компонент Балансиране на натоварването, версия 6 Отстраняване на неизправности http://www-306.ibm.com/software/webservers/appserv/doc/v60/ec /infocenter/ edge/LBguide.htm#HDRTRB

Добавка за уеб сървър

Добавката за уеб сървър позволява на уеб сървъра да изпраща заявки за динамично съдържание към уеб приложения (сървлети и JSP), които са инсталирани в WebSphereApplication Server.

Симптом: Приложение не отговаря на входящи заявки. Приложението

отговаря при директен достъп през сървъра на приложения, но не и при достъп през уеб сървъра. Симптомите на високо ниво на проблем с добавка на уеб сървър включват: - Потребителите не могат да получат достъп до приложение през уеб сървъра - Балансирането на натоварването и възстановяването при срив не работят правилно - Губят се данни от сесията - Бавен или прекъсващ отговор на приложението - Уеб сървърът няма да стартира след инсталиране или конфигуриране на плъгин

Когато приложението ви не успее да отговори на заявки, първо проверете дали уеб сървърът ви отговаря на заявки за статични HTML страници. Ако е така, можете да стесните фокуса си до приставката и сървъра за приложения.

За да определите дали това е проблем с добавката, опитайте да получите достъп до сървлет или JSP™ директно на

сървъра на приложения, заобикаляйки добавката. Можете да направите това, като използвате HTTP транспортния порт на сървъра за приложения (порт 9080 по подразбиране) в URL адреса за достъп до сървлета или JSP. Например, можете да опитате да получите достъп до сървлета за наблюдение, който е един от примерите на WebSphere Application Server: http://localhost:9080/snoop

Глава 1. Подход за определяне на проблем 45

Срив на сървъра на приложения Симптом: Приложение не отговаря на входящи заявки. Процесът на сървъра на приложения вече не се изпълнява.

Сървърът на приложения виси

Симптом: Приложение не отговаря на входящи заявки, но процесът на сървъра на приложения все още работи.

46 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

добавка Откриване на висящи нишки в J2EE приложения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.base.doc/info/aes/ae/ctrb_hangdetection.html спорт Уеб модул или сървър на приложения умира или увисва http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic= /ком. ibm.websphere.base.doc/info/aes/ae/rtrb_appdies.html помощник IBM Education Assistant: определяне на проблеми с WebSphere Application Server http://www-1.ibm.com/support/docview.wss?rs=180&uid =swg27005460 ефект Можете да намерите списък с MustGather документи за зависвания със следния аргумент за търсене http://www-1.ibm.com/support/search.wss?rs=180&tc=SSEQTP&tc1=SSCMPB9&q= Трябва да се събере документ

100% използване на CPU

Симптом: Наблюдавате, че процес на WebSphere Application Server (сървър на приложения, член на клъстер, агент на възел или мениджър на разгръщане) достига 100% или необичайно висок процент на използване на CPU.

Може да забележите това, като използвате помощните програми на вашата операционна система, за да проверите използването на процесора на всеки процес в системата, или може да имате увиснал сървър на приложения, причинен от високото използване на процесора.

Можете да намерите стратегии за определяне на проблеми при проблеми със 100% използване на процесора в следните ресурси: ␂ MustGather: 100% използване на процесора на AIX® платформи http://www-1.ibm.com/support/docview.wss?rs= 180&uid=swg21116458 смаже MustGather: 100% използване на процесора на HP-UX http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21166017 действие MustGather: 100% използване на процесора на Linux ® http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21132699 чрез MustGather: 100% използване на процесора на Solaris™ платформи http://www-1.ibm.com/support /docview.wss?rs=180&uid=swg21115625 играта MustGather: 100% използване на процесора на Windows платформи http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21137447

Симптом на недостиг на памет: Наблюдавате, че процес на WebSphere Application Server (сървър на приложения, член на клъстер, агент на възел или мениджър на разполагане)

Глава 1. Подход за определяне на проблем 47

консумира цялата налична памет на вашата система или виждате java.lang.OutOfMemoryError в журнала SystemOut или SystemErr за процеса.

Може да забележите това, като проверите използването на паметта, използвано от помощните програми на вашата операционна система, като проверите регистрационните файлове или ако сървърът на приложения виси, което е причинено от проблем с недостиг на памет.

48 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Неочаквани резултати от приложение Приложение дава неочаквани резултати (вероятно грешки или изключения). Това е широка категория, която включва проблеми, които могат да възникнат във всеки от следните компоненти или услуги по време на изпълнение: компилатор Just-In-Time (JIT) ƒ Уеб контейнер ␂ EJB контейнер ␂ Classloader ␂ Управление на сесии ␂ Динамичен кеш ␂ Мениджър на транзакции ␂ Управление на натоварването, Мениджър за висока наличност – Услуга за репликация на данни – Разширения на програмен модел – Интернационализация/Двубайтов набор от символи – Услуга за транспортен канал

Компилатор точно навреме (JIT)

Симптом: Получавате периодично неочаквани резултати от приложение. Деактивирането на JIT компилатора разрешава проблема.

Глава 1. Подход за определяне на проблем 49

За повече информация относно прага на смесен режим вижте: http://www.ibm.com/developerworks/java/jdk/diagnosis

Ако проблемът все още възниква, когато JIT е деактивиран, прегледайте другите класификации на проблеми, описани тук, определете в коя класификация се вписва проблемът и следвайте стъпките за определяне на проблема за тази класификация.

50 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Забележка: За стратегии за определяне на проблеми при проблеми с уеб контейнери вижте WebSphere Application Server V6: Откриване на проблеми с уеб контейнери на: http://www.redbooks .ibm.com/redpapers/pdfs/redp4058.pdf

EJB контейнер EJB контейнерът е среда за изпълнение на EJB в WebSphereApplication Server и обработва всички EJB заявки от клиенти.

Симптом: Получавате периодично неочаквани резултати от приложение и

проблемът изглежда произлиза от EJB (компоненти на обекти, компоненти за сесии и управлявани от съобщения компоненти). Симптомите на високо ниво могат да включват някое от следните: ␂ Неочаквано поведение при изпълнение на EJB ␂ Проблеми с жизнения цикъл на EJB и кеширането, осигурени от EJB контейнера ␂ Всички грешки или изключения, които възникват при изпълнение на EJB ␂ Съобщения за грешка или предупредителни съобщения с следните префикси: CNTR, PMGR и ACIN

Много грешки може да са свързани с достъп до данни и транзакции.

Глава 1. Подход за определяне на проблеми 51

␂ WebSphere Information Center: Обяснение на системните съобщения на PMGR http:// publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/PMGR.html Смазване на WebSphere Information Center: Обяснение на системните съобщения ACIN http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/ACIN.html ␂ MustGather: EJB контейнер за версии на V4.0, V5.0, V5.1 и V6 http://www-1.ibm.com/support/docview. wss?rs=180&uid=swg21153218 добавка MustGather: Persistence Manager http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21200344

Можете да намерите стратегии за определяне на проблеми за проблеми с loadloader в следните ресурси: ␂ WebSphere Information Center: Class loading http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com . ibm.websphere.base.doc/info/aes/ae/trun_classload.html Информационен център WebSphere: Зареждане на клас: Ресурси за обучение http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp? тема=/com. ibm.websphere.base.doc/info/aes/ae/rrun_classload_rlinks.html ␂ WebSphere Information Center: Отстраняване на неизправности при зареждане на класове http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.nd.doc/info/ae/ae/ttrb_classload_viewer.html ␂ MustGather: Проблеми с Classloader във V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid= swg21196187

Управление на сесии Сесия (понякога наричана HTTP сесия) е поредица от HTTP заявки към сървлет от един и същ потребител, използващ същия уеб браузър. WebSphere

52 Откриване на проблеми на WebSphere Application Server V6 за разпределени платформи

Сървърът на приложения осигурява функционалност за управление на сесии, за да следи всеки потребител и да позволи на приложенията да предоставят персонализирано съдържание.

Симптом: Срещате проблем, свързан с управлението на HTTP

сесии от WebSphere Application Server. Това може да включва някое от следните неща: Неочаквано поведение на сесията. С. Времето за изчакване на сесията. Проблеми със съхранението на сесията (постоянство на база данни или сесии от памет към памет). Стр. Загубени данни от сесията. Грешки или изключения от мениджъра на сесии на WebSphere Application Server. Проблеми с . персонализирано уеб съдържание. Съобщения за грешка или предупреждение с префикса SESN

Забележка: За информация относно проблеми с управлението на сесии вижте WebSphere

Application Server V6: Определяне на проблеми с уеб контейнер на: http://www.redbooks.ibm.com/redpapers/pdfs/redp4058.pdf

Забележка: Когато има проблем с управлението на сесията в клъстерна

среда, може да има основен проблем с добавката на уеб сървъра. За повече информация относно това вижте WebSphere Application Server V6: Определяне на проблеми с приставката за уеб сървър на: http://www.redbooks.ibm.com/redpapers/pdfs/redp4045.pdf

Глава 1. Подход за определяне на проблеми 53

добавка WebSphere Information Center: Проблеми при създаване или използване на HTTP сесии http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp ?topic=/com. ibm.websphere.base.doc/info/aes/ae/rtrb_httpsessprobs.html ␂ WebSphere Information Center: Управление на HTTP сесии: Ресурси за обучение http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp ?topic=/com. ibm.websphere.base.doc/info/aes/ae/rprs_r4ln.html информационен център WebSphere: Обяснение на системните съобщения на SESN http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/SESN.html ␂ MustGather: Сесии и проблеми с управлението на сесии във V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21192604

Обърнете внимание, че проблемите с услугата за репликация на данни могат да причинят проблеми с управлението на сесия (вижте "Услуга за репликация на данни" на страница 58).

Динамичен кеш Функцията за динамичен кеш кешира изхода на сървлети, JSP и външни уеб услуги, които се извикват от клиенти в рамките на WebSphere Application Server.

Симптом: Имате проблем с функцията за динамичен кеш на

WebSphere Application Server. Потенциалните проблеми могат да включват някое от следните: ␂ Неочаквано или неправилно поведение на кеша ␂ Грешки и изключения от компонента на динамичния кеш ␂ Проблеми с конфигурацията на динамичния кеш ␂ Бавна производителност ␂ Съобщения за грешка или предупредителни съобщения с префикса DYNA

54 Откриване на проблеми с WebSphere Application Server V6 за разпределени платформи

информационен център WebSphere: Съвети за отстраняване на неизправности за услугата за динамичен кеш http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/ index.jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/rdyn_trb.html Информационен център WebSphere: Обяснение на системните съобщения на DYNA http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/DYNA.html ␂ MustGather: Проблеми с динамичния кеш във V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21193837

Имайте предвид, че проблемите с услугата за репликация на данни могат да причинят проблеми с динамичния кеш (вижте "Услуга за репликация на данни" на страница 58).

Симптом: Срещате проблем, свързан с управлението на транзакции

от WebSphere Application Server. Това включва някой от следните симптоми: ␂ Неочаквано поведение на транзакция ␂ Време за изчакване на транзакция ␂ Неочаквано връщане назад на транзакция ␂ Проблеми с възстановяването на транзакции ␂ Всякакви грешки или изключения от диспечера на транзакции ␂ Съобщения за грешка или предупреждения, които имат префиксите WTRN или WLTC

Проблемите с транзакциите може също да са свързани с база данни, съобщения или

проблеми с връзката на информационната система на предприятието, които са описани в „Приложението не може да се свърже с външна система или ресурс“ на страница 63.

Глава 1. Подход за определяне на проблеми 55

добавка WebSphere Information Center: Съвети за отстраняване на проблеми при транзакции http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.base.doc/info/aes/ae/rjta_prob0.html добавка WebSphere информационен център: Изключения за услуга за транзакции http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.base.doc/info/aes/ae/rjta_except.html добавка WebSphere Information Center: Обяснение на WTRN системните съобщения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/WTRN.html Смазване WebSphere Информационен център: Обяснение на системните съобщения WLTC http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/WLTC.html Смазка MustGather: Проблеми с Java Transaction Service (JTS) във V4.0, V5.0, V5.1 и V6.0 http://www-1.ibm.com /support/docview.wss?rs=180&uid=swg21153216

Симптом: Имате проблем с функциите на WLM на WebSphere

сървър за приложения, включително балансиране на натоварването и прехвърляне на отказ на EJB заявка или HTTP заявка. Потенциалните проблеми включват: ␂ Работното натоварване между членовете на клъстера не е балансирано правилно ␂ Член на клъстера, който не работи, не работи при отказ ␂ Работното натоварване не се насочва към член на клъстера, който работи ␂ EJB клиент не може да достигне нито един член на клъстера (грешка CORBA NO_IMPLEMENT е издадено) добавка Всички грешки или изключения, свързани с WLM добавка Съобщения за грешка или предупреждение с префикса WWLM

56 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Можете да намерите стратегии за определяне на проблеми за проблеми с WLM на EJBrequests в следните ресурси: още WebSphere Information Center: Управление на натоварването (WLM) за разпределени платформи http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.nd.doc/info/ae/ae/crun_wlm.html Інформационен център WebSphere: Съвети за отстраняване на неизправности на компонент за управление на работното натоварване http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.nd.doc/info/ae/ae/rtrb_wlmcomp.html информационен център WebSphere: Работното натоварване не се разпределя http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/topic/com.ibm .websphe re.nd.doc/info/ae/ae/rtrb_wlmprobs.html информационен център WebSphere: Изключения по време на изпълнение за управление на натоварването http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp? тема=/com. ibm.websphere.nd.doc/info/ae/ae/rrun_wlm_exceptions.html информационен център WebSphere: Клъстеризиране и управление на натоварването: ресурси за обучение http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index. jsp?topic=/com. ibm.websphere.nd.doc/info/ae/ae/rrun_wlm_rlinks.html информационен център WebSphere: Обяснение на системните съобщения на WWLM http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/WWLM.html ␂ MustGather: Enterprise JavaBeans (EJB) управление на натоварването http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21052165

Мениджър за висока наличност

Мениджърът за висока наличност в WebSphere Application Server V6 елиминира единични точки на повреда и осигурява преход при срив за всички приложения и услуги на WebSphereApplication Server. Той управлява наличността на вашите приложения и услуги. Обсъдено е подробно в "Висока достъпност и преход при срив" на страница 14.

Симптом: Изпитвате проблем с мениджъра за висока достъпност в

WebSphere Application Server, включително ␂ Един процес във вашата основна група се проваля и неговите услуги не се стартират на друг процес, както се очаква. ␂ Грешки или. изключения от мениджъра за висока достъпност.␂ Съобщения за грешка или предупредителни съобщения, които започват с HMGR, CWRCB или CWWCW.

Глава 1. Подход за определяне на проблеми 57

Можете да намерите стратегии за определяне на проблеми за проблеми с мениджъра на висока наличност в следните ресурси: ␂ WebSphere Information Center: Настройка на среда с висока наличност http://publib .boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.nd.doc/info/ae/ae/trun_ha_environment.html информационен център WebSphere: Мениджър за висока наличност http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.nd.doc/info/ae/ae/crun_ha_hamanager.html ␂ Информационен център на WebSphere: Отстраняване на проблеми със среда с висока достъпност http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.nd.doc/info/ae/ae/rtrb_ha_env_trbl.html ␂ WebSphere информационен център: Научаване за висока достъпност http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic= /ком. ibm.websphere.pmc.nd.doc/tasks/tjt0014_.html информационен център WebSphere: Обяснение на системните съобщения на HMGR http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.messages.doc/doc/HMGR.html Смазване на WebSphere Information Center: Обяснение на системните съобщения на CWRCB http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/CWRCB.html Смес WebSphere информационен център: Обяснение на системните съобщения CWWCW http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/CWWCW.html добавка MustGather: Висока наличност и мениджър на висока наличност (HA) http://www-1.ibm.com/support/docview.wss?rs=180&uid= swg21201016

Услуга за репликация на данни

Услугата за репликация на данни прехвърля информация между членовете на клъстера, като позволява репликация на сесия от памет към памет, динамичен кеш и преход при отказ на сесиен компонент със състояние.

Симптом: Имате проблем с услугата за репликация на данни в

WebSphere Application Server. Потенциалните проблеми включват: ␂ Неочаквано поведение при репликация на данни (може да се появи като проблеми с управлението на натоварването, динамичния кеш или управлението на сесията). ␂ Всички грешки или изключения от услугата за репликация на данни. ␂Съобщения за грешка или предупреждение, които започват с CWWDR.

58 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Можете да намерите стратегии за определяне на проблеми за проблеми с услугата за репликация на данни в следните ресурси: Информационен център WebSphere: Репликиране на данни между сървъри на приложения в клъстер http: //publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.nd.doc/info/ae/ae/trun_drs_replication.html Информационен център WebSphere: Репликация http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.nd.doc/info/ae/ae/crun_drs_replication.html информационен център WebSphere: Обяснение на системните съобщения CWWDR http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/CWWDR.html

Разширения на програмни модели

Разширенията на програмни модели (PME) подобряват възможностите и производителността на приложенията и правят програмирането и внедряването по-бързи и по-продуктивни.

Глава 1. Подход за определяне на проблеми 59

добавка WebSphere Information Center: Отстраняване на проблеми ActivitySessions http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.base.doc/info/aes/ass/tasks/tas_probd.html ␂ Информационен център на WebSphere: Услуга ActivitySession: Ресурси за обучение http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index. jsp?topic=/com. ibm.websphere.base.doc/info/aes/ass/ref/ras_rlinks.html добавка WebSphere Information Center: Обяснение на системните съобщения на WACS http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp ?topic=/com. ibm.websphere.messages.doc/doc/WACS.html ␂ Информационен център на WebSphere: Профилиране на приложения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/welc6tech_appprof.html добавка WebSphere Information Center: Обяснение на системните съобщения за APPR http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/APPR.html ␂ Информационен център на WebSphere: Асинхронни компоненти http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/welc6tech_asb.html информационен център WebSphere: Обяснение на системните съобщения ASYN http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/ASYN.html ␂ WebSphere информационен център: Пулове обекти http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/welc6tech_objp.html Информационен център WebSphere: Пулове от обекти: Ресурси за обучение http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp? тема=/com. ibm.websphere.base.doc/info/aes/asyncbns/ref/rasb_objpoolsrlinks.html ␂ WebSphere Information Center: Обяснение на OBPL системни съобщения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp ?topic=/com. ibm.websphere.messages.doc/doc/OBPL.html ␂ Информационен център на WebSphere: Услуга за планиране http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/welc6tech_sch.html Информационен център WebSphere: Обяснение на системните съобщения на SCHD http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/SCHD.html

60 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

добавка WebSphere Information Center: Стартиращи компоненти http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.base.doc/info/aes/ae/welc6tech_sub.html Информационен център WebSphere: Обяснение на системните съобщения STUP http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/STUP.html помощта WebSphere информационен център: работна област http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/welc6tech_wa.html Інформационен център WebSphere: Обяснение на системните съобщения на ACWA http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/ACWA.html

Интернационализация/Набор от двубайтови знаци

Симптом: Имате някакъв вид проблем с кодирането на знаци или интернационализацията на вашето приложение (извеждане на изход на езика, часовата зона, валутата и културните конвенции за различни региони или локали). Това може да включва: стрес Проблеми с показването на двойни байтови знаци за определени езици.

Забележка: Проблемите с кодирането на знаци се обсъждат в WebSphere Application

Server V6: Определяне на проблема с уеб контейнера на: http://www.redbooks.ibm.com/redpapers/pdfs/redp4058.pdf

Можете да намерите стратегии за определяне на проблеми за други

проблеми с интернационализацията в следните ресурси: ␂ WebSphere Information Center: Услуга за интернационализация http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/ index.jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/welc6tech_in.html Информационен център WebSphere: Грешки в услугата за интернационализация http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.base.doc/info/aes/i18n/ref/rin_troubleshoot.html – Информационен център на WebSphere: Интернационализация: Ресурси за обучение http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp ?topic=/com. ibm.websphere.base.doc/info/aes/ae/rin_resources.html

Глава 1. Подход за определяне на проблеми 61

добавка WebSphere Information Center: Обяснение на I18N съобщения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/I18N.html Спорт WebSphere информационен център: Обяснение на LTXT системни съобщения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/LTXT.html добавка MustGather: i18n (Интернационализация)/Двубайтов набор от символи (DBCS) http://www-1.ibm.com/support/docview.wss?rs=180& uid=swg21141732

Услуга за транспортен канал

Услугата за транспортен канал е нова функция в WebSphere Application Server V6. Той управлява клиентските връзки и I/O обработката за HTTP и JMS заявки въз основа на новите неблокиращи I/O функции в Java 1.4.

62 Откриване на проблеми на WebSphere Application Server V6 за разпределени платформи

информационен център WebSphere: Обяснение на системните съобщения на HTPC http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index. jsp?topic=/com. ibm.websphere.messages.doc/doc/HTPC.html информационен център WebSphere: Обяснение на системните съобщения SSLC http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/SSLC.html помощта WebSphere Information Center: Обяснение на TCPC системните съобщения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/TCPC.html информационен център WebSphere: Обяснение на системните съобщения на WSSC http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/WSSC.html информационен център WebSphere: Обяснение на системните съобщения XMEM http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/XMEM.html

Приложението не може да се свърже с външна система или ресурс

Тези проблеми включват: ␂ JCA мениджър на връзки ␂ Връзки с база данни ␂ Съобщения ␂ JNDI наименуване ␂ ORB ␂ Уеб услуги

Мениджър на връзки JCA

Симптом: Имате някакъв проблем при свързване към външен ресурс чрез мениджъра на връзки на Java Connector Architecture (JCA). Това включва източници на данни (които се използват за получаване на JDBC™ връзки към бази данни), JMSconnection фабрики и връзки към корпоративни информационни системи с инсталиран JCA ресурсен адаптер. Мениджърът на връзки JCA обединява и управлява връзките към тези системи.

Потенциалните проблеми включват общи проблеми с групирането на връзките или проблеми с конфигурацията

, проблеми при установяване на връзка, проблеми със спецификациите за активиране, които получават съобщения от вашите бек-енд системи. Симптомите на JCA връзка се наблюдават чрез съобщения за грешка на WebSphere с префикси DSRA, WSCL, J2CA, WTRN, CONM, SQLException или кодове за грешка на базата данни.

Проблеми, причинени от JCA компоненти или грешки в конфигурацията на JCA връзка

могат да се появят като един или повече от следните първоначални симптоми:

Глава 1. Подход към определяне на проблеми 63

добавка Връзката прекъсва или неправилно връща данни към приложението добавка се свързва към или осъществява достъп до база данни или EIS

Забележка: За стратегии за определяне на проблеми за JCA мениджър на връзки

вижте WebSphere Application Server V6: JCA Connection Problem Determination на: http://www.redbooks.ibm.com/redpapers/pdfs/ redp4080.pdf

Бележка: За стратегии за определяне на проблеми при проблеми с връзката към базата данни

вижте WebSphere Application Server V6: Определяне на проблеми с JCA връзка на: http://www.redbooks.ibm.com/redpapers/pdfs/redp4080 .pdf

64 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

CWSIA, CWSIB, CWSIC, CWSID, CWSIE, CWSIF, CWSIH, CWSII, CWSIJ, CWSIK, CWSIL, CWSIM, CWSIN, CWSIO, CWSIP, CWSIQ, CWSIR, CWSIS, CWSIT, CWSIU, CWSIV, CWSIW, CWSIX, CWSIY, CWSIZ, CWSJA, CWSJB, CWSJC, CWSJD, CWSJO, CWSJQ, CWSJR, CWSJU, CWSJW и CWSWS. Имайте предвид, че тези съобщения съдържат десет знака вместо девет. с WMSG.

Забележка: За стратегии за определяне на проблеми при проблеми със съобщения вижте

WebSphere Application Server V6: Откриване на проблеми с доставчика на съобщения по подразбиране на: http://www.redbooks.ibm.com/redpapers/pdfs/redp4076 .pdf

Симптом: Вашето приложение изпитва проблем при достъп до който и да е ресурс

чрез JNDI търсене. Индикациите за проблем с JNDI включват: грешка или изключение при именуване на JNDI в журнала SystemOut или SystemErr. Проблеми с използване на инструмента dumpNameSpace. Грешка или предупредителни съобщения, които започват с NMSV.

Глава 1. Подход за определяне на проблеми 65

✅ WebSphere Information Center: Наименуване и директории: Ресурси за обучение http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/topic/ com.ibm.websphe re.base.doc/info/aes/ae/rnam_r4ln.html ␂ WebSphere Information Center: Обяснение на NMSV системни съобщения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index. jsp?topic=/com. ibm.websphere.messages.doc/doc/NMSV.html ␂ MustGather: Java Naming and Directory Interface (JNDI) и проблеми с именуването за всички версии http://www-1.ibm.com/support/docview.wss?rs= 180&uid=swg21143296

Симптом: Вашето приложение среща проблем при достъп до EJB

чрез Object Request Broker (ORB). Индикациите за проблем с ORB включват: ␂ ORB грешки или изключения в журнала SystemOut или SystemErr. Най-вероятно това ще бъдат кодове за грешки на CORBA (като CORBA COMM_FAILURE). ␂ Съобщения за грешка или предупреждение, които започват с ORBX.

66 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

информационен център WebSphere: Обяснение на системните съобщения на ORBX http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index. jsp?topic=/com. ibm.websphere.messages.doc/doc/ORBX.html нуждата MustGather: Object Request Broker (ORB) за всички версии http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21157005

Симптом: Вашето приложение изпитва проблем, когато действа като клиент на уеб

услуги към отдалечена уеб услуга или когато действа като уеб услуга, до която има достъп от външни клиенти. Това би включвало: ␂ Грешки и изключения на уеб услугите, които се появяват в регистрационните файлове на SystemOut и SystemErr ␂ Неочаквано поведение на уеб услуги ␂ Проблеми с конфигурацията ␂ Проблеми с инструменти за уеб услуги, като скриптовете Java2WSDL и WSDL2Java ␂ Проблеми, които възникват при конфигуриране на уеб услуги или уеб шлюз за услуги с шината за интегриране на услуги.

Можете да намерите стратегии за определяне на проблеми при проблеми с уеб услугите в следните ресурси: ␂ WebSphere Information Center: Уеб услуги http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com . ibm.websphere.base.doc/info/aes/ae/welc6tech_wbs.html Информационен център WebSphere: Отстраняване на неизправности в уеб услуги http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.base.doc/info/aes/ae/twbs_troubleshootwbs.html – WebSphere Information Center: Инструменти за команден ред за отстраняване на неизправности в уеб услуги http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp ?topic=/com. ibm.websphere.base.doc/info/aes/ae/rwbs_trbcommand.html

Глава 1. Подход към определяне на проблеми 67

➢ WebSphere Information Center: Отстраняване на неизправности при компилирани свързвания на уеб услуги http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp? тема=/com. ibm.websphere.base.doc/info/aes/ae/rwbs_trbjavacompiler.html ␂ WebSphere Information Center: Отстраняване на неизправности във времето за изпълнение за клиент на уеб услуги http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index. jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/rwbs_trbclientruntime.html ␂ WebSphere Information Center: Отстраняване на неизправности при сериализация и десериализация в уеб услуги http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp ?topic=/com. ibm.websphere.base.doc/info/aes/ae/rwbs_trbserialize.html ␂ WebSphere Information Center: Отстраняване на проблеми с рамката за извикване на уеб услуги http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp? тема=/com. ibm.websphere.base.doc/info/aes/ae/twsf_trouble.html Информационен център WebSphere: Отстраняване на неизправности в регистъра UDDI http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.base.doc/info/aes/ae/twsu_probdet.html добавка WebSphere Information Center: Универсално откриване, описание и интеграция, уеб услуга и съвети за отстраняване на неизправности в SOAP компонент http://publib.boulder.ibm.com/ infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/rtrb_svsccomp.html ␂ WebSphere Information Center: Грешки, върнати на клиент, изпращащ SOAP заявка http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index .jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/rtrb_soapprobs.html информационен център WebSphere: Проследяване на уеб услуги http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.base.doc/info/aes/ae/twbs_tracewbscomp.html ␂ WebSphere Information Center: Проследяване на SOAP съобщения с tcpmon http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.base.doc/info/aes/ae/twbs_tracewbs.html ␂ Информационен център на WebSphere: Често задавани въпроси относно уеб услугите http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp? тема=/com. ibm.websphere.base.doc/info/aes/ae/rwbs_faq.html

68 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

информационен център WebSphere: Уеб услуги: Ресурси за обучение http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index .jsp?topic=/com. ibm.websphere.base.doc/info/aes/ae/rwbs_resourceslearning2.html информационен център WebSphere: Обяснение на системните съобщения на WSWS http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/com. ibm.websphere.messages.doc/doc/WSWS.html Смес WebSphere информационен център: Обяснение на съобщенията на системата SOAP http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/SOAP.html информационен център WebSphere: Обяснение на WSIF системни съобщения http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/WSIF.html информационен център WebSphere: Обяснение на системните съобщения CWWSG http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com. ibm.websphere.messages.doc/doc/CWWSG.html Смазката MustGather: Проблеми с машината за уеб услуги за всички версии и издания на WebSphere Application Server V5.0.2, V5.1 и V6.0 http://www-1.ibm. com/support/docview.wss?rs=180&uid=swg21198363 - MustGather: Проблеми с шлюза за уеб услуги http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21159216 - MustGather: Проблеми с рамката за извикване на уеб услуги (WSIF) http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21159155 - MustGather: Проблеми с UDDI http://www-1 .ibm.com/support/docview.wss?rs=180&uid=swg21164764

Приложението е бавно или неговата производителност се влошава с времето

Тази широка класификация обхваща всички проблеми с бавна или влошена производителност.

Глава 1. Подход за определяне на проблеми 69

✅ WebSphere Information Center: Производителност: Ресурси за обучение http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp? тема=/com. ibm.websphere.base.doc/info/aes/ae/rprf_resourceslearning.html ␂ Информация за производителността на WebSphere Application Server http://www-306.ibm.com/software/webservers/appserv/was/performance.html ␂ WebSphere Application Server V6 Ръководство за скалируемост и производителност, SG24-6392.

1.5 Свързване с IBM за поддръжка

Както може би сте разбрали досега, много потенциални проблеми с WebSphere Application Server V6 могат да бъдат разрешени без помощта на екипа за поддръжка на WebSphere Application Server. Чрез внимателна подготовка за и предотвратяване на проблеми и като следвате вашата стратегия за определяне на проблеми, вие имате способността да разрешите повечето проблеми сами. Възможно е обаче да има случаи, в които ще е необходимо извикване на екипа за поддръжка, особено ако дефект в кода на WebSphere Application Server е причината за проблема. Този раздел обяснява процеса на поддръжка на IBM и как можете да работите с екипа за поддръжка най-ефективно.

1.5.1 Структура за поддръжка на IBM

За да извлечете максимума от процеса на поддръжка на IBM, е важно да разберете как е структурирана организацията за поддръжка. Има няколко групи помощен персонал, с които можете да работите за всеки проблем:

70 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

смажане Екип на фронт офиса (въвеждане на проблеми) Ако съобщите за проблем по телефона, първият човек, с когото говорите, е член на фронт офиса ( наричан още екип за въвеждане на проблеми). Хората от този екип работят с вас на вашия национален език. Те обикновено се намират в същия регион на света, откъдето се обаждате. Основните цели на екипа на фронт офиса са да получи подробно описание на проблема от вас, да потвърди вашата информация за контакт и наличност, да отвори запис за управление на проблеми (PMR) и след това да насочи вашия PMR към съответния екип за поддръжка на продукта. Екип от ниво 1) Следващата стъпка в процеса е предният екип (наричан екип за поддръжка от ниво 1 в Съединените щати) да работи върху вашия PMR. Ако отворите PMR електронно, това ще бъде първият екип, с който ще работите. Този екип също работи с вас на вашия национален език и обикновено се намира в същия регион на света като вас. Хората от предния екип в много страни имат широки умения в много софтуерни продукти на IBM и работят PMR за няколко продукта. Екипът от ниво 1 в Съединените щати работи само с WebSphere Application Server PMR. Те имат широки умения в WebSphere Application Server и поддържат целия продукт. Анализаторите за поддръжка получават повече подробности за проблема. Те вероятно ще поискат файлове или регистрационни файлове, които помагат при определяне на причината за проблема. След това те провеждат разследване на проблема и предоставят възможни решения. Ако не могат да осигурят решение на проблема, те ескалират PMR до следващото ниво на поддръжка. от предния край или екип от ниво 1. Екипът от ниво 2 за WebSphere Application Server се намира само в Съединените щати и работи само на английски език. Екипът от предния край ви пита дали можете да работите с екипа от ниво 2 на английски език. Ако предпочитате да работите на собствения си език, предният екип може да преведе комуникацията от екипа от ниво 2 вместо вас. Екипът от ниво 2 е съставен от група специализирани екипи. Всеки екип работи само върху определени области на продукта и развива експертиза в тези области. Те извършват по-задълбочен анализ на проблема и файловете, които сте изпратили, и получават повече информация за проблема, ако е необходима. Екипът от ниво 2 може също така да поиска по-подробни диагностични данни, като следи за конкретен компонент, за да помогне в тяхното разследване. След като анализира цялата информация и проведе проучване, екипът от ниво 2 или предоставя решение на проблема, или работи със следващото ниво на поддръжка, ако смята, че проблемът е причинен от WebSphere

Глава 1. Подход за определяне на проблем 71

Дефект в кода на сървъра за приложения. В този случай се отваря оторизиран доклад за анализ на програмата (APAR). ␂ Екип за промяна (Ниво 3) Ако анализът на екипа от ниво 2 покаже, че проблемът е причинен от дефект с кода на WebSphere Application Server, те изпращат вашия PMR до екипа за промяна, известен също като екип от ниво 3. Екипът за промяна е част от екипа за разработка на WebSphere Application Server, който е специално фокусиран върху коригирането на дефекти. Членовете на екипа от ниво 3 работят само върху един специфичен компонент на WebSphere Application Server. Те имат много дълбоки познания за този конкретен компонент. Екипът от ниво 3 не комуникира директно с клиентите. Вместо това те предоставят актуализации на екипа от ниво 2, а екипът от ниво 2 съобщава актуализации на клиента.

1.5.2 Проучете проблема

Преди да отворите PMR, ви препоръчваме да следвате всички стратегии за определяне на проблема, обсъдени в тази книга. Най-важното нещо, което трябва да направите, е да проучите проблема. Екипът за поддръжка на WebSphere Application Server е открил, че голям процент от проблемите вече са докладвани от други клиенти. В тези случаи можете да спестите много време и усилия, като прегледате документацията на IBM, за да се уверите, че проблемът не е известен проблем, преди да отворите PMR. Можете да прегледате списъка с уеб сайтове в „Проучване и проучване на проблема“ на страница 27, за да проведете вашето проучване.

1.5.3 Събиране на файлове MustGather

За първи път споменахме документите MustGather в „Събиране на диагностични данни“ на страница 21. Тези документи са полезни ръководства при разработването на вашия план за събиране на диагностични данни и са важни и когато отворите PMR с екипа за поддръжка на WebSphere Application Server. Екипът за поддръжка се нуждае от определени диагностични данни, за да проучи всеки тип проблем на WebSphere Application Server. В „Класифициране на проблема и определяне на първопричината“ на страница 31, ние изброихме всяка класификация на проблема и включихме връзките към документите на MustGather за всяка класификация. Можете да прегледате конкретния документ за вида на проблема, който срещате, или можете да започнете с общия документ на MustGather за всички типове проблеми, IBM - MustGather: Прочетете първо за всички продукти на WebSphere Application Server на: http:// www-1.ibm.com/support/docview.wss?rs=180&uid=swg21145599

72 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

1.5.4 Определяне на сериозността Когато отворите PMR, предоставяте ниво на сериозност за PMR. Нивата на тежест са в диапазона от 1 до 4, като 1 е най-тежката, а 4 е най-леката. Нивото на сериозност отразява въздействието върху бизнеса и следователно спешността на проблема. Въпреки че е изкушаващо да отворите всички PMR на ниво на тежест 1, много е важно да определите точно ниво на сериозност за ситуацията. Поддръжката на IBM дава приоритет на PMR според нивото на сериозност. Когато имате истински проблем с сериозност 1, не искате екипът за поддръжка да трябва да го приоритизира на същото ниво като други проблеми, които не са толкова критични. Таблица 1-2 предоставя официалните описания на всяко ниво на сериозност от IBM Software Support Handbook.

Забележка: Въпреки че анализаторите на поддръжката на IBM понякога може да ви попитат дали ниво на сериозност може да бъде променено, в крайна сметка ваше решение (или решение на други във вашата компания) какво е нивото на сериозност.

Таблица 1-2 Указания за нивата на тежест на PMR

Ниво на сериозност Описание

Сериозност 1 Критично въздействие върху бизнеса: Вие не можете

да използвате програмата, което води до критично въздействие върху операциите. Това състояние изисква незабавно решение.

Степен на тежест 2 Значително въздействие върху бизнеса: Програмата

може да се използва, но е силно ограничена.

Степен на тежест 3 Известно въздействие върху бизнеса: Програмата е

използваема, като по-малко значимите функции (които не са критични за операциите) са недостъпни.

Степен на сериозност 4 Минимално въздействие върху бизнеса: Проблемът

причинява слабо въздействие върху операциите или е приложено разумно заобикаляне на проблема.

За да поставим тези насоки в термините на WebSphere Application Server:

Масаж 1 PMR обикновено са ситуации, при които наличността на вашата производствена среда е засегната. В случай, когато вашата производствена система не работи, първият приоритет на екипа за поддръжка е да ви помогне да възстановите производствената си функционалност, както е обсъдено в „Връщане към безопасни условия“ на страница 24. Това може да бъде всяка ситуация, при която има високо ниво на бизнес въздействие. Например, може да е проблем, който причинява загуба на приходи или производителност за вашата организация. За тежест 1

Глава 1. Подход за определяне на проблем 73

PMRs, няма заобикаляне или решение, което да е налично в момента. Екипът за поддръжка работи денонощно на вашия PMR, стига да може да се свърже с вас по всяко време на денонощието, докато проблемът бъде разрешен. ② Тежест 2 PMR са най-често срещаните нива на PMR. В този случай проблемът има значително въздействие, но приложението все още работи във вашата производствена среда. Може също така да включва ситуации, при които вашето приложение все още не е в производство. Те включват ситуации, при които имате краен срок за разрешаване на проблема, и ситуации, при които проблемът се забавя, когато вашето приложение влезе в производство. PMR от степен 2 се считат за сериозни и се приоритизират високо от екипа за поддръжка, но проблемите не се считат за толкова критични, колкото проблемите от степен 1. Екипът за поддръжка работи с вас през нормалното работно време във вашата часова зона. ␂S Тежест 3 PMR показват, че проблемът не засяга сериозно вашия бизнес. Почти всички проблеми със степен 3 възникват във вашата тестова среда и не засягат производството. Ако въздейства на производството, то има само незначително въздействие и може да имате решение на проблема. Въпреки че очаквате проблемът да бъде разрешен своевременно, вие нямате краен срок за разрешаване на проблема и проблемът не е забавянето на датата на производство на вашето приложение. Екипът за поддръжка работи с вас през нормалното работно време във вашата часова зона. ␂S Тежест 4 PMR показват, че даден проблем няма почти никакво влияние върху бизнеса. Това включва технически въпроси и искания за актуализиране на документация. Може също да включва проблеми, които възникват само във вашата тестова среда, където вече е осигурено заобикаляне. Сериозността понякога се понижава до степен 4, когато е предоставено решение, но ви трябва известно време, за да тествате решението, преди да затворите PMR. Очаква се PMR от степен 4 да не влияят на вашата производствена среда. Нямате краен срок за разрешаване на проблема и можете да изчакате по-дълъг период от време, за да получите решение. Екипът за поддръжка ще работи с вас през нормалното работно време във вашата часова зона и актуализациите от екипа за поддръжка може да не са чести.

1.5.5 Създаване на PMR

След като вече сте запознати със структурата за поддръжка на IBM, проучихте проблема, събрахте данните от MustGather и определихте сериозността на проблема, време е да отворете PMR.

74 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

В момента можете да отворите PMR по два начина, по електронен път или по телефона. Установихме, че отварянето на PMR по електронен път е по-удобно за повечето клиенти. Препоръчваме ви да използвате този метод. Въпреки това поддръжката по телефона все още е налична.

Отваряне на PMR по електронен път

За да отворите PMR по електронен път в мрежата, можете да използвате инструмента за изпращане на проблеми с Electronic ServiceRequest (ESR) на: http://www-306.ibm.com/software /support/probsub.html

Отворете PMR по телефона

Другата ви опция е да отворите PMR по телефона. Телефонният номер, на който се обаждате, за да отворите PMR, варира според държавата и се променя от време на време. За да намерите телефонния номер за вашата страна, проверете тази връзка от IBM Software SupportHandbook: http://techsupport.services.ibm.com/guides/contacts.html

Глава 1. Подход за определяне на проблеми 75

1.5.6 Изпращане на данни до IBM В хода на работа с PMR може да се наложи да изпратите много различни типове данни към поддръжката на WebSphere Application Server Support екип. Както беше обсъдено в "Създаване на PMR" на страница 74, използването на инструмента ESR за прикачване на файлове към вашия PMR прави този процес лесен. Въпреки това, ако не използвате инструмента ESR, все още можете да изпращате данни чрез електронна поща или FTP. Като общо правило трябва да използвате електронна поща, ако общият размер на данните е по-малък от 10 MB, и трябва да използвате FTP, ако данните са с размер над 10 MB. Освен това, когато изпращате FTP данни, вашият PMR се актуализира автоматично, така че екипът за поддръжка да е наясно, че сте изпратили данните и да може да започне да ги анализира веднага. Въпреки това, ако изпратите имейл, не забравяйте да актуализирате своя PMR по електронен път или да се обадите на телефонния номер за поддръжка на IBM за вашата страна и да поискате PMR да бъде актуализиран, така че екипът за поддръжка да знае, че сте изпратили данните.

Препоръчваме ви да изпращате цялата електронна поща, свързана с вашия PMR, до

weblev2@us.ibm.com. Това е споделен имейл адрес. Целият екип на WebSphere Application Server ниво 1 и ниво 2 има достъп до този имейл адрес. Ако изпратите имейл само до определен анализатор за поддръжка, само този анализатор има достъп до вашия имейл. Това може да е неблагоприятно, особено ако анализаторът е извън офиса или ако имате нужда от помощ извън нормалното работно време.

76 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Глава 2. Диагностични данни

Този документ съдържа информация за диагностичните данни, които са налични в WebSphere Application Server V6. Той съдържа информация за местоположението на данните, как се събират и опции за конфигуриране.

Включва информация за следното:

␂ JVM регистрационни файлове (SystemOut и SystemErr) ␂ Tracing ␂ Collector tool ␂ First Failure Data Capture (FFDC) ␂ Process (native) logs ␂ Service log (activity. регистрационни файлове за инсталация, регистрационни файлове и следи на IBM HTTP Server и добавки, регистрационни файлове за управление на системата, регистрационни файлове за бързо разгръщане на WebSphere

© Copyright IBM Corp. 2005. Всички права запазени. 77

2.1 JVM регистрационни файлове (SystemOut и SystemErr) SystemOut и SystemErr регистрационни файлове се създават за всеки процес на WebSphere Application Server (сървър на приложения, член на клъстер, агент на възел и мениджър на разполагане). Тези регистрационни файлове са известни като JVM регистрационни файлове. Потоците System.Out и System.Err за всяка JVM се пренасочват към регистрационните файлове SystemOut и SystemErr. WebSphere Application Server записва в тези журнали. Вашите приложения могат също да им пишат, като използват методите print(), println() и printStackTrace().

Можете да намерите регистрационните файлове в следната директория:

/profiles//logs/

Фигура 2-1 Промяна на свойствата за ротация на регистрационния файл

78 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

В раздела Конфигурация можете да редактирате следното: ␂ името на файла (и директорията) на регистрационните файлове SystemOut и SystemErr. Форматирането на файла Препоръчваме ви да оставите това на стойността по подразбиране на Basic, за да направите регистрационните файлове по-лесни за четене. . Те записват в посочения файл, докато не бъде достигнат максималния размер на файла или определено време. Когато това се случи, текущият регистрационен файл се преименува като текущото име на файла плюс текущото времево клеймо. След това се създава нов файл SystemOut или SystemErr за по-нататъшно регистриране. По-старите регистрационни файлове се наричат ​​исторически регистрационни файлове. Например, след като това се случи, може да имате следните SystemOut файлове в директорията /profiles//logs/: - SystemOut.log, текущият регистрационен файл - SystemOut_05.06.07_10.28.48.log, историческият лог файл В зависимост от вашите нужди , можете да изберете регистрационните файлове да се въртят (превъртат), когато достигнат определен размер, определен интервал от време или и двете. Ако изберете време, препоръчваме ви да посочите 24 часа като време за повторение. Можете също да зададете началния час, за да посочите часа, в който регистрационните файлове да се сменят. Ако посочите размер на файл, ви препоръчваме да увеличите максималния размер над стандартния му размер от 1 MB. Ще искате да координирате стойността на максимален размер с максималния брой исторически регистрационни файлове въз основа на наличното дисково пространство на вашата система. И при двата метода се уверете, че количеството записани регистрационни данни е достатъчно, така че съответните регистрационни данни да са там, когато установите, че е възникнал проблем. ␂ Максимален брой исторически регистрационни файлове. на исторически регистрационни файлове, които се съхраняват. Ако стойността бъде достигната и трябва да се създаде друг журнален файл с хронология, най-старият се премахва от системата ви 3. Извеждане на инсталирано приложение Тези свойства влияят върху начина, по който се извеждат изразите print и println от вашите приложения. Има две опции: - Показване на отчети за печат на приложението. Това е активирано по подразбиране. Ако премахнете отметката от него, операторите print и println на приложението не се регистрират в регистрационните файлове SystemOut и SystemErr. - Форматиране на отчети за печат. Това също е активирано по подразбиране. Можете да премахнете отметката от него, ако не искате операторите print и println на вашето приложение да бъдат

Глава 2. Диагностични данни 79

форматиран подобно на съобщенията на WebSphere Application Server в регистрационните файлове.

Всички тези свойства могат да се променят както за журналите SystemOut, така и за SystemErr. Можете да изберете да използвате едни и същи свойства и за двата журнала, което препоръчваме, или да използвате различни свойства за тях.

Записите в изхода на SystemOut.log са в следния формат: [7/12/05 14:46:00:264 EDT] 0000001a ApplicationMg A WSVR0221I: Приложението е стартирано: adminconsole

Всеки запис може да бъде дешифриран по следния начин:

клеймо за време В примера клеймото за време е [7/12/05 14:46:00:264 EDT]. Времевият печат се форматира с помощта на локала на процеса, в който е форматиран. Той включва напълно квалифицирана дата (например MM/DD/YY), 24-часово време с точност до милисекунди и часова зона. ␂ ИД на нишка В примера ИД на нишката е 0000001a. ID на нишката е шестнадесетична стойност от осем знака, която се генерира от хеш кода на нишката, която е издала съобщението. ␂Кратко име В примера краткото име е ApplicationMg. Краткото име е съкратеното име на компонента, който е издал съобщението. Това име обикновено е името на класа на компонент на WebSphere Application Server и би било някакъв друг идентификатор за приложения.

80 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

стрес Тип на събитието В примера типът на събитието е A. Типът на събитието е едносимволно поле, което показва типа на съобщението. Възможните стойности са: - F - фатално съобщение - E - съобщение за грешка - W - предупредително съобщение - A - съобщение за проверка - I - информационно съобщение - C - конфигурационно съобщение - D - подробно съобщение - O - съобщение, което е написано директно в системата .out от приложение или вътрешни компоненти - R - съобщение, което е написано директно в System.err от потребителското приложение или вътрешни компоненти - Z - контейнер, който показва, че типът не е разпознат - Идентификатор на съобщението В примера идентификаторът на съобщението е WSVR0221I. Идентификаторът на съобщението е низ с дължина девет знака и е във формата CCCC1234X. Първите четири знака (CCCC) показват компонента WebSphere Application Server, който е издал съобщението. Следващите четири знака (1234) показват конкретното съобщение, което компонентът издава. Последният знак (X) показва сериозността на съобщението. Стойността му е I (информационен), W (предупреждение) или E (грешка). Можете да намерите описания на всички идентификатори на съобщения на WebSphere Application Server в елемента на WebSphere Information Center Справка за отстраняване на неизправности: Съобщения на: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com. ibm.websphere.express.doc/info/exp/ae/welc_ref_trb_msg.html Съобщение за спорт В примера съобщението е Стартирано приложение: администраторска конзола. Съобщението е данните, които се записват в SystemOut.log от компонента. Той е предназначен да предостави полезен резултат за информационни цели, отстраняване на грешки и отстраняване на неизправности.

Глава 2. Диагностични данни 81

2.2 Проследяване Регистрационните файлове за проследяване също могат да бъдат конфигурирани по начин, подобен на регистрационните файлове на JVM. Следите трябва да бъдат изрично разрешени. Те са деактивирани по подразбиране. Проследяването дава много подробна информация за изпълнението на кода на WebSphere Application Server. Той предоставя времеви печати, подробности за това кои WebSphere методи са били извикани и специални диагностични данни, които са включени, за да улеснят отстраняването на неизправности.

За да конфигурирате свойствата на проследяванията от административната конзола:

1. Изберете Отстраняване на неизправности → Регистрации и проследяване. 2. Изберете процеса, чиито регистрационни файлове за проследяване искате да конфигурирате. 3. Щракнете върху Диагностично проследяване. Отваря се прозорецът Общи свойства, както е показано на Фигура 2-2.

Фигура 2-2 Промяна на свойствата на проследяване

82 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Файловете на проследяване не могат да се прехвърлят въз основа на време. Трябва да посочите MaximumFile Size във връзка с максималния брой исторически файлове. Трябва да зададете тези стойности по подходящ начин в зависимост от това колко време може да отнеме за възпроизвеждане на проблема с активирано проследяване и колко дисково пространство е налично. С тези зададени свойства, файловете за проследяване се преобръщат по същия начин като регистрационните файлове на JVM. Можете също така да посочите име на файл и директория за файловете за проследяване.

Както при регистрационните файлове на JVM, силно препоръчваме да изберете Basic (стойността по подразбиране) за Trace Output Format. Това прави проследяването по-лесно за четене и това е предпочитаният формат от екипа за поддръжка на WebSphere Application Server.

Глава 2. Диагностични данни 83

Фигура 2-3 Промяна на нивото на детайлност на регистрационния файл в административната конзола

Компонентите могат да бъдат всякакви пакети или класове на WebSphere Application Server.

Групите са предварително дефинирани набори от пакети и класове, които са полезни за отстраняване на неизправности в определен компонент.

84 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Документите MustGather за компонентите на WebSphere Application Server обсъждат кое специфично ниво на детайлност на журнала да се зададе за различни видове проблеми. Добра идея е да записвате нивото на детайлност на регистрационния файл за различни видове проблеми във вашия план за събиране на диагностични данни. Когато задавате ниво на детайлност на дневника, трябва да зададете нивото на всички в почти всички случаи. Трябва също така да включите *=info в началото на нивото на подробности за регистрационния файл, така че регистрирането на информация да е активирано за компоненти, които не се проследяват. Например, за да активирате проследяване за компонента J2C мениджър на връзката, трябва да зададете нивото на детайлност на регистрационния файл на:*=info:WAS.j2c=all

Всеки запис може да бъде дешифриран по следния начин:

клеймо за време В примера клеймото за време е [7/12/05 16:13:10:379 EDT]. Времевият печат се форматира с помощта на локала на процеса, в който е форматиран. Той включва напълно квалифицирана дата (например MM/DD/YY), 24-часово време с точност до милисекунди и часова зона. шестнадесетична стойност, генерирана от хеш кода на нишката, която е издала събитието за проследяване.

Глава 2. Диагностични данни 85

␂ Кратко име В примера краткото име е DSConfigurati. Краткото име е съкратеното име на компонента, който е издал събитието за проследяване. Това обикновено е името на класа на компонент на WebSphere Application Server и би бил някакъв друг идентификатор за приложения. ␂ Тип събитие В примера типът събитие е символ по-голямо от (>). Типът на събитието е едносимволно поле, което указва типа на събитието за проследяване. Възможните стойности са: - > - показва въвеждането на указаното име на метод - < - показва изхода на посоченото име на метода - 1 - запис в проследяване от тип fine или събитие - 2 - запис в проследяване от тип finer - 3 - запис в проследяване от тип finest, debug или dump - Z - контейнер за указване че типът трасиране не е разпознат. Примерът показва, че е въведен методът getPooledConnection. ␂ Име на клас Името на класа е незадължителна част от записа за проследяване. Той показва класа, който е генерирал събитието за проследяване. В примера името на класа не се появява. ␂ Име на метода Името на метода е друга незадължителна част от записа за проследяване. Той показва метода, който е генерирал събитието за проследяване. В примера името на метода е getPooledConnection. ␂ Текстово съобщение В примера съобщението е Вход.

86 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

2.3 Инструмент за събиране Инструментът за събиране на WebSphere Application Server е скрипт, който може да бъде намерен в директорията /bin (collector.bat или collector.sh) . Изпълнението на скрипта създава Java архив (jar) файл, който съдържа всички регистрационни файлове и XML конфигурационни файлове от вашата инсталация на WebSphere Application Server, както и информация за операционната система, информация за Java и данни за това дали предпоставките на софтуера са изпълнени и техните нива .

2.4 Прихващане на данни при първа грешка (FFDC)

WebSphere Application Server V6 включва функция, наречена прихващане на данни при първа грешка (FFDC). Функцията FFDC работи във фонов режим и събира събития и грешки, които възникват по време на изпълнение на WebSphere Application Server. Информацията, която събира, се записва в регистрационни файлове в директорията /profiles//logs/ffdc.

FFDC не влияе на производителността на WebSphere Application Server и не трябва да бъде деактивиран. Регистрационните файлове на FFDC най-вероятно няма да бъдат полезни във вашия

Глава 2. Диагностични данни 87

усилия за определяне на проблема. Те обаче могат да бъдат полезни за екипа за поддръжка на WebSphere Application Server, ако отворите PMR.

Има три конфигурационни файла на FFDC в директорията /properties

. Единственият файл, който трябва да промените, е файлът ffdcRun.properties. Можете да добавите свойството ExceptionFileMaximumAge към файла. Това свойство указва броя дни, през които FFDC регистрационният файл остава в директорията /profiles//logs/ffdc, преди да бъде изтрит. Като част от вашия план за събиране на диагностични данни може да искате да промените свойството ExceptionFileMaximumAge, за да сте сигурни, че FFDC файловете остават във вашата система за определен период от време. Не трябва да променяте други свойства, освен ако не сте помолени да го направите от екипа за поддръжка на WebSphere Application Server.

2.5 Други регистрационни файлове

Следните регистрационни файлове не винаги са полезни за определяне на проблеми, но може да откриете, че понякога ще са необходими.

2.5.1 (Собствени) регистрационни файлове на процеса

Собственият код, работещ в процес на WebSphere Application Server, може да записва данни в регистрационните файлове на процеса (наричани също собствени регистрационни файлове). Родният код е код, различен от Java, който обикновено се намира във файлове с разширения .dll, .exe и .so. Регистрационните файлове на процеса се наричат ​​native_stdout.log и native_stderr.log. Те се намират в директорията /profiles//logs/.

88 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Можете да намерите повече информация относно регистрационните файлове на процеси в елемента Регистрационни файлове на WebSphere Information Center на: http://publib.boulder.ibm.com /infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm. websphere.base.doc/info/aes/ae/ctrb_stdlogs.html

2.5.2 Регистър на услугата (activity.log)

Регистърът на услугата е по-известен като activity.log и се намира в директорията /profiles//logs. Има само един activity.log за всеки възел. Събитията по време на изпълнение на WebSphere Application Server се регистрират в activity.log. Написан е в двоичен формат, така че не може да се разглежда в текстов редактор. Основната цел на activity.log е, че може да се разглежда с инструмента Log Analyzer, представлява графичен потребителски интерфейс, който показва събитията от activity.log и използва база данни за симптоми, за да анализира събитията и да диагностицира проблеми.

Възможно е също така да видите събитията в activity.log извън Log Analyzer, като използвате скрипта showlog в директорията /bin.

Можете да конфигурирате свойствата на activity.log в административната конзола:

1. Изберете Отстраняване на неизправности → Регистрации и проследяване. 2. Изберете процеса WebSphere Application Server. 3. Изберете IBM Service Logs. Можете да изберете дали да активирате или деактивирате activity.log, да изберете местоположението на директорията и името на файла, да зададете максималния размер на файла и да изберете какви типове съобщения да се регистрират.

Глава 2. Диагностични данни 89

2.5.3 Инсталационни регистрационни файлове Когато имате проблем с инсталирането на WebSphere Application Server V6, може да се наложи да прегледате следните регистрационни файлове, за да определите причините за грешката. ␂ /logs/log.txt Този регистрационен файл записва състоянието на инсталацията ␂ /profiles//logs/pctlog.txt Този регистрационен файл записва състоянието на създаване на профил ␂ /profiles//logs/ivtClient.log Този регистрационен файл записва събитията от инсталирането тест за проверка

2.6 IBM HTTP сървър и логове и проследявания на добавки

Когато имате проблем, свързан с IBM HTTP сървъра или добавката на уеб сървъра, може да се наложи да прегледате регистрационните файлове или да активирате следа. Този раздел обсъжда подробностите за тези регистрационни файлове и следи.

2.6.1 Регистри на IBM HTTP сървър

IBM HTTP сървърът записва два регистрационни файла: регистрационен файл за достъп, който съдържа подробности за всички достъпи до уеб сървъра и регистър на грешки, който съдържа подробности за всички грешки. Местоположението по подразбиране на регистрационните файлове е следното: ␂ Windows - Регистрационен файл за достъп: \logs\access.log - Регистър на грешки: \logs\error.log ␂ UNIX® - Регистър на достъп: /logs/access_log - Регистър на грешки: /logs/ error_log

2.6.2 Дневници на плъгина на уеб сървъра

Добавката също така записва свой собствен журнал, който можете да намерите в пътя на инсталационната директория на плъгина на уеб сървъра. Регистрационният файл, който търсите, е под друга структура на директория, наречена за логическия уеб сървър, както е дефиниран в конфигурацията на WebSphere.

Можете да намерите местоположението на регистрационния файл, като първо погледнете конфигурацията на уеб сървъра. Това се отнася за конфигурационния файл на добавката, както е показано в Пример 2-1 на страница 91. След това конфигурационният файл на добавката ви казва къде

90 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

регистрационният файл е както е показано в пример 2-1. Този пример също ви показва къде задавате количеството детайли, които се регистрират.

Пример 2-1 Местоположение на регистрационния файл на добавката

Настройката по подразбиране за LogLevel е Error, но можете да я зададете на Trace, за да съберете значително повече информация. Ако трябва да повдигнете този проблем с IBM Support, те ще поискат проследяване на добавка.

2.6.3 Проследяване на плъгини за уеб сървър

За да получите ефективно проследяване, трябва да активирате възможно най-много регистриране на уеб сървъра. Например, можете да зададете нивото на регистриране за улавяне на подробен изход в IBM HTTP сървъра, като промените директивата LogLevel в конфигурационния файл, както е показано: LogLevel debug

Трябва да рестартирате IBM HTTP сървъра, за да влезе в сила това.

Не е необходимо да рестартирате IBM HTTP сървъра, за да влезе в сила тази промяна.

Съвет: Проследяването на приставката генерира значителни количества данни. Направете теста си възможно най-специфичен и го изпълнете изолирано, за да намалите броя на генерираните редове.

2.6.4 Мрежово проследяване

В редки случаи може да се наложи да използвате анализатор на мрежови протоколи, който ви позволява да прихванете iptrace. Този инструмент може да ви помогне да определите къде е проблемът. WebSphere Application Server не предоставя такъв инструмент. Има обаче налични инструменти на трети страни (например Ethereal от http://www.ethereal.com/).

Глава 2. Диагностични данни 91

2.7 Дневници за управление на системата Когато имате проблем с управлението на системата, може да се наложи да прегледате определени регистрационни файлове или да активирате проследяване. Този раздел обсъжда подробностите за тези регистрационни файлове и следи.

2.7.1 Изход от wsadmin

Съобщенията от wsadmin се записват в регистрационния файл wsadmin.traceout: /profiles//logs/wsadmin.traceout

Можете също да увеличите количеството данни, които се регистрират в този файл, като проследите помощната програма wsadmin. За да направите това, актуализирайте следния файл: /properties/wsadmin.properties

Разкоментирайте следния ред:

com.ibm.ws.scripting.traceString=com.ibm.*=all=enabled

Имайте предвид, че информацията, която се регистрира, е с ограничена употреба, тъй като wsadmin извиква MBeans в сървъра на приложения, който изпълнява приложението на административната конзола. Така че обикновено трябва да проследите и този сървър на приложения.

2.7.2 Скриптове за управление

Можете да управлявате услугите на WebSphere Application Server с помощта на предоставените скриптове за управление. Например, всяка инсталация на WebSphere Application Server има скрипт за стартиране на сървър на приложения, скрипт за спиране на сървър на приложения и скрипт, който да ви покаже състоянието на всички сървъри на приложения, дефинирани в профил. Всеки от тези скриптове записва свой собствен лог файл в директорията с регистрационни файлове на сървъра. Например скриптът stopServer записва stopServer.log в директорията logs: /profiles//logs//stopServer.log

2.7.3 Регистрационни файлове за управление на профили

Инструментът за създаване и управление на профили wasprofile записва съобщения в независимата от профила директория с регистрационни файлове, тоест: /logs/wasprofile/.log

Този регистрационен файл е в XML формат.

92 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Графичният интерфейс на Java, който се използва за създаване на профил, просто извиква wasprofile команда след събиране на необходимата информация. По подразбиране той не записва журнал, но можете да му подадете параметър на журнал, както е показано: pctWindows -is:log c:\temp\pct.log

2.8 Журнали на WebSphere Rapid Deployment

Инструментът WebSphere Rapid Deployment работи в директория, която създавате и предавате на WebSphere Rapid Deployment в променливата на средата WORKSPACE. Той регистрира съобщенията на Eclipse в два отделни файла в тази директория: ␂ /.metadata/.log ␂ /project/.metadata/.log

По начин, подобен на другите помощни програми на WebSphere Application Server, WebSphere

Rapid Deployment извиква MBeans на сървъра на приложения. Регистрационните файлове на сървъра на приложения могат да ви помогнат да разрешите проблем с WebSphere Rapid Deployment. Няма начин да се проследи помощната програма WebSphere Rapid Deployment. Можете обаче да проследите сървъра на приложения, както е описано в "Проследяване" на страница 82.

2.9 Резюме на регистрационните файлове

Таблица 2-1 на страница 94 показва резюме на регистрационните файлове на WebSphere.

Забележка: В тази таблица:

␂представлява корена на инсталацията за WebSphere Application Server, например: c:\WebSphere\Appserver ␂представлява главната директория за конкретен профил на WebSphere Application Server, например : /profiles/ представлява инсталационната директория за IBM HTTP сървъра, например: c:\IBM HTTP сървър

Глава 2. Диагностични данни 93

Таблица 2-1 Резюме на регистрационния файл Задачи Формат на регистрационни файлове / инструменти

Инсталационни задачи

Инсталация на WebSphere /logs/log.txt текст

Инсталация на IBM HTTP Server / текст

смля ihsv6_install.log смя gskitInstall.log

Примерно и IVT приложение /дневници/ текст

инсталация: ␂ DefaultApplication ␂ defaultapp_config.log ␂ ivtApp ␂ defaultapp_deploy.log ␂ query ␂ ivt_config.log ␂ PlantsByWebSphere ␂ query_config.log ␂ SamplesGallery ␂ samples_config.log s samples_install.log

Системно приложение WebSphere /logs/ текст

инсталация: ␂ filetransfer ␂ filetransfer_config.log ␂ filetransferSecured ␂ mejb.log ␂ ManagementEJB ␂ scheduler.cal_config.log ␂ SchedulerCalenders ␂ webui_config.log ␂ администраторска конзола

Задачи в профила

Съветник за създаване на профил /logs/pctLog.txt текст

/logs/waspro XML файл/wasprofile_create_.l og.

Приложение и системни задачи

Приложение print() и println() 2 /logs//: Текст.

␂ SystemOut.log1 JVM System.out и System.err ᐂ Административна конзола SystemErr.log1: потоци Отстраняване на неизправности → Регистрации и проследяване →→ Регистри на JVM 1 Конфигурируем 2 може да представлява местоположението на профила за сървър на приложения, агент на възел или мениджър на разполагане. Ако профилът е за агент на възел, е „агент на възел“. Ако профилът е за мениджър на внедряване, е "dmgr"

94 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Формат на регистрационни файлове на задачи / инструменти

WebSphere обработва регистрационни файлове на процеса в Text (сървърът трябва да бъде спрян

2 /logs//: за преглед с текстов редактор) ␂ native_stderr.log1 ␂ native_stdout.log1 административна конзола: Отстраняване на неизправности → Регистри и Проследяване →→Регистри на процеса

Оперативни задачи

Стартиране/спиране на сървър на приложения. /logs//: текст

стрес SystemOut.log1 стрес SystemErr.log1

Ако използвате startServer

-trace, вижте /logs//: ␂ startServer.log ␂stop stopServer.log

Стартиране/спиране на внедряване /logs/dmgr/: текст

мениджър ␂ SystemOut.log1 ␂ SystemErr.log1

/logs/dmgr/: добавете startServer.log добавете stopServer.log

Стартиране / спиране на агент на възел /logs/nodeagent/ текст

Ако използвате startNode -trace, вижте

/logs/nodeagent/ : ␂ startServer.log ␂ stopServer.log1 Configurable2 може да представлява местоположението на профила за сървър на приложения, агент на възел, или мениджър на разгръщане. Ако профилът е за агент на възел, е „агент на възел“. Ако профилът е за мениджър на внедряване, е "dmgr"

Глава 2. Диагностични данни 95

Задачи Регистри Формат / инструменти

Стартиране/спиране на клъстер Когато стартирате или спрете клъстер,

това действие се предприема на всеки сървър. Регистрирането е същото, както ако сте стартирали или спрели всеки сървър.

Конфигурационни задачи

Добавяне на възел към клетка /logs/: текст

␂ addNode.log ␂ runAddNode.log 1 Configurable 2 може да представлява местоположението на профила за сървър на приложения, агент на възел или мениджър на разполагане . Ако профилът е за агент на възел, е „агент на възел“. Ако профилът е за мениджър на внедряване, е "dmgr"

96 Откриване на проблеми с WebSphere Application Server V6 за разпределени платформи

Глава 3. Определяне на проблеми с инсталацията

Този документ обсъжда как да диагностицирате проблеми, свързани с инсталирането на WebSphere Application Server V6. Той обхваща действия и решения, свързани със следните проблеми с инсталацията: ␂ Launchpad или съветникът за инсталиране не се стартира ␂ Неуспешно инсталиране или увисване ␂ Неуспешно създаване на профил ␂ Неуспехи при инсталационен тест за проверка (IVT)

Инсталационната рутина за други продукти, като IBM HTTP сървър и добавки за уеб сървър, е отделна от продуктите на сървъра на приложения. Този документ обхваща само проблеми, които са свързани с инсталацията на WebSphere Application Server V6.

Важно: Препоръчваме ви да започнете своя процес за определяне на проблеми

като прочетете Подход за определяне на проблеми в WebSphere Application Server V6 на http://www.redbooks.ibm.com/redpapers/pdfs/redp4073 .pdf.

© Copyright IBM Corp. 2005. Всички права запазени. 97

3.1 Въведение Инсталационният процес за WebSphere Application Server V6 е променен спрямо предишните версии. Основната промяна е, че се инсталира само едно копие на основните продуктови файлове. Профилите се използват за дефиниране на множество сървърни среди за изпълнение.

Входната точка в инсталацията на WebSphere Application Server е панелът за стартиране (Фигура 3-1). От тук можете да изберете да стартирате съветника за инсталиране на WebSphere Application Server.

Фигура 3-1 Панел за стартиране за инсталация на WebSphere Application Server

98 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Фигура 3-2 предоставя общ преглед на инсталационните събития и общи проблеми, които са свързани с инсталацията.

LaunchPad Показва задачи за изпълнение

Често срещани проблеми Няма поддържан браузър, конфигурация на браузъра Недостатъчно дисково пространство

Често срещани проблеми Ниски ресурси като дисково пространство, виртуална памет Проблеми с JVM

Съветник за създаване на профил

Създаване на нов сървър за приложения, мениджър за разполагане, потребителски профил

Инструмент за проверка на инсталацията (IVT)

Проверете инсталацията

Фигура 3-2 Общ преглед на инсталационни събития, често срещани проблеми и регистрационни файлове

Глава 3. Определяне на проблеми при инсталация 99

Забележка: Във Фигура 3-2 на страница 99, Съветникът за инсталиране и съветникът за създаване на профил се показват като различни обекти. Това е, което ще видите, ако инсталирате версията Network Deployment. В базова или експресна инсталация на WebSphere Application Server, създаването на профил за профила по подразбиране става в самия съветник за инсталиране.

3.2 Работа с проблема

Започвате процеса на определяне на проблема, като оценявате симптомите от високо ниво, за да определите дали един от тези симптоми описва вашия проблем. Ако не стане, трябва да съберете подходящите данни, необходими за диагностициране на проблема.

Ако не намерите вашия симптом тук, отидете на "Следващата стъпка" на страница 113.

Възстановяване от неуспешна или увиснала инсталация:

В зависимост от състоянието, в което се намира системата, когато инсталацията е неуспешна или

увисне, може да се наложи да деинсталирате WebSphere Application Server ръчно преди да опитате отново процеса. WebSphere Information Center има подробни, специфични за платформата инструкции за деинсталиране на: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com.ibm.websphere.nd.doc/ info/ae/ae/tins_uninstman.html

100 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

3.2.1 Симптом: Launchpad или съветникът за инсталиране не се стартира или се проваля Този симптом покрива следните ситуации: ␂ Изпълнение на командата launchpad.bat в windows или скриптът launchpad.sh в UNIX среда не стартира панела за стартиране. ␂ Избирането на Стартиране на съветника за инсталиране за WebSphere Application Server от панела за стартиране не успява да стартира съветника за инсталиране или съветникът излиза със или без съобщение за грешка.

Възможните причини за вида на проблема включват изисквания за уеб браузър и изисквания за дисково пространство или разрешения.

Ако съветникът за инсталиране се стартира и работи известно време, но изглежда, че увисва, отидете на "Симптом: Съветникът за инсталиране увисва" на страница 103.

Глава 3. Определяне на проблеми с инсталацията 101

Ако този файл не съществува, стартирайте инсталатора от команден прозорец, като използвате опцията -log, за да създадете регистър на всички събития. - UNIX ./install -log !logfile @ALL - Windows install -log !logfile @ALL Където logfile е пълно име на файл за записване на събитията в журнала.

Докато събирате регистрационните файлове, копирайте ги на място, където можете да ги видите. Ако трябва да пресъздадете проблема, за да съберете тази документация, не забравяйте да се подготвите (планирайте часове извън смяната, прегледайте предпоставките и т.н.).

Какво да търсите

Проблемите при стартиране на панела за стартиране или съветника за инсталиране обикновено могат да бъдат проследени обратно до липсващи предпоставки за системни или приложни нива. Първата стъпка при диагностицирането на този проблем е да се уверите, че имате правилните предпоставки за инсталиране. Можете да намерите тази информация на: http://www-306.ibm.com/software/webservers/appserv/doc/latest/prereq.html

Проблеми при стартиране на панела за стартиране или съветника за инсталиране

Ако проблемът, който имате, е при стартирането на панела за стартиране, погледнете журнала IBM_WebSphere_LaunchPad_log.txt. Този регистрационен файл обикновено съдържа минимални съобщения, които показват кога е стартиран панелът за стартиране. В случай на грешка по време на стартиране, той може също да съдържа съобщения за грешка. Ако панелът за стартиране изобщо не стартира, тогава не се създава лог файл.

Проблеми в съветника за инсталиране

Инсталационните събития се инсталират в log.txt. Ако съветникът за инсталиране стартира, но не успее по време на инсталационния процес, потърсете в log.txt съобщения, които съдържат INSTCONFSUCCESS, INSTCONFPARTIALSUCCESS или INSTCONFFAILED, което може да показва текущото състояние на инсталацията.

Ако видите съобщенията INSTCONFPARTIALSUCCESS или INSTCONFFAILED, тогава

трябва да има съобщения за грешка или предупредителни съобщения пред тях (например съобщения, които показват проблеми с ресурсите, като например недостатъчно дисково пространство, изключения в JVM, грешки в сегментирането и т.н.).

102 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Грешка, подобна на следната, показва проблем с дисковото пространство: Не може да бъде намерена подходяща JVM. Моля, стартирайте програмата отново, като използвате опцията -is:javahome < НАЧАЛНА ДИРЕКТОРИЯ НА JAVA> Няма повече свободно място на устройството

Тази грешка показва, че няма достатъчно свободно място за инсталиране на програмата. Можете да получите тази грешка дори ако има достатъчно място там, където планирате да инсталирате WebSphere Application Server (например устройство D: или /usr).

Проверете дали местоположението на C:\Temp или %TEMP% в Windows или директорията /tmp в

UNIX има достатъчно свободно място за изпълнение на инсталатора. Трябва да проверите документа за инсталиране, за да определите точния размер на необходимото временно дисково пространство, обикновено минимум 100 MB.

Друг вариант е да използвате -is:tempdir със съветника за инсталиране, където tempdir е местоположението на временна директория в дял с достатъчно свободно пространство.

Ако отговаряте на предпоставките за инсталиране и все още не сте разрешили проблема си, отидете на "Следващата стъпка" на страница 113 за информация как да търсите известни проблеми с инсталирането.

3.2.2 Симптом: Съветникът за инсталиране увисва

По време на инсталирането се показва индикатор за напредък, за да ви покаже докъде е напреднала инсталацията. Ако няма промяна в индикатора за напредък за много лог време, инсталационният процес може да бъде преустановен.

При инсталация на WebSphere Application Server или WebSphere Application Server - Express

съветникът за инсталиране създава сървърен профил по подразбиране. Инсталаторът първо стартира процеса на копиране на файла и след това процеса на създаване на профил. В WebSphere Application Server Network Deployment това е процес в две стъпки. Инсталацията завършва, след което ще бъдете попитани дали искате да създадете профил.

Глава 3. Определяне на проблеми с инсталацията 103

Данни за събиране Ако инсталацията увисне, проверете следното: ␂ /logs/log.txt Ако инсталационната програма се провали на много ранен етап, тогава този лог файл може да не е създаден или може да съществува във временната област на системата, която е %TEMP%\log.txt в Windows или /tmp/log.txt в UNIX. За да сте сигурни, че получавате пълен списък на съобщенията в този журнал, стартирайте инсталатора от команден прозорец, като използвате опцията -log, за да създадете регистър на всички събития. - UNIX ./install -log !logfile @ALL - Windows install -log !logfile @ALL Където logfile е пълно име на файл за записване на събитията в журнала. ␂ /profiles//logs/pctLog.txt Този регистрационен файл се създава само когато се изпълни съветникът за създаване на профил. Този регистрационен файл не се създава при директно използване на командата wasprofile или по време на инсталиране на продукта.

Какво да търсите

Ако смятате, че процесът на инсталиране е увиснал, проверявайте периодично файла log.txt, за да видите дали има напредък. Съобщения като INSTCONFSUCCESS, INSTCONFPARTIALSUCCESS или INSTCONFFAILED в log.txt показват текущото състояние на инсталацията. Ако видите съобщенията INSTCONFPARTIALSUCCESS или INSTCONFFAILED, тогава трябва да има съобщения за грешка или предупреждение пред тях.

Също така проверете други системни дейности, като използване на процесора, използване на твърдия диск или каквато и да е мрежова активност (ако инсталирате отдалечено), за да се уверите, че няма външни фактори, които влияят на инсталацията.

Ако изглежда, че инсталацията е увиснала, потърсете последното записано съобщение в регистрационния файл. Това съобщение ви дава представа какво е правил инсталаторът, преди да увисне.

104 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Определете дали са възникнали грешки в процеса на копиране на файла Потърсете в log.txt запис като следния: (), Инсталиране, com.ibm .ws.install.ni.ismp.actions.ISMPConfigManagerLaunchAction, msg1, INSTCONFSUCCESS: Конфигурацията след инсталирането е успешна

Ако видите това съобщение, процесът на копиране на файла е завършил успешно. Ако не, проверете съобщенията в дневника за индикация за грешката.

Определете дали са възникнали грешки в процеса на създаване на профил

Ако копирането на файла е завършено успешно, всички съобщения за грешка след това показват проблеми при създаването на профил или с други последващи стъпки, включително примерно приложение и административна конзола внедряване на приложение. Потърсете следния запис в регистрационния файл (log.txt за WebSphere Application Server и WebSphere Application Server - Express, pctLog.txt за WebSphere Application Server Network Deployment): (), Инсталиране, com.ibm.ws.install.ni.ismp .actions.ISMPWSProfileLaunchAction, msg1, INSTCONFSUCCESS: Конфигурацията след инсталирането е успешна

Ако не виждате това съобщение, тогава има проблеми със създаването на профил. За да диагностицирате проблеми със създаването на профил, вижте "Симптом: Неуспешно създаване на профил" на страница 105.

От друга страна, ако видите това съобщение, създаването на профил е било успешно и е време да преоцените симптомите си. Отидете на "Следващата стъпка" на страница 113.

3.2.3 Симптом: Неуспешно създаване на профил

Профилите ви позволяват да дефинирате множество среди за изпълнение, всяка със собствен административен интерфейс, докато споделяте една и съща кодова база. Проблемите със създаването на профил може да се дължат на дълги пътища на директория, разрешения за файлове, проблеми с името на хоста и т.н.

Сървърният профил по подразбиране се създава като част от инсталационния процес в

WebSphere Application Server или WebSphere Application Server - Express инсталация. Съветникът за инсталиране на Network Deployment ви дава възможност да създадете профил. Профилите също могат да се създават по всяко време след инсталирането.

Глава 3. Определяне на проблеми с инсталацията 105

Данни за събиране Ако създаването на профил е неуспешно, проверете следното: ␂ /logs/wasprofile/wasprofile_create_.log Този лог файл се създава, когато инсталационната фаза приключи процеса на копиране на файл и започва създаването на профил по подразбиране. Този регистрационен файл също се създава при всяко изпълнение на съветника за създаване на профил или командата wasprofile. Този регистрационен файл проследява всички събития, възникнали по време на създаването на профил. Това е XML регистрационен файл и се преглежда най-добре от програма за преглед, която може да форматира XML, например уеб браузър или WordPad в Windows. Записите в този лог файл се състоят от записи. Примерен запис в журнал, който показва грешка, ще изглежда подобно на следното: 2005-07-19T14:18:53 1121762933500 2984 com.ibm.ws.install.configmanager.ConfigManager ПРЕДУПРЕЖДЕНИЕ com.ibm.ws.install.configmanager.ConfigManager executeAllActionsFound 11 Фатално конфигурационно действие е неуспешно: com.ibm.ws.install.configmanager.actionengine.ANTAction -C:\IBM\WAS\profileTemplates\managed\actions\ executeManagedProfileSetup.ant ваше /logs/log.txt

Следните регистрационни файлове се създават по време на създаването на профил. Те се намират в директорията /profiles//logs. Всеки регистрационен файл може или може да не съществува в зависимост от вида на създадения профил. ␂ pctLog.txt Създава се само когато се изпълни съветникът за създаване на профил. Този регистрационен файл не се създава при директно използване на командата wasprofile или по време на инсталиране на продукта. ␂ amjrte_config.log Регистър на конфигурацията на Tivoli Access Manager за неговата Java Runtime Environment. ␂ collect_metadata.log Събира информация за метаданни за управлявани обекти в системата, за да оцени и предотврати потенциални конфликти при инсталиране.

106 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

␂ createDefaultServer.log Регистрационен файл от wsadmin, записващ създаването на процеса server1 в профила по подразбиране. ␂ defaultapp_config.log JACL дневник на скрипта от конфигурирането на ресурсите на приложението по подразбиране ␂ Service.log Стартиране и спиране на събития за server1. ivt_config.log за приложението ivtAPP - mejb_config.log за приложението ManagementEJB - hamanager_config.log за приложението с висока достъпност - query_config.log за приложението Query - samples_config.log за примерното приложение PlantsByWebSphere - samples_install.log за SamplesGallery и PlantsByWebSphere примерни приложения - scheduler.cal_config.log за приложението SchedulerCalendars - webui_config.log за приложението на административната конзола - defaultapp_deploy.log за приложението DefaultApplication. SIBDefineChains.log Регистър за създаване за крайни точки на шина за интегриране на услуги, входящи канали и вериги от канали, пул изходящи нишки и изходящи канали и вериги на канали. ).

Какво да търсите

Съобщения като INSTCONFSUCCESS, INSTCONFPARTIALSUCCESS илиINSTCONFFAILED в log.txt или pctLog.txt показват текущото състояние на

Глава 3. Определяне на проблеми с инсталацията 107

инсталация. Ако видите съобщенията INSTCONFPARTIALSUCCESS или INSTCONFFAILED, тогава трябва да има съобщения за грешка или предупреждение пред тях.

Потърсете запис като следния:

(), Install, com.ibm.ws.install.ni.ismp.actions.ISMPWSProfileLaunchAction, err, INSTCONFFAILED: Не могат да се изпълнят необходимите конфигурационни действия след инсталация. Конфигурацията е неуспешна. Инсталацията не е успешна. Обърнете се към \install_root\logs\wasprofile\wasprofile_create_profilename.log за повече подробности

Ако видите този запис, погледнете wasprofile_create_.log, за да се опитате да

определите коя задача се изпълнява, когато създаването на профил е неуспешно. Повечето задачи, като инсталация на система или примерно приложение, се записват в отделни регистрационни файлове в директорията /profiles//logs. Ако можете да определите коя задача е изпълнявала създаването на профил, съберете файла за тази задача. Например, ако сте имали проблеми със създаването на персонализиран възел, погледнете регистрационния файл /profiles//logs/addNode.log за грешки.

За информация относно често срещани проблеми вижте „Проблеми със създаването на профил“ на

3.2.4 Симптом: IVT се проваля

IVT преглежда конфигурацията на профила за сървъра и търси сървър, работещ на номера на порта на сървъра. Обърнете внимание, че ако сървърът работи и работи на този порт, IVT работи срещу този сървър, дори и да не е този, който току-що сте инсталирали. Ако на този порт не работи сървър, IVT се опитва да стартира сървъра. Когато сървърът е стартиран успешно, IVT осъществява достъп до сървъра и изпълнява различни тестове, включително проверка на сървлет двигател, JSP проверка, EJB проверка и т.н.

Опцията за стартиране на IVT се показва в конзолата Първи стъпки след завършване на инсталацията и след всяко създаване на профил, с изключение на създаване на потребителски профил, тъй като всъщност не е създаден сървър.

Трябва да стартирате IVT, преди да направите промени в конфигурацията на WebSphere Application Server. Това действа като контролна точка, за да видите дали има някакви проблеми в резултат на инсталацията. Ако IVT работи чисто и проблемите се появят по-късно, те

108 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

най-вероятно се дължат на промени в конфигурацията, направени след инсталацията. Препоръчително е всички екземпляри на WebSphere Application Server да бъдат спрени, преди да стартирате IVT.

Повреда в IVT обикновено се дължи на това, че сървърът на приложения не успява да стартира. Често срещаните причини за това включват конфликти на портове, недостатъчна памет и т.н.

Какво да търсите

Първият файл, който трябва да разгледате в случай, че IVT е неуспешен, е ivtClient.log. Съобщенията с префикси IVTL и ADMU предоставят информация за това какво прави приложението IVT и състоянието на всяко действие.

Потърсете следното съобщение в ivtClient.log:

ADMUXXXXX: Име на сървъра на сървъра е отворен за електронен бизнес; идентификаторът на процеса е xxxx

Ако намерите това съобщение, тогава сървърът е стартиран успешно и IVT не е успял при изпълнението на един от тестовете. Проверете съобщенията за грешка inivtClient.log, за да намерите неуспешния процес.

Ако сървърът не стартира, вижте номерът на сървърния порт е: запис. Този запис съдържа номера на сървърния порт на екземпляра на профила. Уверете се, че този порт не се използва (вижте "Проблеми при стартиране на сървъра на приложения" на страница 111).

Глава 3. Определяне на проблеми при инсталиране 109

Ако изглежда, че портът не е проблемът, погледнете startServer.log, SystemErr.log и SystemOut.log за информация, свързана със стартирането на сървъра, като като следното: Потърсете всички съобщения за грешка, започващи с WSVR (време на изпълнение на сървъра) или ADMU (помощна програма за управление) в startServer.log и SystemOut.log. ␂ Потърсете съобщения за грешка в SystemErr.log. Тези съобщения ще започват с: [Дата и час] 0000000a SystemErr

Ако не можете да идентифицирате проблема, отидете на "Следващата стъпка" на страница 113.

3.3 Анализиране на проблемни области

Вашият анализ на данните, които сте събрали, най-вероятно ще ви отведе до една от следните области. Ако не, вижте "Следващата стъпка" на страница 113.

3.3.1 Изисквания за уеб браузър

Ако имате проблеми при стартирането на панела за стартиране, възможно е да не сте инсталирали или конфигурирали правилно поддържан уеб браузър. Ако случаят е такъв: ␂ Проверете дали е инсталирана най-новата версия на поддържан уеб браузър. Mozilla и Internet Explorer се поддържат за дейности по конфигуриране и инсталиране. ␂ На UNIX платформи се уверете, че местоположението на поддържания браузър е експортирано. Например, ако изпълнимият файл на Mozilla се намира в директорията /usr/bin, тогава експортирайте местоположението му, както следва: export BROWSER=/usr/bin/mozilla ␂ Уверете се, че JavaScript™ е активиран в опциите или предпочитанията на браузъра. Например: - В Mozilla изберете Edit → Preferences → Advanced → Scripts & Добавки - Активиране на JavaScript за: Навигатор, Разрешаване на скриптове за: (маркирайте всички полета) - В Internet Explorer изберете Инструменти → Опции за интернет → Защита → Персонализирано ниво за интернет скриптове → Активни скриптове → Активиране

Следната връзка дава специфична информация относно готовността на системата за инсталиране на WebSphere Application Server на RedHat Linux Enterprise Edition 4: http://www-1.ibm.com/support/docview.wss?uid=swg21201306

110 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

3.3.2 Проблеми при стартиране на сървър на приложения По време на създаването на профил е важно номерата на портовете, които са посочени за всяка от услугите на WebSphere Application Server, да са единствен по рода си. Помощникът за създаване на профил по подразбиране се опитва да дефинира номера на портове, които не са в конфликт с други профили в инсталацията. Възможно е обаче също така да има други приложения, използващи същите номера на портове (например по-стари версии на WebSphere Application Server в среда на съвместно съществуване или среда за тестване на единица на Rational Application Developer).

Ако сървър на приложения не се стартира по време на IVT процеса или по-късно с помощта на командата startServer, потърсете следното съобщение в startServer.log: ADMYUXXXXX: екземпляр на сървъра може вече да работи: server1

Това съобщение показва, че друго копие на сървъра вече работи или друг процес използва същия номер на порт.

За да разрешите проблема, направете следното:

␂ Използвайте командата serverStatus, за да определите дали екземплярът на сървъра, който се опитвате да стартирате, вече е стартиран. ␂ Прегледайте портовете, които се изискват от процеса на сървъра на приложения. Можете да ги видите в: /profiles//config/cells//nodes// serverindex.xml ␂ Избройте портовете, които в момента се използват от системата. Един от начините да направите това е чрез издаване на команда netstat -a в прозорец на командния ред. Ако имате конфликт на портове, актуализирайте файла serverindex.xml, за да използвате неконфликтен номер на порт.

Глава 3. Определяне на проблеми при инсталирането 111

3.3.3 Проблеми при създаването на профил Следните са често срещани проблеми при създаването на профил.

Грешки в дължината на пътя на файла

Windows 2000 има ограничение за дължина от 258 знака за команда. Може да възникне проблем, който предотвратява успешното създаване на профил, когато пътят е твърде дълъг. Максималната дължина на директорията е 60 знака. Максималната дължина на основната директория за инсталиране на профили е 80 знака.

Ако вашите регистрационни файлове имат грешки, подобни на Входящият ред е твърде дълъг, тогава дължината на пътя на файла и името на възела в командния низ е причинила цялата команда да надхвърли ограничението на операционната система за дължина на командата.

Тази грешка може да се покаже в поле за съобщение по време на съветника или ако използвате wasprofile, в /profiles//logs/collect_metadata.log.

Създайте отново профила, като използвате по-къси пътища на директории и имена на възли. Ако все още сте в процеса на инсталиране, помислете за повторно инсталиране, като използвате по-кратък път за корена на инсталацията.

Грешка в името на хост

Ако видите грешки, подобни на localhost не е валидно име на хост за отдалечен достъп, значи сте въвели localhost като стойност в полето за име на хост на съветника за създаване на профил. Други машини в мрежата не могат да достигнат до вашия възел чрез localhost, така че трябва да предоставите име на хост, което може да бъде преобразувано от други системи в IP адреса на вашата система.

Грешка в пътя на шаблона

Ако в UNIX среда получите грешка, подобна на следната, проверете местоположението на шаблоните на профили и разрешенията са правилни: Входящият команден ред е: { "-create" ,"- помощ" ,"-templatesPath" ,"/opt/WebSphere/AppServer/crso/profileTemplates/managed" } Не може да се разреши templatePath от командния ред

Грешка в персонализиран профил

Ако възникне грешка при създаването на персонализиран профил, погледнете файла addNode.log за допълнителни грешки. Потърсете съобщение за грешка, подобно на следното: [Клеймо за дата и час] 0000000a AbstractNodeC E ADMU0006E: Изключение, създаващо връзка с Deployment Manager: com.ibm.websphere.management.exception.ConnectorException: ADMC0016E: Системата не може да създаде SOAP конектор за свързване за хост име на хост на порт 8879

112 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Ако видите това съобщение, вероятно профилът на мениджъра за разполагане не работи. Уверете се, че профилът на мениджъра за разполагане е създаден и работи на посочения порт и хост, преди да създадете потребителски профил.

Ако нито едно от тези съобщения не се появи и не виждате други очевидни проблеми, отидете на "Следващата стъпка" на страница 113.

3.4 Следващата стъпка

Симптомите и проблемните области, включени в този документ, са някои, които е по-вероятно да изпитате. Има обаче и други неща, които могат да се объркат по време на инсталацията.

Прегледайте класификациите на проблемите, за да видите дали има други компоненти, които може да причиняват проблема.

Вижте също документацията на WebSphere Information Center за допълнителни

ресурси за диагностициране и коригиране на проблеми: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic =/ com.ibm.websphere.base.doc/info/aes/ae/rtrb_allrfl.html

Глава 3. Определяне на проблеми при инсталиране 113

114 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи 4

Глава 4. Управление на системата

определяне на проблеми Тази статия обсъжда техники за определяне на причината за проблеми с управлението на системата на WebSphere Application Server. Симптомите, които се обсъждат в този документ, са: ␂ Нямате достъп до административната конзола. ␂ Не можете да осъществявате достъп до сървърните процеси, като използвате wsadmin или скриптовете за управление, като stopServer. ␂ Получавате грешки при изпълнение на функции за управление на системата (например управление на сървъри на приложения, агенти на възли, уеб сървъри или приложения). ␂ Не можете да обедините възел с мениджър за разполагане. ␂ Получавате съобщения за конфликт при запазване в административната конзола. ␂ Вашите корпоративни приложения вече не се показват в административната конзола. ␂ Имате проблеми с WebSphere Rapid Deployment. ␂ Имате проблеми с комуникацията чрез SSL и получавате съобщения, които показват, че вашите сертификати са изтекли.

Важно: Препоръчваме ви да започнете своя процес за определяне на проблеми

като прочетете Подход за определяне на проблеми в WebSphere Application Server V6 на http://www.redbooks.ibm.com/redpapers/pdfs/redp4073 .pdf.

© Copyright IBM Corp. 2005. Всички права запазени. 115

4.1 Въведение В тази статия разглеждаме разрешаването на проблеми, които възникват по време на дейности по управление на системата. Конфигурацията на WebSphere Application Server се поддържа в XML файлове. XML файловете се поддържат в структура на директория, която отразява топологията на вашата инсталация на WebSphere Application Server (Фигура 4-1).

конфигурационно хранилище

Административна конзола

wsadmin

WebSphere WebSphere сървър сървър

Фигура 4-1 Общ преглед на системното администриране

Административната конзола на WebSphere и инструментът за администриране на командния ред wsadmin

четат, поддържат и модифицират съдържанието на XML файловете.

Горещо ви препоръчваме редовно да архивирате конфигурационното хранилище

. Можете или да архивирате хранилището ръчно чрез архивиране на файлова система, или можете да използвате доставения инструмент backupConfig на WebSphere Application Server. Този скрипт създава компресиран файл, който съдържа всички конфигурационни файлове, които може да са ви необходими, за да възстановите конфигурацията на WebSphere Application Server.

Съвет: Директното редактиране на XML файловете в хранилището не се поддържа и може да доведе до неочаквани резултати.

116 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

На най-основното ниво, което е самостоятелна инсталация на един WebSphereApplication Server, конфигурационната директория е както е показано на Фигура 4-2 . Показаните XML файлове съдържат данните, които се форматират от административната конзола и се показват в различните полета и текстови полета в браузъра.

Фигура 4-2 Конфигурационни директории и файлове

Административната конзола и другите инструменти за управление извикват beans за управление (MBeans) в процеса на WebSphere Application Server. MBeans се използват от WebSphere Application Server за изпълнение на функции за управление на системата.

В среда за мрежово разполагане мениджърът за разполагане поддържа

главното хранилище за всички възли и сървъри на WebSphere Application Server, които управлява в клетката. Копията на файловете, от които се нуждае всеки възел, се репликират към този възел чрез процес, известен като синхронизация.

Глава 4. Определяне на проблеми при управлението на системата 117

Хранилище на главния мениджър за внедряване

C e ll

Агент на възел Агент на възел

Node01 Node02

Node01 Node02 Хранилище Репозито ри

Фигура 4-3 Репликирано администраторско хранилище

Само променените файлове се синхронизират, така че дори ако системата ви извършва

автоматична синхронизация всяка минута (интервалът по подразбиране), това ще има минимално въздействие върху производителността, тъй като агентът на възел ще се свърже с мениджъра за разполагане и ще му бъде казано, че нищо не се е променило.

Можете ръчно да инициирате синхронизиране с помощта на административната конзола, като

изберете Системна администрация → Възли, поставите отметка до възела, който искате да синхронизирате, и след това щракнете върху Синхронизиране или Пълно повторно синхронизиране.

Избирането на Синхронизиране синхронизира само промените, за които административната

конзола е наясно с помощта на нормалния механизъм за синхронизиране. Избирането на пълно повторно синхронизиране синхронизира всички промени, които са направени в главното хранилище по какъвто и да е начин. Например, ако трябваше да редактирате главното копие на файла server.xml с текстов редактор, щракването върху Синхронизиране не репликира този файл към възела. Ако щракнете върху Пълно повторно синхронизиране, вашите актуализации се репликират.

118 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Можете също да извършите синхронизация от агента на възела, като използвате скрипта thesyncNode.bat|sh. Трябва да спрете агента на възела, за да използвате този инструмент. Можете да предавате параметри на скрипта, за да регистрирате съобщения в определен файл или да проследите синхронизацията.

Забележка: Можете също да извършите синхронизиране с помощта на инструмента wsadmin. Вижте WebSphere Information Center за повече подробности.

Съвет: Синхронизирането не предпазва от загуба на цялото ви репликирано хранилище. Конфигурационните файлове на агента на възел трябва да съществуват, за да работи синхронизацията. Това не е заместител на цялостна политика за архивиране.

Разработчиците на приложения могат бързо да създадат нов чист профил, за да тестват

приложение и след това да премахнат този профил, когато тестването приключи.

Профилите се създават или от съветника за създаване на графичен профил, или от командата wasprofile и се управляват чрез командата wasprofile.

Потребителският регистър съдържа имената, членствата в групи, ролите и паролите на потребителите в дадена организация. На най-базовото ниво повечето операционни системи

Глава 4. Определяне на проблеми с управлението на системата 119

съдържат потребителски регистър, така че потребителите да могат да влизат с потребителско име и парола и да имат достъп до ресурсите на операционната система. На по-сложно ниво, голяма разпределена организация може да поддържа пълен списък от потребители, включително техните пароли, лична информация, членство в група и работни роли в разпределено LDAP хранилище.

Ако имате множество инсталации на WebSphere Application Server на множество

сървъри, които трябва да защитите, тогава трябва да използвате LDAP регистър, така че същият регистър да е достъпен за всички сървъри.

Можете да кодирате паролите в тези файлове, за да предотвратите лесното им четене, като използвате помощната програма за кодиране на пароли: /bin/PropFilePasswordEncoder.bat|sh

Когато защитата е активирана, WebSphere Application Server използва SSL за

комуникация от браузъра към административната конзола и за други административни комуникации. SSL комуникацията разчита на файл с ключова база данни и парола. WebSphere Application Server се доставя с фиктивен ключов файл с база данни, който е защитен с паролата WebAS. Силно препоръчваме

120 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

че създавате свой собствен файл с ключова база данни за производствени сървъри. Обърнете се към WebSphere Information Center за подробности относно персонализирането на ключовата база данни: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/ aes/ae/tsec_preparetruststorefile.html

Отново можете да кодирате паролите в тези файлове.

WebSphere Rapid Deployment

WebSphere Rapid Deployment е нова функция в WebSphere ApplicationServer V6, която опростява и ускорява процеса на внедряване на корпоративни приложения или техни компоненти за целите на разработката. WebSphere RapidDeployment е съкратена версия на Eclipse IDE и работи в пакетен режим.

WebSphere Rapid Deployment е процес на преден план, който наблюдава избрана

директория. Ако разработчикът копира EAR файл на корпоративно приложение в това местоположение, WebSphere Rapid Deployment открива новия EAR и автоматично го внедрява в WebSphere Application Server. Фигура 4-4 показва компонентите на WebSphere Rapid Deployment.

Фигура 4-4 Компоненти на WebSphere Rapid Deployment

Глава 4. Определяне на проблеми с управлението на системата 121

WebSphere Rapid Deployment е предназначен само за среди за разработка, за да опрости процеса на тестване на актуализации на приложения. Не е предназначен за производствени среди, където не искате производственият код да се актуализира лесно. Поради тази причина процесът на WebSphere Rapid Deployment работи само на преден план.

4.1.1 Събиране на данни

Трябва да съберете следните регистрационни файлове и данни за определяне на проблеми с управлението на системата: ␂ регистрационни файлове на WebSphere Application Server ␂ изход от wsadmin ␂ регистрационни файлове на скриптове за управление ␂ регистрационни файлове за управление на профили ␂ WebSphere Rapid Дневници на разработката

Ако проблемът е труден за пресъздаване или пречи на бизнес операциите, вижте

„Следващата стъпка“ на страница 162 за пълен списък с документация, която да съберете, преди да продължите. По-специално, трябва да прегледате документите на MustGather за пълен списък с документация, която се изисква от поддръжката на IBM.

Регистрационни файлове на WebSphere Application Server

Трябва да погледнете регистрационните файлове на WebSphere Application Server, когато диагностицирате проблеми с управлението на системата.

122 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Сървър на приложения При някои типове проблеми може също да се наложи да прегледате регистрационните файлове за сървъра на приложения, който се опитвате да управлявате. Тези регистрационни файлове са:/profiles//logs//SystemOut.log/profiles//logs//SystemErr.log

Проследяване на управлението на системата

Повечето проблеми с управлението на системата могат да бъдат проследени чрез задаване на следния низ за проследяване: Admin=all

Ако не можете да се свържете с административната конзола на WebSphere или wsadmin, вие

можете да зададете проследяване, като актуализирате файла server.xml за сървъра на приложения, който трябва да проследите. Можете да намерите файла server.xml под записа на сървъра в структурата на директорията на конфигурационния файл:/profiles//config/cells//nodes//servers//server.xml

Глава 4. Определяне на проблеми с управлението на системата 123

Отворете този файл в текстов редактор и актуализирайте маркера на услугите, като промените startupTraceSpecification на низа за проследяване, който ви е необходим, както е показано в Пример 4-1.

Пример 4-1 Задаване на низа за проследяване в server.xml

Трябва да рестартирате сървъра, за да влезе в сила това.

Изход от wsadmin Съобщенията от wsadmin се записват в wsadmin.traceout лог файл: /profiles//logs/wsadmin.traceout

Можете също да увеличите количеството данни, които се регистрират в този файл, като проследите помощната програма wsadmin. Актуализирайте следния файл: /properties/wsadmin.properties

Разкоментирайте реда:

com.ibm.ws.scripting.traceString=com.ibm.*=all=enabled

Имайте предвид, че информацията, която се регистрира, е с ограничена употреба, тъй като wsadmin извиква MBeans в сървъра на приложения, който изпълнява приложението на административната конзола. Обикновено трябва да проследите и сървъра на приложения.

Журнали на скриптове за управление

Услугите на WebSphere Application Server могат да се управляват с помощта на предоставените скриптове за управление. Например, всяка инсталация на WebSphere Application Server има скрипт за стартиране на сървър на приложения, скрипт за спиране на сървър на приложения и скрипт, който да ви покаже състоянието на всички сървъри на приложения, които са дефинирани в профил. Всеки от тези скриптове записва свой собствен лог файл в директорията с регистрационни файлове на сървъра. Например скриптът stopServer записва stopServer.log в директорията logs:

/profiles//logs//stopServer.log

Регистрационни файлове за управление на профили

Инструментът за създаване и управление на профили wasprofile записва съобщения в директорията с независими регистрационни файлове на профила, а именно: /logs/wasprofile/.log

Този регистрационен файл е в XML формат.

124 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Графичният интерфейс на Java, който се използва за създаване на профил, просто извиква wasprofile команда след събиране на необходимата информация. По подразбиране не записва журнал. Можете обаче да му предадете параметър на журнал, както е показано: pctWindows -is:log c:\temp\pct.log

Дневници на WebSphere Rapid Development

Инструментът WebSphere Rapid Deployment работи в директория, която създавате и предавате на WebSphere Rapid Deployment в променливата на средата WORKSPACE. Той регистрира съобщенията на Eclipse в два отделни файла в тази директория: ␂ /.metadata/.log ␂ /project/.metadata/.log

Подобно на други помощни програми на WebSphere Application Server, WebSphere Rapid

Deployment извиква MBeans на сървъра на приложения. Регистрационните файлове на сървъра на приложения могат да ви помогнат да разрешите проблем с WebSphere Rapid Deployment. Няма начин да се проследи помощната програма WebSphere Rapid Deployment. Можете обаче да проследите сървъра на приложения, както е описано в "Регистрационни файлове на WebSphere Application Server" на страница 122.

Забележка: В UNIX среда файловете и директориите, започващи с точка (.), са скрити. Трябва да предадете параметъра -a на командата ls, за да ги видите.

4.2 Работа с проблема

Започвате процеса на определяне на проблема, като оценявате симптомите на високо ниво, за да определите дали някой от тях описва вашия проблем. Ако не, вие събирате подходящите данни, които са необходими за диагностициране на проблема.

4.2.1 Анализ на симптомите на високо ниво

Нека започнем да работим с проблема: ␂ Ако не можете да получите достъп до административната конзола на WebSphere, отидете на „Проблем: Невъзможен достъп до административната конзола“ на стр. 127. ⑐ Ако използвате wsadmin или скриптове за управление като stopServer, но тези администраторски инструменти нямат достъп до процеса на сървъра, отидете на "Проблем: wsadmin или скриптовете за управление не могат да осъществят достъп до сървъра" на страница 130.

Глава 4. Определяне на проблеми с управлението на системата 125

␂ Ако се опитвате да изпълнявате административни задачи срещу процеси на WebSphere Application Server (като стартиране или спиране на сървър), помислете за следните ситуации: - Ако не могат да спрат сървър на приложения, отидете на "Проблем: Не може да се спре сървърен процес" на страница 133. - Ако не можете да стартирате сървър на приложения, отидете на "Проблем: Не може да се стартира сървърен процес" на страница 135 - Ако мениджърът за разполагане не комуникира с агент на възел, отидете на "Проблем: Невъзможен достъп до агент на възел" на страница 137. - Ако не можете да управлявате уеб сървър от административните инструменти на WebSphere, отидете на "Проблем : Не може да се управлява уеб сървър" на страница 138. - Ако не можете да управлявате (стартирате, спрете, инсталирате) приложение, отидете на "Проблем: Не можете да управлявате приложения" на страница 141. ␂ Ако не можете да се обедините възел с мениджър за разполагане, отидете на „Проблем: Неуспешно добавяне на възел към мениджър за разполагане“ на страница 143. ␂ Ако правите промени в административната конзола и получавате съобщения, които ви предупреждават за конфликт при запазване, отидете на „Проблем: Запазване на конфликти в административната конзола" на страница 150. ␂ Ако корпоративните приложения вече не се показват в административната конзола, отидете на „Проблем: липсват корпоративни приложения" на страница 151. ⑐ Ако имате проблем с комуникацията със системата си чрез SSL или сте получавате съобщения, че вашите сертификати са изтекли, отидете на „Проблем: Невалидни или изтекли сертификати“ на страница 153 ␂ Ако имате проблеми с WebSphere Rapid Deployment, отидете на „Проблем: WebSphere Rapid Deployment“ на страница 158. ␂ Ако не можете да създадете , изтрийте или актуализирайте профили на WebSphere Application Server, вижте WebSphere Application Server V6: Определяне на проблеми при инсталиране на: http://www.redbooks.ibm.com/redpapers/pdfs/redp4068.pdf

Накъде да отидете от тук: Ако, след като откриете вашия симптом и отидете на съответния раздел, или ако никой от тези симптоми не прилича на вашия проблем, отидете на „Следващата стъпка“ на страница 162.

126 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

4.3 Анализиране на проблемни области Вашият анализ на данните, които сте събрали, най-вероятно ще ви отведе до една от следните проблемни области. Ако не, вижте "Следващата стъпка" на страница 162.

4.3.1 Проблем: Няма достъп до административната конзола

Опитвате се да получите достъп до административната конзола на WebSphere и страницата за вход не се показва. Вместо това виждате празна страница или грешка HTTP 404, грешка „Страницата не е намерена“.

Срещате този проблем веднага след инсталиране на WebSphere Application

Server, след активиране на защитата, след добавяне на възел към мениджъра за разполагане или след рестартиране на процеса на WebSphere Application Server.

В среда за мрежово внедряване процесът ще се изпълнява в мениджъра за внедряване

. В среда на самостоятелен сървър процесът ще се изпълнява в сървъра (server1).

Може също да се наложи да вземете администраторско проследяване и проследяване на сигурността, в зависимост от проблема. Вижте "Събиране на данни" на страница 122 за подробности.

Какво да търсите

Този проблем може да възникне, защото сървърът, който хоства административната конзола, не работи или се опитвате да се свържете с грешен номер на порт. Това може да възникне и ако файловете на административната конзола са били случайно изтрити или защитата е неправилно конфигурирана.

Проверете номера на порта и URL

По подразбиране достъпът до административната конзола е през следния URL адрес: http://:9060/ibm/console

Портът обаче може да се конфигурира и ако на една машина са инсталирани няколко профила, портът може да е различен от стандартния.

Прегледайте SystemOut.log на WebSphere Application Server, за да се уверите, че

административната конзола е стартирана. Ще видите съобщения, подобни на тези в Пример 4-2 на страница 128, които ви показват, че административната конзола е стартирана и на кой порт слуша административната конзола.

Глава 4. Определяне на проблеми с управлението на системата 127

Пример 4-2 Съобщения за стартиране на административната конзола [6/22/05 9:58:31:342 EDT] 0000001b ApplicationMg A WSVR0221I: Приложението е стартирано: adminconsole [6/22/05 9:58:31:492 EDT] 0000000a TCPChannel A TCPC0001I: TCP канал TCP_1 слуша на хост * (IPv4) порт 9060.

Фигура 4-5 Номер на порт на административната конзола

Уверете се, че се свързвате към правилния сървър на правилния номер на порт, например: http://localhost:9060/ibm/console

Проверете дали приложението adminconsole е стартирано

Ако административната конзола не успее да се стартира, ще видите грешки, подобни на показаните в пример 4-3.

Пример 4-3 Съобщения за грешка на административната конзола

[7/3/05 15:10:29:359 EDT] 0000000a DeployedAppli E WSVR0100W: Възникна грешка при инициализиране, adminconsolejava.io.FileNotFoundException: C :\IBM\WAS6\AppServer\systemApps\adminconsole.ear\deployment.xml(Системата не може да намери посочения път) в java.io.FileInputStream.open(Собствен метод)

128 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Забележка: В WebSphere Application Server V6 приложенията adminconsole.ear и filetransfer.ear вече не се показват като инсталирани приложения и не могат да се управляват в същото начин, както другите приложения. Това се прави, за да се предотврати случайното им деинсталиране.

Проверете конфигурацията за защита

Може да не успеете да осъществите достъп до приложението на административната конзола, ако защитата е активирана поради проблем с цифровите сертификати, които се използват за настройка на SSL комуникация между вашия браузър и WebSphere Application Server .Ако случаят е такъв, ще имате достъп до други приложения на сървъра за приложения, които не използват SSL без никакви проблеми. Обърнете се към "Проблем: Невалидни или изтекли сертификати" на страница 153 за подробности.

Ако проблемът ви не се разреши чрез коригиране на невалидни сертификати, можете да потвърдите, че е свързан със сигурността, като изключите защитата и тествате отново.

Можете да намерите файла security.xml в структурата на конфигурационната директория под: /profiles//config/cells//security.xml

Трябва да рестартирате сървъра, за да влезе в сила тази промяна.

Глава 4. Определяне на проблеми с управлението на системата 129

4.3.2 Проблем: wsadmin или скриптовете за управление не могат да осъществят достъп до сървъра Опитвате се да използвате wsadmin за управление на вашата система, но не можете да се свържете с процес на сървър на приложения или не получават отговор от wsadmin.

Имате този проблем, когато се опитвате да използвате предоставените скриптове за управление, като stopServer.bat или serverStatus.bat.

Срещате този проблем веднага след инсталирането на WebSphere Application

Server, след активиране на защитата, след добавяне на възел към мениджъра за разполагане или след рестартиране на WebSphere Application Server сървър.

Ако се опитвате да управлявате услуга с помощта на скрипт за управление, като например

stopServer.bat, тогава имате нужда от лог файла от този скрипт (stopServer.log) и евентуално следа от този скрипт .

Какво да търсите

Този проблем може да възникне, защото сървърът на приложения, към който се опитвате да се свържете, не работи или се опитвате да се свържете с грешен номер на порт.

Помощната програма wsadmin се свързва към сървър на приложения в самостоятелна

среда или мениджър за разполагане в разпределена среда. Следната грешка показва, че не може да се установи връзка: WASX7023E: Грешка при създаване на "SOAP" връзка към хост "име на хост"

Уверете се, че сървърът на приложения работи и че използвате правилния номер на порт за свързване към сървъра на приложения или мениджъра за разполагане.

Проверете номера на порта

Можете да определите към кой сървър се опитва да се свърже wsadmin и на какъв порт, като погледнете файла wsadmin.properties. Този файл е в структурата на директорията на профила: /profiles//properties/wsadmin.properties

130 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Пример 4-4 показва името на хоста и номера на порта, които wsadmin използва по подразбиране.

Пример 4-4 SOAP хост и порт за самостоятелен сървър

com.ibm.ws.scripting.host=localhostcom.ibm.ws.scripting.port=8879

Можете да сравните това със записа в SystemOut.log от сървъра на приложения, който ви казва на кой порт сървърът на приложения всъщност слуша за SOAP връзки, както е показано в пример 4-5.

Пример 4-5 SOAP конектор номер на порт от SystemOut.log

[7/8/05 14:19:55:445 EDT] 0000000a JMXSoapAdapte A ADMC0013I: SOAP конекторът е достъпен на порт 8880

Алтернативно, можете да предадете номера на порта на wsadmin с -portparameter:wsadmin -host kll6571 -port 8880

При инсталация на мрежово внедряване wsadmin се опитва да изпрати заявки до

мениджъра за внедряване. Отново файлът wsadmin.properties съдържа името на хоста и номера на порта на процеса на мениджъра за разполагане. Като използвате параметрите -host и -port, можете да използвате wsadmin за директно свързване към процес, различен от мениджъра за разполагане. Например можете да се свържете директно с агент на възел или отдалечен сървър на приложения. Пример 4-6 показва връзка с агент на възел и след това издаване на команда stopServer.

Пример 4-6 Свързване директно към агент на възел с помощта на wsadmin

$ ./wsadmin.bat -host m23vnx60.itso.ral.ibm.com -port 8881WASX7209I: Свързан към процес "nodeagent" на възел m23vnx60Node01 с помощта на SOAPконектор; Типът на процеса е: NodeAgentWASX7029I: За помощ въведете: "$Help help"wsadmin>$AdminControl stopServer nodeagentWASX7337I: Извикано спиране за сървър "nodeagent" Изчаква спиране завършване.

Глава 4. Определяне на проблеми с управлението на системата 131

Забележка: В Пример 4-6 няма да получите допълнителен отговор, защото сървърът се изключва. Използвайте Ctrl+c, за да излезете от помощната програма.

Проверете дали сървърът на приложения работи

Можете да използвате командата netstat, за да се уверите, че даден процес слуша на порта. Пример 4-7 показва резултата от командата netstat, който е филтриран с инструмента grep, за да показва само редове, съдържащи низа 8880.

Пример 4-7 netstat изход

C:\IBM\WAS6\AppServer\profiles\StandAlone\bin>netstat -an|grep 8880 TCP 0.0.0.0:8880 0.0.0.0:0 СЛУШАНЕ TCP 9.42.171.145:8880 9.42.171.145:1114 CLOSE_WAIT TCP 127.0.0.1:8880 127.0.0.1:1122 CLOSE_WAIT TCP 127.0.0.1:8880 127.0.0.1:1161 CLOSE_WAIT

Забележка: Командата netstat е достъпна както в UNIX, така и в Windows. Командата grep е налична в UNIX по подразбиране и можете да изтеглите безплатни копия на grep за Windows.

Можете също така да използвате командата telnet, за да опитате да получите връзка с името на хоста и порта, както е показано в Пример 4-8.

Пример 4-8 Използване на telnet за тестване на порт

C:\IBM\WAS6\AppServer\profiles\StandAlone\bin>telnet localhost 8880 Свързване към localhost... Не може да се отвори връзка към хост на порт 8880: Свързването е неуспешно

Имайте предвид, че дори и да можете да се свържете, няма да можете да направите нищо, защото WebSphere Application Server не отговаря на telnet команди. Можете да затворите вашата telnet сесия, като натиснете Ctrl+c.

Ако telnet не може да се свърже, тогава сървърът не е стартиран или не приема никаква форма на връзка. Опитайте да рестартирате сървъра за приложения. Вероятно трябва да убиете Java процеса, защото той няма да приеме командата stopServer.

132 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Проверете конфигурацията на защитата Ако защитата е активирана, тогава трябва да подадете потребителско име и парола на wsadmin, за да се свържете. Ако не подадете потребителско име или парола или ги объркате, получавате грешка при свързване, както е показано в Пример 4-9

Пример 4-9 Неправилно потребителско име или парола

WASX7246E: Не може да се установи "SOAP" връзка с хост "localhost" поради неуспешно удостоверяване. Уверете се, че потребителят и паролата са правилни в командния ред или във файл със свойства. Съобщение за изключение (ако има): "ADMN0022E: Достъпът е отказан за операцията getProcessType на Server MBean поради недостатъчни или празни идентификационни данни."

Може да не успеете да се свържете със сървъра на приложения или мениджъра за внедряване

, ако защитата е активирана, поради проблем с цифровите сертификати, които се използват за настройка на SSL комуникация. Вижте "Проблем: Невалидни или изтекли сертификати" на страница 153 за подробности.

4.3.3 Проблем: Не може да се спре сървърен процес

Опитвате се да спрете сървър на приложения през административната конзола, но получавате съобщения за грешка.

Ако се опитвате да управлявате сървър с помощта на скрипт за управление, като например

stopServer.bat, тогава имате нужда от лог файла от този скрипт (stopServer.log) и евентуално следа от този скрипт .

Глава 4. Определяне на проблеми с управлението на системата 133

Какво да търсите Фигура 4-6 показва резултата, който бихте видели в административната конзола, ако се опитате да спрете сървър на приложения, който е увиснал. Изчакването на заявката за спиране отнема известно време.

Фигура 4-6 Грешка в административната конзола при спиране на сървър на приложения

В този случай SystemOut.log за мениджъра за разполагане най-вероятно няма да съдържа никакви съответни съобщения. В SystemOut.log за агента на възела обаче може да видите съобщения, подобни на тези, показани в Пример 4-10.

Пример 4-10 Грешка на агент на възел при спиране на сървър на приложения

[7/11/05 13:51:54:207 EDT] 0000000d ThreadMonitor W WSVR0605W: Нишка"SoapConnectorThreadPool: 6" (00000032) е бил активен от 607027 милисекунди и може да не работи. Има/са общо 1 нишка(и) в сървъра, която може да бъде увиснала.

В този пример проблемът е, че сървърът на приложения е увиснал и не може да отговаря на заявки. Може също да видите ситуация, в която агентът на възел е увиснал, както е показано в Пример 4-11.

Пример 4-11 Съобщения за грешка на агент на прекъснат възел

[7/11/05 14:19:00:918 EDT] 0000000f ThreadMonitor W WSVR0605W: Нишка „WebContainer : 1“(00000038) е била активен за 619290 милисекунди и може да бъде увиснал. Има/са общо 1 нишка(и) в сървъра, които може да бъдат увиснали.

В случай, че агентът на възела е увиснал, административната конзола в крайна сметка ще изтече след поне 10 минути. Ще видите съобщение в SystemOut.log на мениджъра за разполагане преди времето за изчакване.

Забележка: В диспечера на задачите на Windows идентификаторът на процеса не се показва по подразбиране. Можете обаче да добавите идентификатора на процеса (PID), като използвате опцията Изглед → Избор на колони.

134 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Спирането на увиснал процес е просто заобиколно решение. Истинският проблем е увисването.

4.3.4 Проблем: Не може да се стартира сървърен процес

Ако не можете да стартирате сървър на приложения, проблемът вероятно е грешка в конфигурацията или приложението. Както административната конзола, така и резултатът от скрипта startServer ще върнат грешка, казвайки ви къде да търсите.

Забележка: Очертаните тук стъпки са валидни и за мениджър на разполагане или агент на възел.

Данни за събиране Ако се опитвате да стартирате сървъра през административната конзола, отворете команден прозорец и опитайте да стартирате сървъра с помощта на командата startServer.

Ако тези журнали не изясняват причината за проблема, може също да се наложи да проследите скрипта.

Какво да търсите

Когато сървърът не успее да се стартира, трябва да прегледате изхода от командата startServer и регистрационните файлове за този сървър на приложения за съобщения, които ви казват в кой момент сървърът е неуспешен.

Пример 4-12 показва резултата от команда startServer, която показва защо сървърът няма да стартира.

Пример 4-12 Не може да се стартира сървър от командния ред

C:\IBM\WAS6\AppServer\profiles\StandAlone\bin>startserver сървър1 ADMU7701I: Тъй като сървър1 е регистриран да работи като Windows Service, заявката за стартиране на този сървър ще бъде завършена чрез стартиране на свързаната Windows услуга. ADMU0116I: Информацията за инструмента се записва във файла

Глава 4. Определяне на проблеми с управлението на системата 135

сървърът server1 вече работи b) някакъв друг процес използва порт 8880 ADMU3027E: Екземпляр на сървъра може вече да работи: server1 ADMU0111E: Програмата излиза с грешка: com.ibm.websphere.management.exception.AdminException: ADMU3027E: Екземпляр на сървъра може вече да работи: server1 ADMU1211I: За да получите пълна следа на повредата, използвайте опцията -trace. ADMU0211I: Подробности за грешката могат да се видят във файла:

C:\IBM\WAS6\AppServer/profiles/StandAlone\logs\server1\startServer.log

В пример 4-12 изходът ни казва, че някакъв друг процес използва един от портовете, от които този сървър се нуждае, за да стартира. Можете да потвърдите, че портът се използва с командата netstat.

Пример 4-13 показва, че някакъв процес слуша на порт 8880. В UNIX можете да определите кой процес слуша на този порт с помощта на командата lsof.

Пример 4-13 Изход от командата netstat

TCP 9.42.171.145:8880 9.42.171.145:2698 TIME_WAIT TCP 9.42.171.145:8880 9.42.171.145:2739 TIME_WAIT

Забележка: Командата netstat е налична както в UNIX, така и в Windows.

Пример 4-14 показва резултата от командата lsof. Този изход ви казва, че Java процес слуша TCP порт 8880. Идентификаторът на процеса е 12968.

Пример 4-14 Използване на lsof за проверка за отворени портове

[root@m23vnx60 root]# lsof -i|grep 8880 java 12968 wasadmin 135u IPv4 655014 TCP *:8880 (СЛУШАЙТЕ)

Забележка: Има еквиваленти на командата lsof за Windows, достъпни за изтегляне от Интернет.

136 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Като проверите регистрационните файлове на сървъра, можете да определите дали сървърът действително е стартиран.

Пример 4-15 Стартирането на сървър губи контакт

C:\IBM\WAS6\AppServer\profiles\StandAlone\bin>startserver сървър1 ADMU7701I: Тъй като сървър1 е регистриран да работи като услуга на Windows, заявка за стартиране на този сървър ще бъде завършена чрез стартиране на свързаната Windows услуга. ADMU0116I: Информацията за инструмента се записва във файла

Може да успеете да разрешите това, като зададете параметъра за изчакване на SOAP в следния файл: /profiles//properties/soap.client.props

4.3.5 Проблем: Няма достъп до агент на възел

Наскоро сте рестартирали мениджъра за разполагане и сте открили, че един от вашите агенти на възел не изглежда достъпен.

Глава 4. Определяне на проблеми с управлението на системата 137

Въпреки това, в зависимост от причината за проблема, може да видите или да не видите никакви полезни съобщения в регистрационните файлове.

Какво да търсите

Проверете агента на възела, за да се уверите, че действително работи, като потърсите неговия процес и проверите неговия SystemOut.log. Можете също така да се уверите, че работи, като се опитате да се свържете с агента на възел директно с wsadmin, както е показано в Пример 4-6 на страница 131.

Ако агентът на възел работи и мениджърът за разполагане не отчита никакви грешки, но все още казва, че агентът на възел не работи, възможно е да е възникнала DNS грешка при стартиране на мениджъра за разполагане.

4.3.6 Проблем: Не може да се управлява уеб сървър

WebSphere Application Server V6 има способността да управлява IBM HTTP Server V6 от административната конзола.

Имате проблеми със стартирането, спирането или получаването на състоянието на уеб сървъра.

Какво да търсите

Можете да стартирате и спирате всеки от поддържаните уеб сървъри, като използвате административната конзола на WebSphere. Уеб сървърът трябва да бъде инсталиран на управляван възел. Агент на възел на WebSphere Application Server изпълнява подходящата команда за стартиране или спиране.

138 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Когато използвате IBM HTTP Server V6.0, не е необходимо да инсталирате уеб сървъра на управляван възел, тъй като администрирането може да се извърши през IBM HTTP административен сървър. В допълнение към стартирането и спирането на IBM HTTP сървър V6.0, можете също да управлявате неговия конфигурационен файл и да преглеждате регистрационните файлове на уеб сървъра.

IBM HTTP сървър на неуправляван възел

Ако не можете да администрирате IBM HTTP сървъра от административната конзола на WebSphere, проверете дали сървърът за администриране на IBM HTTP сървър е правилно настроен.

Автоматично използване на MD5 формат.

Нова парола: ****** Въведете отново новата парола: ****** Добавяне на парола за потребителски уеб администратор

Глава 4. Определяне на проблеми при управление на системата 139

Когато управлявате IBM HTTP сървър с помощта на административната конзола на WebSphere, трябва да се уверите, че са изпълнени следните условия: - Проверете дали администрацията на IBM HTTP сървър сървърът работи. ␂ Проверете дали името на хоста и порта на уеб сървъра, които са дефинирани в административната конзола на WebSphere, съвпадат с името и порта на административния хост на IBM HTTP Server. ␂ Уверете се, че защитната стена не ви пречи да получите достъп до административния сървър на IBM HTTP Server от административната конзола на WebSphere. ␂ Ако се опитвате да администрирате IBM HTTP сървъра през защитена SSL връзка, проверете дали сте експортирали личния сертификат на базата данни с ключове на административния сървър на IBM HTTP Server и сте го импортирали в базата данни с ключове на WebSphere като сертификат за подпис. Ключовата база данни ще бъде идентифицирана в параметъра com.ibm.ssl.trustStore във файла sas.client.props. ␂ Проверете дали файлът admin_error.log на IBM HTTP Server и регистрационните файлове на WebSphere Application Server (trace.log) не съдържат никакви грешки.

IBM HTTP сървър на управляван възел

Когато IBM HTTP сървърът на управляван възел се стартира с помощта на инструменти за администриране на WebSphere. Агентът на възел издава същата команда, която бихте използвали от командния ред, а именно: /bin/apachectl

Мениджърът на разполагане не регистрира никакви съобщения, когато се опитате да стартирате уеб сървър. Агентът на възел регистрира просто съобщение, за да ви каже, че се опитва да стартира уеб сървъра, както е показано в пример 4-16.

Ако уеб сървърът не успее да се стартира, получавате съобщение за грешка в административната конзола и съобщение в регистрационния файл на агента на възел, както е показано в Пример 4-16.

Пример 4-16 Съобщения на агент на възел, стартиращи уеб сървър

[7/12/05 14:56:15:658 EDT] 000000a6 AdminHelper A ADMN1001I: Направен е опит за стартиране на webserver1 на възел m23vnx60Node01 .[7/12/05 14:56:15:661 EDT] 000000a6 NodeAgent W ADML0065W: Синхронизираща операция преди стартиране на сървър на приложения е неуспешна.

140 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

[7/12/05 14:56:22:843 EDT] 000000a6 NodeAgent W ADML0040E: Процесът изтече в очакване на инициализация на сървъра "webserver1" : 1200 секунди

Трябва да прегледате регистрационните файлове на уеб сървъра, за да определите какво се е объркало.

Освен това можете да проследите процеса както на мениджъра на разгръщане, така и на агента на възел, както е описано в "Събиране на данни" на страница 122, за да съберете допълнителна информация за източника на грешка.

4.3.7 Проблем: Невъзможност за управление на приложения

Опитвате се да управлявате приложения, например стартиране, спиране или инсталиране на приложение, и имате проблеми.

Получавате тези проблеми, докато инсталирате приложение, след инсталиране на

приложение или след рестартиране на сървъра.

Какво да търсите

Когато възникне грешка, когато се опитвате да управлявате приложение, можете да направите следните неща: ␂ Уверете се, че няма грешки в ресурса или пътя на класа ␂ Уверете се, че приложението беше инсталиран правилно ␂ Уверете се, че конфигурационното хранилище не е повредено

Уверете се, че няма грешки в ресурса или пътя на класа

Регистрационните файлове на сървъра на приложения са първото място, където трябва да се търси, тъй като всички проблеми със самото приложение, като проблеми с пътя на класа или проблеми с ресурса, се съобщават там. Съобщението за грешка от административната конзола ви казва кой възел и сървър да проверите, както е показано на Фигура 4-7 на страница 142. Ако откриете такава грешка, работете с разработчиците на вашето приложение, за да разрешите проблема с кодирането на приложението или ресурса.

Проверете дали приложението е инсталирано правилно

Ако приложението не успее да стартира на сървър, след като е било инсталирано, инсталацията може да не е завършила успешно. Инсталацията може да има

Глава 4. Определяне на проблеми с управлението на системата 141

изглежда успешно, но когато се опитате да стартирате приложението, то се проваля със съобщение в административната конзола, както е показано на Фигура 4-7 на страница 142.

Фигура 4-7 Съобщение от административната конзола, когато приложението не се стартира

Това съобщение се появява и в SystemOut.log на мениджъра за разполагане, както

е показано в пример 4-17.

Сървърът на приложения SystemOut.log показва подобно съобщение, както е показано в

Пример 4-18.

Пример 4-18 Съобщение в регистрационния файл на сървъра на приложения, когато приложението не се стартира [7/12/05 9:44:07:379 EDT] 00000039 ApplicationMg W WSVR0215W: Стартиране на приложение, HelloApp, неуспешно. Приложението не е инсталирано.

Проверете дали конфигурационното хранилище не е повредено

Повредите в конфигурационното хранилище също могат да причинят корпоративните приложения да не се стартират. Например файлът serverindex.xml на възел съдържа списък на всички сървъри и портове в клетка, с която възелът може да се наложи да комуникира. Той също така изброява приложенията, които са разположени на сървърите в тези възли.

142 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Ако този файл се повреди и списъкът с приложения се загуби, тогава приложенията няма да бъдат стартирани на сървъра в този възел. Когато процесът на сървъра стартира, той смята, че приложението не е инсталирано и не се опитва да го стартира. Ако се опитате да стартирате приложението от административната конзола, ще видите съобщението, показано на Фигура 4-7 на страница 142. Регистрационните файлове на сървъра на приложения ви казват, че приложението не е инсталирано, както е показано в Пример 4-18 на страница 142.

След това в административната конзола навигирайте до Системно администриране →

Възли. Изберете възела и изберете Пълно повторно синхронизиране, както е показано на Фигура 4-8.

Фигура 4-8 Пълна синхронизация

4.3.8 Проблем: Неуспешно добавяне на възел към мениджър за разполагане

Възел на WebSphere Application Server е обединен към мениджър за разполагане с помощта на addNode команда. Това понякога може да се провали.

Глава 4. Определяне на проблеми с управлението на системата 143

Данни за събиране Следните регистрационни файлове могат да бъдат полезни при определяне защо не можете да добавите възел към мениджър за разполагане: ␂ Регистрационен файл на скрипт за управление: addNode.log ␂ Дневници на мениджъра за разполагане

В зависимост от причината за повредата, може също да се наложи да прегледате регистрационните файлове на мениджъра за разполагане.

Какво да търсите

Пример 4-19 показва, че времето за изчакване на връзката от скрипта addNode към мениджъра за разполагане е изтекло, преди работата да приключи.

Пример 4-19 Грешки от скрипта addNode

ADMU0116I: Информацията за инструмента се записва във файл /opt/IBM/WAS6/AppServer/profiles/Craig02/logs/addNode.log ADMU0128I: Стартира инструмент с Craig02 профил ADMU0001I: Започнете обединяване на възел m23vnx60Node02 с Deployment Manager на kll6571:8879. ADMU0009I: Успешно свързано със сървър на Deployment Manager: kll6571:8879 ADMU0507I: Няма намерени сървъри в конфигурацията под:

144 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

ADMU0211I: Подробностите за грешката могат да се видят във файла: /opt/IBM/WAS6/AppServer/profiles/Craig02/logs/addNode.log

Можете да получите по-подробна информация от регистрационния файл на addNode, както е показано в Пример 4-20 на страница 145.

Пример 4-20 Грешки от addNode.log

[7/12/05 15:20:02:155 EDT] 0000000a AdminTool A ADMU0113E: Програмата излиза с грешка: com.ibm.websphere .management.exception.ConnectorException: ADMC0009E: Системата не успя да направи SOAP RPC повикване: извикване на com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplate(SOAPCon nectorClient.java:642) ... в резултат на: [SOAPException: faultCode=SOAP-ENV:Клиент; msg=Четенето изтече; targetException=java.net.SocketTimeoutException: Времето за четене изтече] в org.apache.soap.transport.http.SOAPHTTPConnection.send(Неизвестен източник)

4.3.9 Проблем: Синхронизиране на хранилище

Вие правите промени във вашата конфигурация в среда за мрежово разполагане и докато можете да запазите промените, заявката за синхронизиране към отдалечен възел е неуспешна.

Глава 4. Определяне на проблеми с управлението на системата 145

Какво да търсите Прегледайте SystemOut.log от мениджъра за разполагане и от агента на възел на сървъра, който не се синхронизира. Съобщението на административната конзола ще ви каже кой възел не успява да се синхронизира, както е показано на Фигура 4-9.

Фигура 4-9 Изход от неуспешна синхронизация на възел

Съобщението, показано в пример 4-21, се появява в SystemOut.log на

мениджъра за разполагане.

Пример 4-21 Не може да се синхронизира възел

[7/3/05 16:01:17:845 EDT] 00000026 CellSync E ADMS0104I: Системата не може да извика заявка за синхронизиране на nodeWebSphere: platform=common,cell=IBM-99TVXRDCell01,version=6.0.1.2,name=nodeSync,mbeanIdentifier=nodeSync,type=NodeSync,node=IBM-99TVXRDNode01,process=nodeagent.javax.management.InstanceNotFoundException: MBeanServer не може да намери MBean с ObjectNameWebSphere :platform=common,cell=IBM-99TVXRDCell01,version=6.0.1.2,name=nodeSync,mbeanIdentifier=nodeSync,type=NodeSync,node=IBM-99TVXRDNode01,process=nodeagent

146 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Копираното копие на модифицирания файл може да е повредено или недостъпно на възела, където се прави промяната. Например, извършването на промяна в параметъра за размер на купчината на Java актуализира файла server.xml в хранилището. Промяната се извършва в главното копие на файла и административната конзола връща съобщение, че промяната е била запазена и че синхронизирането е било успешно, както е показано на Фигура 4-10.

Фигура 4-10 Резултат от успешно запазване и синхронизация

SystemOut.log на мениджъра за разполагане също показва синхронизацията като

успешна: [7/3/05 16:11 :13:343 EDT] 00000085 DeploymentMan A ADMS0208I: Синхронизирането на конфигурацията е завършено за клетката.

Въпреки това, SystemOut.log на агента на възел ви показва, че агентът на възел не може да отвори файла поради разрешения, както е показано в пример 4-22.

Пример 4-22 Агент на възел не успява да отвори server.xml

[7/3/05 16:11:13:902 EDT] 00000040 FileDocument E ADMR0104E: Системата не може да чете клетки на документа/ IBM-99TVXRDCell01/nodes/IBM-99TVXRDNode01/servers/server1/server.xml:java.io.FileNotFoundException:C:\IBM\WAS6\AppServer\profiles\AppSrv01\config\cells\IBM-99TVXRDCell01\nodes\IBM-99TVXRDNode01 \servers\server1\server.xml (Достъпът е отказан)[7/3/05 16:11:13:912 EDT] 00000040 NodeSyncTask A ADMS0016I: Синхронизирането на конфигурацията е неуспешно.

Глава 4. Определяне на проблеми с управлението на системата 147

В този случай решението е да коригирате разрешенията за файлове и да опитате отново синхронизирането.

В други случаи, като например при повреден или празен файл, решението е да изтриете файла и да позволите автоматична синхронизация, за да замени файла с доброто копие от главното хранилище.

Ако автоматичната синхронизация не е активирана, трябва ръчно да синхронизирате

възела или от административната конзола, или от самия възел. Фигура 4-11 показва настройките за синхронизиране на файлове за агента на възела. В този случай автоматичното синхронизиране е активирано.

Фигура 4-11 Настройване на автоматична или ръчна синхронизация

148 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Ако не можете да определите защо синхронизирането е неуспешно от съобщенията в регистрационните файлове опитайте синхронизация на командния ред, инициирана от възела, който не можете да синхронизирате. Трябва да спрете агента на възела. От командния ред издайте командата syncNode, както е показано на Фигура 4-23. Трябва да му предадете името на хоста и SOAP порта на мениджъра за разполагане. Можете също да посочите опцията -trace.

Пример 4-23 Изпълнение и проследяване на syncNode

[wasadmin@m23vnx60 bin]$ ./syncNode.sh kll6571 8879 -trace ADMU0115I: Режимът на проследяване е включен. ADMU0116I: Информацията за инструмента се регистрира във файл /opt/IBM/WAS6/AppServer/profiles/Node01/logs/syncNode.log ADMU0401I: Започнете операция на syncNode за възел m23vnx60Node01 с Диспечер на разполагане kll6571: 8879 ADMU0016I: Синхронизиране на конфигурация между възел и клетка. ADMU0111E: Програмата излиза с грешка: com.ibm.websphere.management.exception.AdminException: ADMU0005E: Грешка при синхронизиране на хранилища ADMU0211I: Подробностите за грешката могат да се видят във файла: /opt/IBM/WAS6/AppServer/profiles/Craig01/logs/ syncNode.log

Забележка: Можете да спрете агент на възел, без да се налага да спирате сървърите на приложения. Оперативното въздействие от спирането на агента на възела е, че той няма да наблюдава сървърите на приложения, за да се увери, че работят.

Прегледът на лог файла показва проблема, както е показано в пример 4-24.

Пример 4-24 syncNode не успява да отвори server.xml

[7/11/05 12:14:00:448 EDT] 0000000c FileDocument E ADMR0105E: Системата не може да запише документ клетки/kll6571Cell01 /nodes/m23vnx60node01/servers/server02/server.xml:java.io.filenotfoundexception:/opt/ibm/was6/appserver/profiles/node01/config/cells/kll6571cell01/node01/config/cells/kll6571cell01/node01/config/cells/kll6571cell01/node01/config/cells/kll6571cell01/node01/config/cells/kll6571cell01/node01/config/cells/kll6571cell01/node01/config/cells/kll6571cell01/ server.xml ( Разрешението е отказано)

В този пример не беше необходимо да се изпълнява проследяването, защото съобщението за грешка щеше да се появи така или иначе. Проследяването е полезно за намиране на проблема, когато няма очевидни грешки.

Глава 4. Определяне на проблеми с управлението на системата 149

Пример 4-25 Доброкачествен FileNotFound exceptionjava.io.FileNotFoundException:/opt/IBM/WAS6/AppServer/profiles/Node01/config/cells/kll6571Cell01/nodes /m23vnx60Node01/servers/nodeagent/variables.xml (Няма такъв файл или директория)

4.3.10 Проблем: Конфликти при записване в административната конзола

Виждате съобщения, които ви казват, че има конфликт при записване в административното хранилище, когато влезете в административната конзола.

Какво да търсите

След като сте направили промени в конфигурацията на WebSphere Application Server в административната конзола и опитате да запазите тези промени, виждате съобщение, което ви казва, че има конфликт при запазване, както е показано на фигура 4-12.

Фигура 4-12 Запазване на конфликт

Тази грешка ви казва, че има конфликт в актуализациите на един или повече файлове в конфигурационното хранилище. Конфликтът при запазване не се отчита в SystemOut.log, освен ако не изберете да презапишете конфликтната промяна или сте активирали проследяване.

150 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Конфликт при запазване може да възникне по няколко причини: ␂ Повече от един администратор е направил промени в конфигурацията едновременно. ␂ Промени са направени директно във файловете на конфигурационното хранилище. ␂ Внедрявате приложения с помощта на WebSphere Rapid Deployment.

Пример 4-26 Презаписване на промени в конфигурацията

[7/11/05 11:20:03:348 EDT] 00000037 FileRepositor A ADMR0016I: Потребител WTRNTDM/config modifieddocument клетки/kll6571Node01Cell/nodes/kll6571StandAlone/ servers/server1/server.xml.[7/11/05 11:20:10:569 EDT] 0000003f ServletWrappe A SRVE0242I:[/secure/tiles/syncconflict.jsp]: Успешна инициализация.[7/11/05 11: 20:23:808 EDT] 00000038 FileRepositor W ADMR0114W: Системата презаписва клетки на документа/kll6571Node01Cell/nodes/kll6571StandAlone/servers/server1/server.xml по заявка.[7/11/05 11:20:23:848 EDT] 000000 38 FileRepositor A ADMR0016I: Потребител WTRNTDM/wasadmin modifieddocument cells/kll6571Node01Cell/nodes/kll6571StandAlone/servers/server1/server.xml.

Възможно е повече от един администратор да работи върху хранилището

по едно и също време и да няма проблеми с конфликти при запазване, когато тези администратори работят с различни файлове и обекти в хранилището. Освен ако не проверявате постоянно SystemOut.log, не можете да сте сигурни, че промените, които правите, не се презаписват. Затова ви препоръчваме да имате само един администратор, който да прави промени наведнъж.

4.3.11 Проблем: Липсват корпоративни приложения

Влезли сте в административната конзола и се опитвате да управлявате корпоративни приложения, но нито едно не се показва. Приложенията може да работят добре оперативно, просто не можете да ги управлявате. Този проблем е най-вероятно да възникне след рестартиране на сървъра.

Глава 4. Определяне на проблеми с управлението на системата 151

Данни за събиране Следните регистрационни файлове могат да бъдат полезни при определяне защо липсват приложения: ␂ Регистрационен файл на мениджъра за внедряване ␂ Регистрационен файл на агент на възел ␂ Регистър на сървър на приложения

Какво да търсите

От административната конзола трябва да можете да видите списък с инсталирани приложения под Приложения → Корпоративни приложения. Ако вашите приложения вече не са изброени тук, започнете с проверка на регистрационния файл на мениджъра за разполагане. Този проблем може да бъде причинен от повреда в конфигурационното хранилище или проблеми с разрешенията, както е показано в Пример 4-27.

Пример 4-27 Проблем с разрешенията в регистрационния файл на мениджъра за разполагане

[7/13/05 14:09:48:993 EDT] 0000003a FileDocument E ADMR0104E: Системата не може да прочете клетки на документа/m23vnx60Cell01/ applications/HelloApp.ear/deployments/IBMUTC/deployment.xml:java.io.IOException: Няма такъв файл или директория

Прегледът на регистрационния файл на агента на възел ще ви покаже подобно съобщение, което вероятно се отнася до различен файл, както е показано в пример 4-28.

Пример 4-28 Проблем с разрешенията в журнала на агента на възел

[7/13/05 14:12:03:979 EDT] 00000035 FileDocument E ADMR0109E: Възникна грешка при възстановяване наdocumentcells/m23vnx60Cell01/applications/HelloApp .ear/deployments/HelloApp/META-INF/was.policy:java.io.FileNotFoundException:/opt/IBM/WAS6/AppServer/profiles/AppSrv01/config/cells/m23vnx60Cell01/applications/HelloApp.ear/deployments/HelloApp/ META-INF/was.policy (Разрешението е отказано)

Регистърът на сървъра на приложения също показва, че проблемът е причинен от разрешения за файлове, както е показано в пример 4-29.

Пример 4-29 Проблем с разрешенията в регистрационния файл на сървъра на приложения

[7/13/05 13:55:26:517 EDT] 0000001b FileDocument E ADMR0104E: Системата не може да чете клетки на документа/m23vnx60Cell01/ nodes/m23vnx60Node01/perftuners.xml: java.io.IOException: разрешението е отказано

И в трите случая съобщенията се отнасят до различни файлове и различни местоположения във файловата система. Проверката на файловите разрешения за тези изброени файлове показва, че потребителят, който изпълнява процесите, няма достъп за запис до тези файлове.

В този пример сървърите работят на UNIX платформа и са конфигурирани да работят като не-root потребител при нормални условия. В един момент сървърите бяха

152 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

рестартиран от root потребителя и приложението HelloApp е внедрено. След това сървърите бяха рестартирани като нормален не-root потребител и възникна този проблем. Потребителят без root не е успял да пише във файловете, които са били създадени, когато сървърът е работил като root. Проблемът се решава чрез нулиране на разрешенията за файлове.

4.3.12 Проблем: Невалидни или изтекли сертификати

Ако вашите проблеми изглеждат специфични за приложения, които изискват SSL достъп, има голяма вероятност проблемът да се дължи на невалидни или изтекли сертификати. Това може да причини различни проблеми с управлението на системата. Проблеми с изтекли сертификати могат да възникнат по всяко време, ако не управлявате своите сертификати. Можете също така да се сблъскате с този проблем, ако наскоро сте активирали защитата.

Може също да се наложи да вземете проследяване на администратор и проследяване на сигурността, в зависимост от проблема. Вижте "Събиране на данни" на страница 122 за подробности.

Какво да търсите

WebSphere Application Server записва предупредително съобщение (Пример 4-30) в SystemOut.log преди сертификатът да изтече. Това ви дава възможност да подновите сертификатите преди действителните дати на изтичане и преди приложенията да спрат да работят. Понастоящем обаче WebSphere Application Server V6 не ви уведомява, че сертификатът е изтекъл.

Пример 4-30 Предупредителни съобщения за изтичане на сертификат

7/6/05 11:37:15:860 EDT] 0000000a SASRas W JSAS0456W: ПРЕДУПРЕЖДЕНИЕ в sasOutboundSSLConfig: Сертификатът с псевдоним изтича на 07/07 от keyStoreC:\IBM\WAS6\AppServer/profiles/StandAlone/etc/ExpiresKeyFile.jks ще изтече след 1 дни.

Глава 4. Определяне на проблеми с управлението на системата 153

Проследяването на сървъра на приложения със следния трасиращ низ ви показва дали проблемът е със сертификати, както е показано в пример 4-31: traceString=ORBRas=all

Пример 4-31 Съобщения за проследяване, показващи изтекъл сертификат

[7/7/05 10:23:17:553 EDT] 00000020 ORBRas 1 com.ibm.rmi.transport.ListenerThread run:259LT =3:P=897141:O=0:port=9402 Следното изключение беше loggedjavax.net.ssl.SSLException: Няма наличен сертификат, съответстващ на пакетите за SSL шифроване, които са активирани.

Ако видите съобщения, които показват, че сертификатът е изтекъл или има проблем, трябва да проверите сертификата с помощта на инструмента за управление на ключове на IBM (ikeyman).

При инсталация на мрежово разполагане можете да намерите този файл на:

/profiles//config/cells//security.xml

В security.xml потърсете XML тага, както е показано в пример 4-32.

Пример 4-32 Файлове с база данни с ключове, дефинирани в security.xml

Ще трябва да знаете паролата на файла с база данни с ключове. Ако не сте заменили предоставените бази данни с фиктивен ключ, паролата по подразбиране е WebAS.

154 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Фигура 4-13 показва базата данни с ключове DummyServerKeyFile, отворена в ikeymanutility. Щракнете върху името на сертификата, фиктивен сървър на websphere в този пример и след това щракнете върху Преглед/Редактиране. Ако сертификатът е изтекъл, помощната програма показва поле със съобщение, което ви казва това. След това показва подробностите за сертификата.

Фигура 4-13 Отваряне на база данни с ключове в помощната програма ikeyman

Полето Валидност също показва дали сертификатът е изтекъл. На Фигура 4-14 на страница 156 сертификатът е валиден само до 7 юли 2005 г. Щракнете върху OK, за да затворите прозореца.

Глава 4. Определяне на проблеми с управлението на системата 155

Фигура 4-14 Подробности за изтекъл сертификат

Действие: Поискайте нов ключ от сертифициращ орган

Ако сертификатът е изтекъл, можете да разрешите този проблем, като създадете нов валиден сертификат в съществуващия файл с база данни с ключове.

Когато клиентска програма, като например браузър, настройва SSL връзка с

сървър, клиентът може да се довери на съдържанието на сертификат, който е проверен от доверена трета страна. Сертифициращият орган действа като доверена трета страна. Помощната програма за управление на ключове ви позволява да поискате сертификат от сертифициращ орган. Сертифициращият орган ще ви таксува за тази услуга.

Действие: Създайте самоподписан сертификат (не за производство)

Като алтернатива можете да създадете самоподписан сертификат в базата данни с фиктивен ключов файл. Това е сертификат, който може да се използва за настройка на SSL връзка, ако клиентът избере да приеме сертификата, въпреки че не е проверен от сертифициращ орган. В производствена среда не трябва да използвате самоподписани сертификати за защита на SSL връзки.

За да създадете самоподписан сертификат, щракнете върху Нов самоподписан, както е показано на

Фигура 4-13 на страница 155.

156 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Фигура 4-15 Създаване на нов самоподписан сертификат

Въведете информацията за самоподписания сертификат. Максималният период на валидност, който можете да зададете, е 7300 дни или приблизително 20 години.

След като създадете новите си сертификати, рестартирайте WebSphere ApplicationServer и тествайте отново.

Накъде да отидете от тук: Ако сте изчерпали всички възможности в този раздел и все още имате проблеми със SSL и сертификати, вижте „Следващата стъпка“ на страница 162.

Глава 4. Определяне на проблеми с управлението на системата 157

4.3.13 Проблем: WebSphere Rapid Deployment Опитвате се да използвате WebSphere Rapid Deployment за разработване и тестване на приложение и не можете да се свържете с сървърът на приложения или WebSphere Rapid Deployment няма да създава или актуализира приложенията.

Какво да търсите

Ако имате проблеми с WebSphere Rapid Deployment, можете да предприемете следните действия: ␂ Проверете променливата WORKSPACE ␂ Проверете конфигурацията на WebSphere Rapid Deployment ␂ Проверете дали приложението се изгражда ␂ Уверете се, че мениджърът за разполагане и сървърът на приложения работят. Потърсете грешки в кодирането на Java

Проверете променливата WORKSPACE

Вие казвате на WebSphere Rapid Deployment коя директория да наблюдава, като зададете променливата на средата WORKSPACE. Каква директория ще използвате зависи от вас. Уверете се, че поставяте файловете, които искате да бъдат актуализирани, в местоположението, посочено от променливата на средата WORKSPACE. Например: WORKSPACE=C:\IBM\WRD

Ако укажете неправилно директорията в променливата WORKSPACE, WebSphere

Rapid Deployment стартира, но не изгражда или внедрява вашите приложения, защото наблюдава грешната директория.

Проверете конфигурацията на WebSphere Rapid Deployment

Уверете се, че сте изпълнили wrd-config, за да настроите вашата среда за проекта WebSphere Rapid Deployment, върху който работите. Можете да проверите настройките на вашия проект, като погледнете в конфигурационния файл на проекта на: //.wrdconfig.xml

Пример 4-33 показва съдържанието на този файл.

158 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

В среда за мрежово разполагане името на сървъра трябва да бъде логичното

име на сървъра за приложения, който ще изпълнява приложението. Сървърът JMXHost и serverJMXPort трябва да се отнасят за името на хоста и SOAP порта на мениджъра за разполагане.

Проверете дали приложението се изгражда

Можете да проверите регистрационния файл на WebSphere Rapid Deployment (Пример 4-34), за да сте сигурни, че средата е инициализирана и че промените в работното пространство се разпознават. Съобщенията също така показват дали промените се обработват правилно.

!ВХОД org.eclipse.core.runtime 10 юли 2005 г. 03:37:32.816

!СЪОБЩЕНИЕ Продуктът org.eclipse.platform.ide не може да бъде намерен.

!ВХОД com.ibm.ws.rapiddeploy.core 0 0 10 юли 2005 г. 03:40:49.16

!СЪОБЩЕНИЕ Създаване на нов проект „HelloApp“.

!ENTRY org.eclipse.core.resources 1 1 10 юли 2005 г. 03:40:51.936

Глава 4. Определяне на проблеми с управлението на системата 159

!СЪОБЩЕНИЕТО Не може да се зареди библиотека: libcore_2_1_0b.so. Тази библиотека предоставя специфични за платформата оптимизации за определени операции на файловата система. Тази библиотека не присъства на всички платформи, така че това може да не е грешка. Добавката за ресурси безопасно ще се върне към използване на функционалността на java.io.File.

!ВХОД com.ibm.ws.rapiddeploy.core 1 1 10 юли 2005 г. 03:40:51.994

!СЪОБЩЕНИЕ Записване на ID на активната директория в корена на работното пространство.

!ВХОД com.ibm.ws.rapiddeploy.core 0 0 10 юли 2005 г. 03:40:52.85

!СЪОБЩЕНИЕ Конфигуриране на стил „WebSphere Free Form Project“ за проект „HelloApp“.

!ВХОД com.ibm.ws.rapiddeploy.core 0 0 10 юли 2005 г. 03:40:52.87

!СЪОБЩЕНИЕ Записване на текущия стил и свойства на проекта...

!ВХОД com.ibm.ws.rapiddeploy.core 0 0 10 юли 2005 г. 03:40:52.782

!СЪОБЩЕНИЕ Конфигуриране на изходно местоположение за компилация на: '/HelloApp/bin'

!ВХОД com.ibm.ws.rapiddeploy.core 0 0 10 юли 2005 г. 03:40:52.861

!СЪОБЩЕНИЕ Конфигуриране на изходната папка на '/HelloApp'

!ВХОД com.ibm.ws.rapiddeploy.core 0 0 10 юли 2005 г. 03:40:52.863

!СЪОБЩЕНИЕ Конфигуриране на папката източник на '/HelloApp/gen/src'

!ВХОД com.ibm.ws.rapiddeploy.core 0 0 10 юли 2005 г. 03:40:53.110

!СЪОБЩЕНИЕ Конфигуриране на ново изходно местоположение за компилация на '/HelloApp/bin'

Проверете дали мениджърът на разгръщане и сървърът на приложения работят

Ако WebSphere Application Server не е наличен, когато стартирате WebSphere Rapid Deployment, ще видите следното съобщение в конзолата на WebSphere Rapid Deployment: ГРЕШКА! Неуспешно свързване към WebSphere Application Server

Пример 4-35 WebSphere Rapid Deployment не може да публикува приложение

Възникна грешка по време на изтегляне. : publishrecord.remote [01:23:40 PM] Експортиране на Ear файл. [13:23:41] ГРЕШКА! [SOAPException: faultCode=SOAP-ENV:Клиент; msg=Грешка при отваряне на сокет: java.net.ConnectException: Връзката е отказана: свържете се;

160 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

targetException=java.lang.IllegalArgumentException: Грешка при отваряне на socket:java.net.ConnectException: Връзката е отказана: свържете се]

В среда за мрежово внедряване вие ​​публикувате приложението в

мениджъра за внедряване. Приложението обаче се изпълнява на отделен сървър на приложения. Ако мениджърът за разполагане не работи, ще видите съобщението, което е показано в Пример 4-35 в конзолата. Ако целевият сървър на приложения не работи, приложението се публикува, но не се стартира. Виждате съобщение в конзолата, както е показано в пример 4-36.

Пример 4-36 WebSphere Rapid Deployment не може да стартира приложение

[12:08:01 PM] ГРЕШКА! Неуспешно стартиране на приложението. HelloApp[12:08:01 PM] ГРЕШКА! MBeanServer не може да намери MBean с ObjectNameWebSphere:platform=dynamicproxy,cell=m23vnx60Cell01,version=6.0.1.2,name=ApplicationManager,mbeanIdentifier=ApplicationManager,type=ApplicationManager,node=m23vnx60Node01,process=server1[12:08:01 PM ] ГРЕШКА! Моля, вижте регистрационните файлове на сървъра за повече подробности.

След като рестартирате процеса, трябва да направите промяна в един от файловете на приложението, така че WebSphere Rapid Deployment да открие актуализацията и да публикува приложението отново.

Забележка: Използването на WebSphere Rapid Deployment причинява конфликти при запазване в

административната конзола, ако вие или друг администратор сте влезли. Това е друга причина, поради която трябва да използвате WebSphere Rapid Deployment само за разработка.

Търсете грешки в кодирането на Java

Ако кодът на вашето приложение има грешки в него, WebSphere Rapid Deployment показва грешката в кодирането в конзолата, например: [01:28:05 PM] 'Синтактична грешка, вмъкнете ";" за попълване на Statement' в ресурс 'HelloServlet.java' на ред номер 37

Грешките в кодирането на Java са извън обхвата на тази книга.

Глава 4. Определяне на проблеми с управлението на системата 161

Накъде да отидете от тук: Ако сте проверили всички проблеми описано досега и въпреки това все още не може да изгради и разположи приложение с WebSphere Rapid Deployment, проверете регистрационните файлове за мениджъра за разгръщане, ако е подходящо, и сървъра на приложения за всякакви съобщения, които са свързани с разгръщането на приложението.

Ако сте изчерпали всички възможности, описани в този раздел, и все още не можете да използвате WebSphere Rapid Deployment, вижте следващия раздел.

4.4 Следващата стъпка

Симптомите и проблемните области, включени в този документ, са някои, които е по-вероятно да изпитате. Има обаче други неща, които могат да се объркат или причината за проблема може да е свързана с нещо различно от компоненти за управление на системата.

Прегледайте класификациите на проблемите, за да видите дали има други компоненти, които може да причиняват проблема.

162 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

проблем MustGather: Проблеми със създаване/премахване на профил за V6.0 http://www-1.ibm.com/support/docview.wss? rs=180&uid=swg21196228 процес MustGather: Проблеми с обединяване или премахване на възел за версия V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21196227 процесът MustGather: Управление на портове за V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21196226 още MustGather: Проблеми при откриване на агент на възел и Deployment Manager за всички версии и издания на V6.0 http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21196220 още MustGather: Използването и създаването на шаблони е неуспешно на V6.0 http://www-1.ibm.com/ support/docview.wss?rs=180&uid=swg21195439

Глава 4. Определяне на проблеми с управлението на системата 163

164 Определяне на проблеми на WebSphere Application Server V6 за разпределени платформи 5

Глава 5. Проблем с уеб контейнер

определяне Ако потребителите получат неочаквани резултати в уеб браузър (като грешки или неправилна информация), може да имате проблем с уеб компонентите в приложението. Средата за изпълнение на уеб компонентите се нарича уеб контейнер. Тази статия обсъжда техники за диагностициране на проблеми, които могат да възникнат в уеб контейнера. Потенциалните симптоми на проблем с уеб контейнер могат да включват: Потребителите не могат да получат достъп до уеб компонент Неочаквано поведение при стартиране на уеб компонент Грешки при стартиране на уеб компонент Проблеми с JSP компилация Грешки или изключения при стартиране на уеб компонент ␂ Съобщения, започващи със SRVE (уеб контейнер), JSPG (JSP) или JSFG (JSF)

Проблемните области, които са свързани с уеб контейнера, включват също проблеми с управлението на сесии и проблеми с кодирането на знаци.

Важно: Препоръчваме ви да започнете своя процес за определяне на проблеми

като прочетете Подход за определяне на проблеми в WebSphere Application Server V6 на http://www.redbooks.ibm.com/redpapers/pdfs/redp4073 .pdf.

© Copyright IBM Corp. 2005. Всички права запазени. 165

5.1 Въведение Уеб контейнерът е среда за изпълнение на уеб приложения. Той обработва сървлети, JSP файлове и други видове включвания от страна на сървъра. Уеб контейнерът също така осигурява управление на сесии, обработка на статично съдържание и входяща транспортна верига за HTTP заявки. Всеки сървър за изпълнение на приложения има един логически уеб контейнер, който може да бъде модифициран, но не и създаден или премахнат.

Фигура 5-1 илюстрира уеб контейнера и неговото място в сървъра на приложения.

Сървър за приложения

Мениджър на сесии

Сървлет JSP

EJB контейнер

Услуги на JCA

Сървър за имена (JNDI)

Сървър за сигурност

Съобщения

Уеб услуги

Фигура 5-1 Общ преглед на уеб контейнер

Всеки уеб контейнер осигурява следното:

␂ Транспортни вериги на уеб контейнер Заявките се насочват към уеб контейнера с помощта на входящата транспортна верига на уеб контейнера . Веригата се състои от TCP входящ канал, който осигурява връзката към мрежата, HTTP входящ канал, който обслужва HTTP 1.0 и 1.1 заявки, и уеб контейнерен канал, по който заявките за сървлети и JSP се изпращат към уеб контейнера за обработка.

166 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

добавка Обработка на сървлети Когато работи със сървлети, уеб контейнерът създава обект на заявка и обект на отговор и след това извиква сервлетния метод. Уеб контейнерът извиква метода за унищожаване на сървлета, когато е подходящо, и разтоварва сървлета, след което JVM извършва събиране на боклука.␂ Обработка на HTML и друго статично съдържание Заявките за HTML и друго статично съдържание, които са насочени към уеб контейнера, се обслужват от уеб контейнера входяща верига. В повечето случаи обаче използването на външен уеб сървър и добавка за уеб сървър като преден край на уеб контейнер е по-подходящо за производствена среда. както е описано в спецификацията на API на сервлета.

Фигура 5-2 на страница 168 илюстрира структурата на директорията на уеб приложение.

Глава 5. Определяне на проблеми с уеб контейнери 167

Корен на сборката на Rational Application Developer

WEB-INF JSP, HTML и др.

web.xml lib класове

ibm-web-ext.xmi ibm-web-bnd.xmi faces-config.xml Класови файлове от страна на сървъра Библиотечни JAR файлове

Фигура 5-2 Компоненти на уеб приложение

5.1.1 Първоначални симптоми

Проблем, който възниква в уеб контейнера, обикновено причинява показване на неочаквани резултати в уеб браузъра. Тук се разглеждат три често срещани индикации: стрес HTTP 404 грешки, стрес HTTP 500 грешки, неправилна информация

Фигура 5-3 на страница 169 показва диаграма на симптомите на високо ниво и потенциалните проблемни области, които могат да се отнасят за всеки от тях.

168 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Браузърът показва

HTTP 404 грешка HTTP 500 грешка Неправилна информация

Страницата не може да бъде намерена JSP грешка при обработка HTTP сесия

Неуспешно намиране на ресурс IllegalStateExceptions Презареждане на уеб ресурс

WebGroup/Virtual Host error Encoding

Статичен ресурс

Фигура 5-3 Първоначални симптоми за проблеми с уеб контейнера

5.2 Работа с проблема

Започвате процеса на определяне на проблема, като съберете подходящите данни, необходими за диагностициране на проблема. Даваме ви списък с цялата документация, която може да се изисква и как да я съберете. Ако имате ограничена възможност да пресъздадете проблема, може да поискате да съберете цялата документация наведнъж, преди да започнете процеса на определяне на проблема.

И накрая, предоставяме насоки за следващата стъпка, която да предприемете за разрешаване, независимо дали става дума за сайт за поддръжка, свързване с IBM, информация за конфигурация или някакво друго предложение как да продължите.

5.2.1 Данни за събиране

Следните данни ще ви помогнат с процеса на определяне на проблем в среда за изпълнение на уеб контейнер: ␂ WebSphere Application Server JVM регистрационни файлове: SystemOut и SystemErr файлове ␂ процес на WebSphere Application Server регистрационни файлове: native_stderr.log и native_stdout.log лог файлове ␂ лог файлове на уеб сървър

Глава 5. Определяне на проблем с уеб контейнер 169

За информация относно събирането на JVM и регистрационните файлове на процеси вижте WebSphere Application Server V6: Диагностични данни на: http://www.redbooks.ibm.com/ redpapers/pdfs/redp4085.pdf

Имената и местоположенията на регистрационните файлове на уеб сървъра са специфични за продукта (IBM HTTP сървър, Apache, SunOne, IIS и Domino®), който се използва за тази функция.

Ако проблемът е труден за пресъздаване или нарушава бизнес операциите, вижте

„Следващата стъпка“ на страница 209 за пълен списък с документация, която да съберете, преди да продължите. По-специално, трябва да прегледате документите на MustGather за пълен списък с документация, която се изисква от поддръжката на IBM.

5.2.2 Анализ на симптомите на високо ниво

Разгледайте следните типове грешки. Ако не намерите описанието на вашия проблем тук, отидете на "Следващата стъпка" на страница 209.

Какво да търсите

Много индикатори за проблем с уеб контейнер първо се появяват на потребителя като неочаквана страница или съдържание на уеб браузър. Неочакваната информация може да бъде страница за грешка, която е резултат от HTTP грешка, или страница, която има показана неправилна или непълна информация.

Грешки HTTP 404

Грешките HTTP 404 могат да имат различни основни причини. Таблица 5-1 показва грешките HTTP 404, които разглеждаме в тази статия.

Таблица 5-1 Къде да отида за информация относно HTTP 404 грешки

Ако грешките включват Тогава отидете на

Страницата не може да бъде намерена или показана „Симптом: HTTP 404 грешка – Страницата не може да бъде показана“ на страница 172

JSPG0036E: Неуспешно намиране на ресурс "Симптом: HTTP 404 грешка - Неуспешно намиране на ресурс за съобщение" на страница 175

WebGroup/виртуалният хост не е дефиниран "Симптом: HTTP 404 грешка -

WebGroup/виртуалният хост не е дефиниран" на страница 177

170 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

HTTP 500 грешки HTTP 500 грешките могат също да имат различни основни причини, които включват следното: Ако грешките показват грешки в JSP процесора или неправилен синтаксис в JSP, отидете на „Симптом: грешка HTTP 500 – грешка при обработка на JSP“ на страница 179. ␂ Ако симптомите включват страница за грешка HTTP 500 в браузъра и във файла SystemOut.log виждате IllegalStateException, отидете на „Симптом: грешка HTTP 500 - IllegalStateException" на страница 181.

Неправилна информация, показана на уеб страниците

Ако потребителите получават правилната страница в уеб браузъра, но страницата съдържа невалидна информация, проверете тези симптоми: ␂ Потребителите съобщават, че страниците се показват с липсващи елементи. Ако дадена уеб страница се появи, но липсват статични ресурси като текст, изображения или файлови сегменти, отидете на „Стичните ресурси не се показват“ на страница 190. Потребителите съобщават, че виждат стара версия на страниците на приложението. Ако JSP файл е модифициран и внедрен на сървъра, но промените не се показват в интерфейса на браузъра, може да се наложи да се уверите, че приложението е активирано за презареждане на JSP. Отидете на "Уеб ресурсите не се презареждат" на страница 192. Потребителите съобщават, че страниците съдържат невалидна информация като множество въпросителни (???) или ненужни знаци. Възможно е приложението да използва DBCS знаци (японски, китайски, корейски езици) или специфични знаци за други езици, които не са включени в стандартното кодиране на знаци. В тези случаи е необходима правилна конфигурация за кодиране на знаци, за да се покаже и обработи тази информация без проблеми. За повече подробности, свързани с конфигурациите на кодиране, отидете на "Проблеми с кодирането и интернационализацията" на страница 195. Потребителите съобщават за проблеми като загубени данни по време на сесия. Потребителите многократно трябва да въвеждат информация, която трябва да бъде запазена по време на сесията, да губят информация за пазарската количка или да имат друга краткосрочна загуба на данни. Тази загуба на данни може да е причинена от проблем с HTTP сесии. В клъстерна среда проблемът може да е с добавката на уеб сървъра. Има обаче и други възможни причини, като грешки в конфигурацията или приложението. За да анализирате допълнително този проблем, отидете на "Управление на HTTP сесия" на страница 202.

Глава 5. Определяне на проблем с уеб контейнер 171

5.2.3 Симптом: Грешка HTTP 404 - Страницата не може да бъде показана Фигура 5-4 показва общ преглед на стъпките, които можете да предприемете, за да откриете причината на грешка HTTP 404, причинена от условие, че страницата не може да бъде показана.

нито един уеб модул не стартира успешно? Прегледайте проблемите с регистрационните файлове на JVM

да не Уеб сървърът ОК ли е? Поддръжка на HTTP сървър

да

Приложението е достъпно чрез да

Уеб контейнер, но не и уеб сървър? Проблеми с HTTP плъгини

не

Стъпки за проверка на URL адреса на браузъра

Сървърът на приложения е наред? да

Преглед на разработката на приложения

не

Вижте наличната онлайн поддръжка Получете помощ от поддръжката на IBM

Фигура 5-4 Страницата не може да бъде показана стъпки за проверка

Проверете дали уеб модулът е стартиран успешно

< p> Проверете регистрационните файлове на JVM за сървъра на приложения и потърсете съобщения във файла SystemOut.log (Пример 5-1), за да проверите дали уеб контейнерът и уеб модулът са стартирани успешно.

Пример 5-1 Процесът на стартиране на уеб модул води във файл SystemOut.log

ApplicationMg A WSVR0200I: Стартиращо приложение: [име_на_приложение] WebContainer A SRVE0161I: IBM WebSphere Application Server - уеб контейнер. Copyright IBM Corp. 1998-2004 WebContainer A SRVE0162I: Сервлет ниво на спецификация: 2.4 WebContainer A SRVE0163I: Поддържано JSP ниво на спецификация: 2.0 WebGroup A SRVE0169I: Зареждане на уеб модул: [web_module_name] ApplicationMg A WSVR0221I: Стартирано приложение: [application_name]

172 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Една възможна причина, която би попречила на стартирането на уеб контейнера, е проблем с мениджъра на сесии. За да определите дали случаят е такъв: ␂ Потърсете грешки или изключения, съдържащи име на пакет com.ibm.ws.webcontainer.httpsession. Обикновено ще намерите тези грешки между съобщението за стартиране на приложението и съобщението за стартиране на приложението. Тези съобщения ще бъдат във формат SESNxxxxE за грешки и SESNxxxxW за предупреждения. Може също да видите съобщения за транзакции, които показват проблем с данните от сесията (вижте Пример 5-2).

Пример 5-2 Грешка в съобщението на мениджъра на сесии

Грешка „SRVE0054E: Възникна грешка при зареждане на контекста на сесията и уебприложението.

Ако откриете грешка в мениджъра на сесии, но обяснението не е достатъчно за разрешаване на проблема, отидете на „Следващата стъпка“ на страница 209.

Проверете дали уеб сървърът работи

Проверете дали уеб сървърът е здрав, като отворите URL адреса http://server_name от браузър и видите дали страницата с добре дошли се появява. Това действие показва дали уеб сървърът работи и работи, независимо от състоянието на WebSphere Application Server.

Уверете се, че приставката за уеб сървър работи

Ако наскоро сте актуализирали или инсталирали приложението, уверете се, че приставката за уеб сървър е била повторно генерирана и разпространена до уеб сървъра. Също така се уверете, че уеб сървърът използва новия конфигурационен файл на приставката.

Ако сте регенерирали приставката и сте сигурни, че се използва, но все още имате проблем, можете да заобиколите уеб сървъра и да получите директен достъп до приложението

Глава 5. Определяне на проблем с уеб контейнер 173

от сървъра на приложения. Това не е препоръчителният метод за обслужване на производствен уеб сайт. Той обаче предоставя добър диагностичен инструмент, когато не е ясно дали проблемът се намира в уеб сървъра, WebSphere Application Server или добавката на уеб сървъра.

Проверете дали URL адресът е правилен

Ако не можете да осъществите достъп до страницата директно от сървъра на приложения, проверете дали URL адресът, използван за достъп до страницата, е правилен. За повече информация вижте "Спецификация на URL адрес на приложение" на страница 186.

Проверете дали сървърът на приложения работи

Ако URL адресът изглежда правилен, но не можете да осъществите достъп до ресурса директно през сървъра на приложения, проверете изправността на хостващия сървър на приложения и уеб модула, като направите следното: 1. Вижте сървъра на хостинг приложения и уеб модула в административната конзола, за да проверите дали са готови и работят. В среда на един сървър можете да проверите процеса на сървъра на приложения, за да видите дали работи, или можете да използвате командата serverStatus, както следва: c:\cd WebSphere\AppServer\profiles\AppSrv01\bin serverStatus server1

174 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

2. Копирайте обикновен HTML или JSP файл в корена на документа на уеб модула и опитайте да получите достъп до него. Коренът на документа на уеб модула се намира в: /profiles//installedApps// .ear\.war Ако е успешно, проблемът е в ресурса. Прегледайте файла SystemOut.log за сървъра на приложения, за да откриете защо ресурсът не може да бъде намерен или обслужен.

Вижте наличната онлайн поддръжка

Ако никоя от тези стъпки не реши проблема ви, проверете дали проблемът е идентифициран и документиран, като разгледате наличната онлайн поддръжка (съвети и съвети, технически бележки, и корекции), които са свързани с проблеми с уеб контейнера: http://www.ibm.com/support/search.wss?rs=180&tc=SSEQTP&tc1=SSCMPDF

Ако търсенията не успеят да намерят проблема, отидете на „Следващата стъпка“ на страница 209 за информация относно събирането на документацията на MustGather за проблеми с HTTP статус код 404 „Не е намерен“.

5.2.4 Симптом: Грешка HTTP 404 - Неуспешно намиране на ресурс

Ако браузърът покаже съобщение JSPG0036E: Неуспешно намиране на ресурс, JSP процесорът не може да намери указаната JSP страница в уеб модула, както е показано на Фигура 5-5 на страница 176.

Глава 5. Определяне на проблем с уеб контейнер 175

Фигура 5-5 JSPG0036E: Неуспешно намиране на ресурс

Проверете дали URL адресът е правилен

Следвайте стъпките, описани в „Спецификация на URL адреса на приложението“ на страница 186, за да видите дали посоченият URL адрес е правилният URL адрес.

Ако URL адресът изглежда правилен, възможно е тази страница да не съществува в модула за внедряване на уеб модул (WAR файл). Уверете се, че исканата страница се намира в структурата на директорията на уеб модула:

/profiles//installedApps// .ear\.war

Вижте наличната онлайн поддръжка

Ако тези стъпки не са успели да идентифицират проблема, вижте „Следващата стъпка“ на страница 209.

176 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

5.2.5 Симптом: HTTP 404 грешка - WebGroup/виртуален хост не е дефиниран Може да се появи съобщение за грешка SRVE0017W: WebGroup/Virtual Host не е дефиниран във файла SystemOut.log по много причини. Проверете следното, за да коригирате проблема.

Проверете дали уеб модулът е стартиран

Проверете дали уеб модулът е стартиран успешно (вижте „Проверете дали уеб модулът е стартиран успешно“ на страница 172).

Проверете дали псевдонимът на хоста е уникален

Дублиран псевдоним на хост, който е дефиниран в множество виртуални хостове, може да причини този тип проблем. Например в Пример 5-3 псевдонимът на хоста test:80 се дублира и в двата виртуални хоста, тъй като URI, който съдържа test:80, би съвпаднал с псевдоними и в двата виртуални хоста (*:80 и test:80).

Пример 5-3 Дефиниции на виртуален хост

За да разрешите този проблем:

1. В административната конзола на WebSphere щракнете върху Околна среда → Виртуални хостове. 2. Изберете целевия виртуален хост, след това щракнете върху Псевдоними на хост и изберете *:80 псевдоним на хост. 3. Променете полето Име на хост на конкретен псевдоним вместо * псевдоним. 4. Рестартирайте сървъра на приложения.

Забележка: Съществуването на localhost като псевдоним може да причини дублиращи се записи.

Ако localhost се използва като запис за псевдоним, проверете файла etc/hosts, за да се уверите, че всички имена на хостове (псевдоними), свързани с обратният адрес (127.0.0.1) е част от едно и също виртуално хост групиране (например default_host).

Глава 5. Определяне на проблем с уеб контейнер 177

Проверете дали URL адресът е правилен. Вижте „Спецификация на URL адрес на приложение“ на страница 186, за да определите дали URL адресът е правилен.

Ако получите това съобщение за грешка, вижте техническа бележка # 1193379 на следния уеб адрес за подробности за причината и решението: http://www.ibm.com/support/docview.wss?uid=swg21193379

Вижте наличната онлайн поддръжка

Ако никоя от тези стъпки не реши проблема ви, проверете дали проблемът е идентифициран и документиран, като разгледате наличната онлайн поддръжка (съвети и съвети, технически бележки и корекции), които са свързани с проблеми с уеб контейнера: http://www.ibm.com/support/search.wss?rs=180&tc=SSEQTP&tc1=SSCMPDF

Ако вашите търсения не успеят да намерят проблема, отидете на "Следващата стъпка" на страница 209 за информация относно събирането на документацията на MustGather за проблеми със сървлет машината и уеб контейнера.

178 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

5.2.6 Симптом: HTTP 500 грешка - грешка при обработка на JSP Фигура 5-6 показва диагностичните стъпки, които трябва да се предприемат, когато симптомите на проблема включват HTTP 500 - грешка при обработката на JSP.

нито един HTML или сървлет не се показва правилно HTTP 404 - Страницата не е намерена стъпки

да

нито един JSP процесор не стартира нормално

Фигура 5-6 Грешка при обработка на JSP

Определете дали неуспешният файл е единственият неуспех

Трябва да определите дали се изискват други типове ресурси, като HTML файлове или сървлети и показва правилно. Ако грешката не изглежда ограничена до един JSP файл, отидете на "Симптом: HTTP 404 грешка - Страницата не може да бъде показана" на страница 172.

Уверете се, че JSP процесорът е стартиран нормално

Ако други ресурси се показват правилно, определете дали JSP процесорът е стартиран нормално. Прегледайте файла SystemOut.log на сървъра, който хоства JSP файловете, до които се опитвате да получите достъп. Съобщенията, показани в Пример 5-4, показват, че JSP процесорът е стартирал нормално.

Пример 5-4 Съобщения за JSP процесор във файла SystemOut.log

WebContainer A SRVE0239I: Extension Factory [class com.ibm.ws.jsp.webcontainerext.JSPExtensionFactory] беше регистриран успешно. WebContainer A SRVE0240I: Extension Factory [class com.ibm.ws.jsp.webcontainerext.JSPExtensionFactory] е свързан с шаблони [*.jsp *.jspx *.jsw *.jsv].

Ако JSP процесорът не успее да се зареди, отидете на "Следващата стъпка" на страница 209 за информация относно събирането на MustGather документация за JSP изключения.

Глава 5. Определяне на проблем с уеб контейнер 179

Потърсете грешки в JSP кода Ако JSP процесорът стартира нормално, проблемът може да е в самия JSP файл. JSP може да има невалиден JSP синтаксис, който не може да бъде обработен от JSP процесора. За да потърсите грешки в кода на JSP: Проверете файла SystemOut.log на целевия сървър за приложения за невалидни съобщения за синтаксиса на JSP директива. Грешки, подобни на показаните в Пример 5-5, показват този вид проблем.

Пример 5-5 Съобщение за грешка в синтаксиса на JSP директива

Съобщение: /test.jsp(2,1)JSPG0076E: Липсва задължителна страница с атрибут за jsp елемент jsp:include

стрес Проверете файла SystemOut.log за проблеми с невалиден синтаксис на Java. Грешки, които съдържат текст, подобен на „неуспешно компилиране (показано в пример 5-6), показват този вид проблем.

Пример 5-6 Невалидно съобщение за грешка в синтаксиса на Java

com.ibm.ws.jsp.JspCoreException: JSPG0049E: /test.jsp не успя да се компилира: JSPG0091E: Възникна грешка на ред: 16 в файл: /test.jsp JSPG0093E: Генерирана грешка на сървлета от файл: /test.jsp

Потърсете разширените дефиниции за грешки за JSP съобщения на:

http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com.ibm .websphere.messages.doc/doc/JSPG.html ␂ Коригирайте грешката в JSP файла и опитайте отново файла.

Вижте наличната онлайн поддръжка

Ако не сте идентифицирали проблема, проверете дали проблемът е документиран, като разгледате наличната онлайн поддръжка (съвети и съвети, технически бележки и поправки) за JSP проблеми на: http://www-1.ibm.com/support/search.wss?rs=180&tc=SSEQTP&tc1= SSCC2GL&rankprofile=8&dc=DB520+D800+D900+DA900+DA800& dtm

Ако търсенията не успеят да разрешат проблема ви, отидете на "Следващата стъпка" на страница 209 за информация относно събирането на MustGather документация за JSP изключения.

180 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

5.2.7 Симптом: HTTP 500 грешка - IllegalStateException Ако имате грешка при изключение на нелегално състояние, изключението трябва да ви даде индикация за нелегалното състояние причинявайки проблема. Този раздел разглежда следното: ␂ Невалиден обект на сесия ␂ Проблеми с генерирането на отговор

Невалиден обект на сесия

Компонентът за управление на сесии използва интерфейса HttpSession, за да създаде сесия между HTTP клиент и сървъра. Когато се създаде нов обект на сесия, му се присвоява уникален идентификатор на сесия. Идентификационният номер на сесията, който след това се предава като част от всяка заявка, съпоставя потребителя с обекта на сесията. Проследяването на сесии дава на сървлетите възможността да поддържат информация за състоянието и потребителя в множество заявки.

Сесиите може да бъдат анулирани автоматично поради изчакване на сесията (вижте

„Интервал на изчакване на сесията“ на страница 207) или могат да бъдат прекратени изрично от кода на приложението. Интерфейсът HttpSession предоставя следния метод за изрично прекратяване на сесия: public void invalidate();

Когато една сесия приключи, обектът на сесията и информацията, която се съхранява в него, се губят завинаги. Мениджърът на сесията развързва всички обекти, свързани със сесията, преди да унищожи сесията.

Фигура 5-7 илюстрира жизнения цикъл на интерфейса HttpSession.

Извличане на обекта на сесията

Извикване на метод на обект на сесия Съхраняване на обект в сесията

Извличане обект от сесия

не Невалиден обект на сесия? Премахване на обект от сесията да Невалидност на обект на сесия Изхвърляне на IllegalStateException

Фигура 5-7 Жизнен цикъл на интерфейса HttpSession

Глава 5. Определяне на проблеми с уеб контейнера 181

Когато приложението се опита да използва невалиден обект на сесия, възниква IllegalStateException, както е показано в Пример 5-7.

Пример 5-7 IllegalStateException в невалиден обект на сесия

[7/7/05 16:41:30:627 ART] 00000028 ServletWrappe E SRVE0068E: Не може да се извика методът service() на сервлета TestServlet . Изхвърлено изключение: java.lang.IllegalStateException: Вътрешни обекти на сесия: id: pi55X7syi-ExTjyyhFn5Cu7 hashCode: 1449590567 време за създаване: четвъртък, 07 юли, 16:24:54 ART 2005 последен достъп: четвъртък, 07 юли 16:41:30 ART 2005 макс. неактивен интервал : 1800 потребителско име : анонимен валидна сесия : false нова сесия : true overflowed : false несериализиращи се специфични за приложение данни за сесия : {} сериализуеми специфични за приложение данни за сесия : {} на com.ibm.ws.webcontainer.httpsession.SessionData.getValueGuts( SessionData.java(C ompiled Code)) в com.ibm.ws.webcontainer.httpsession.SessionData.getValue(SessionData.java(Inlin ed Compiled Code)) в com.ibm.ws.webcontainer.httpsession.SessionData.getAttribute(SessionData .java(I nlined компилиран код)) на com.ibm.ws.webcontainer.httpsession.HttpSessionFacade.getAttribute(HttpSessionF acade.java(компилиран код))

Проверете сървлета или JSP кода, който е хвърлил изключението, за да се уверите, че сесията не е анулирана твърде рано. Ако това не е така, проверете интервала на изчакване на сесията, за да се уверите, че не е твърде кратък.

Вижте наличната онлайн поддръжка

Ако тези стъпки не идентифицират проблема, следните ресурси могат да бъдат от помощ: ␂ Прегледайте спецификацията на Java Servlet версия 2.4, раздел SRV.15.1.7, свързан с Интерфейс на HttpSession и дефиниции на методи, за да получите повече подробности за причините за създаване на IllegalStateException: http://jcp.org/aboutJava/communityprocess/final/jsr154/index.html

182 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

добавка Потърсете разширените дефиниции за грешки за съобщения за сесии и потребителски профили: http://publib.boulder.ibm.com/infocenter/wasinfo/ v6r0/index.jsp?topic=/ com.ibm.websphere.messages.doc/doc/SESN.html

Ако тези действия не идентифицират проблема, отидете на „Следващата стъпка“ на страница 209 за информация относно събирането на MustGather документация за сесия и проблеми с управлението на сесията.

Проблеми с генерирането на отговор

Когато HTTP заявка от клиент е делегирана на сервлет, се извиква методът service() на класа HttpServlet. Класът HttpServlet добавя допълнителни методи, като doGet(), doPost(), doPut() и doHead(), за HTTP-базирана обработка на заявки. Фигура 5-8 илюстрира жизнения цикъл на метода service().

Извличане на параметри за инициализация

Извличане на заглавки на заявка

Извикване на RequestDispacher Извличане на параметри на заявка

Генериране на обект на отговор Изпращане на отговор чрез сървлет

Изпращане отговор от уеб ресурс Изпълнение на метода sendRedirect

Вече няма ангажиран отговор? Показване на страница в браузъра Отговорът вече е ангажиран?

Да

Throw IllegalStateException Throw IllegalStateException

Фигура 5-8 Жизнен цикъл на метода Servlet service()

Изключението java.lang.IllegalStateException: Response already committed

се хвърля от интерфейса HttpServletResponse по време на процеса на генериране на отговор (Пример 5-8 на страница 184). Ако отговорът е бил ангажиран, не можете да изпълните нито един метод, който е свързан с

Глава 5. Определяне на проблем с уеб контейнер 183

Модификация на обект HttpServletResponse. Например, ако сте написали нещо в буфера за отговор, не можете да препратите страница, като използвате методите на интерфейса RequestDispacher.

Пример 5-8 IllegalStateException при генериране на отговор

[7/8/05 20:36:25:694 ART] 0000004f ServletWrappe E SRVE0068E: Не може да се извика методът service() на сервлета TestServlet. Хвърлено изключение: java.lang.IllegalStateException в com.ibm.ws.webcontainer.webapp.WebAppDispatcherContext.sendRedirect(WebAppDispa tcherContext.java:486) в com.ibm.ws.webcontainer.srt.SRTServletResponse.sendRedirect(SRTServletResponse. java:81 0 ) в web.TestServlet.doGet(TestServlet.java:56) в javax.servlet.http.HttpServlet.service(HttpServlet.java:743) в javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

[7/8/05 20:36:25:764 ART] 0000004f LocalTranCoor E WLTC0017E: Ресурси

върнати назад поради извикването на setRollbackOnly(). [7/8/05 20:36:25:774 ART] 0000004f WebApp E SRVE0026E: [Грешка на сервлета]-[TestServlet]: java.lang.IllegalStateException в com.ibm.ws.webcontainer.webapp.WebAppDispatcherContext.sendRedirect(WebAppDispa tcherContext.java:486) в com.ibm.ws.webcontainer.srt.SRTServletResponse.sendRedirect(SRTServletResponse. java:810) в web.TestServlet.doGet(TestServlet.java:56) в javax.servlet.http.HttpServlet.service (HttpServlet.java:743) на javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

[7/8/05 20:36:25:784 ART] 0000004f SRTServletRes W ПРЕДУПРЕЖДЕНИЕ: Не може да се зададе

състояние. Отговорът вече е ангажиран.

Други проблеми, които трябва да търсите в приложение, което може да причини

java.lang.IllegalStateException, са следните извиквания, когато отговорът вече е бил ангажиран: ␂ Извикване на setBufferSize() ␂ Извикване на ServletResponse.reset( ) или ServletResponse.resetBuffer() действие Извикване на HttpServletResponse.sendError() или HttpServletResponse.sendRedirect(). ␂ Извикване на RequestDispatcher.forward(), което включва изпълнение на jsp:forward

184 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Забележка: Не забравяйте, че ако извикате forward() или sendRedirect() във вашия код, всички редове от код след тях ще продължат да се изпълняват.

Два често срещани варианта на това изключение са:

java.lang.IllegalStateException: Заглавието вече е изпратено. Един или повече заглавки са ангажирани към клиента, така че не можете да зададете отново това заглавие. java. lang.IllegalStateException: Не може да се препрати, тъй като Output Stream или Writer вече са получени. Извикващият сървлет е извикал response.getWriter() или response.getOutputStream(). Тъй като отговорът е написан, той не е подходящ за препращане.

Вижте наличната онлайн поддръжка

Ако все още не сте идентифицирали причината за проблема, вижте Java ServletSpecification версия 2.4 на следния URL адрес, за да получите повече подробности за причините за генериране на IllegalStateException в процеса на генериране на отговор: http ://jcp.org/aboutJava/communityprocess/final/jsr154/index.html

Прегледайте следните раздели:

Интерфейс SRV.14.2.5 Интерфейс на RequestDispatcher SRV.14.2.16 Интерфейс ServletRequest SRV.14.2.22 Интерфейс ServletResponse

Ако тези стъпки не решат проблема ви, отидете на „Следващата стъпка“ на страница 209 за информация относно събирането на документацията на MustGather за проблеми със сървлет машината и уеб контейнера.

Глава 5. Определяне на проблеми с уеб контейнери 185

5.3 Анализиране на проблемни области Вашият анализ на данните, които сте събрали, най-вероятно ще ви отведе до една от следните области. Ако не, вижте "Следващата стъпка" на страница 209.

5.3.1 Спецификация на URL адреса на приложението

При нова инсталация или ново приложение е възможно URL адресът на приложението да не е зададен правилно. За да определите URL адреса на инсталираното приложение, трябва да използвате административната конзола, за да видите конфигурацията на редица елементи.

Форматът на URL адреса е както следва:

Фигура 5-9 Изброяване на виртуалния хост за уеб модул

186 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

За да намерите хоста и номерата на портовете, които са валидни за виртуалния хост:1. Изберете Среда → Виртуални хостове.2. Изберете виртуалния хост и след това под Допълнителни свойства щракнете върху Псевдоними на хост.3. Списъкът съдържа име на хост и комбинации от портове, които могат да се използват за достъп до този виртуален хост (Фигура 5-10). Колоната хост трябва да съдържа стойности, които са регистрирани в DNS сървър като име на хост за WebSphere сървъра. Звездичка (*) в колоната за хост показва, че може да се използва всяко име. В този случай използвайте името на хоста на сървъра. Ако порт 80 е посочен, обикновено заявката се препраща от уеб сървър. (Потребителят е посочил URL адреса на уеб сървъра, който обикновено е 80.) Портовете WC_defaulthost (например 9080) и WC_defaulthost_secure (например 9443) за сървъра на приложения също трябва да бъдат изброени. Можете да видите съответните портове, като погледнете списъка с портове в секцията Комуникации на сървъра на приложения. Използвайте или комбинацията хост/порт, която осъществява достъп до виртуалния хост през уеб сървъра, или комбинацията хост/порт за използване на WC_* портове за достъп до приложението директно през сървъра на приложения.

Фигура 5-10 Намиране на псевдоним и портове за виртуалния хост

Глава 5. Определяне на проблеми с уеб контейнери 187

Ако имате нужда от SSL, можете да проверите транспортните вериги на уеб контейнери за съответните портове, за да видите дали SSL е активиран, като направите следното: a. Изберете Сървъри → Сървъри на приложения. b. Изберете името на сървъра за приложения. ° С. Под Настройки на контейнера отворете списъка с настройки на уеб контейнера. д. Щракнете върху Вериги за транспортиране на уеб контейнери и проверете състоянието и разрешаването на SSL за порта, който е указан в псевдонима на виртуалния хост.

Фигура 5-11 Намиране на контекстния корен

188 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Важно: Не забравяйте, че се използва кореновата стойност на контекстния уеб контейнер "/" от примерното приложение, наречено DefaultApplication. Поради тази причина, ако трябва да използвате тази стойност и това примерно приложение е инсталирано, първо деинсталирайте примерното приложение, инсталирайте своето приложение и повторно генерирайте добавката на уеб сървъра.

Пример 5-9 Сървлети и файлове за добре дошли в дескриптора за уеб разгръщане

Глава 5. Определяне на проблем с уеб контейнер 189

5.3.2 Статичните ресурси не се показват

Ако браузърът показва текстов изход, който е свързан с JSP или сървлет уеб страница, но изображения или HTML файлове не се показват, може да имате проблем в опаковката на уеб модула или в начина, по който файловете се препращат в приложението. Друга възможност е функцията за разрешаване на обслужване на файлове да бъде включена за вашето приложение.

Проверете местоположенията на файловете със статични ресурси

Първата стъпка е да проверите дали вашите файлове са на правилното място и че главната директория на документа на модула за уеб приложение следва стандарта J2EE, т.е. коренът на документа е в директорията .war на ear файла на разгърнатото приложение. Обикновено тази директория е на това място: /profiles//.ear/ .war/

Ако файловете с изображения са в поддиректория на корена на документа, проверете дали препратката към изображението отразява това, както е показано в Пример 5-11.

Пример 5-11 Препратка към изображение в HTML тагове

Местоположение на файла: /images/test.gif Правилен HTML таг: Неправилен HTML таг:

190 WebSphere Application Server V6 Откриване на проблеми за разпределени платформи

Забележка: Не поставяйте файлове, които да бъдат обслужвани на клиента, в директорията WEB-INF.

Проверете функцията за активиране на обслужване на файлове

Обслужването на файлове позволява на уеб приложение да обслужва статични файлови типове (HTML, изображения и таблици със стилове) с помощта на сървлета за активиране на файлове, известен още като сървър за обслужване на файлове или файл активатор на сервиране. Този сървлет обслужва всеки ресурсен файл, който е пакетиран във WAR файла, а активираният атрибут за обслужване на файлове е зададен на true по подразбиране. За повече информация относно тази функция вижте: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/ cweb_flserv.html

Това поведение се реализира чрез задаване на свойството fileServingEnabled на

true при конфигуриране на уеб модула. Ако е зададено на false, добавката за уеб сървър не изпраща заявки за статично съдържание към сървъра на приложения, а оставя на уеб сървъра да ги обслужва. Това понякога се прави от съображения за производителност, за да се гарантира, че съдържанието се обслужва от уеб сървъра. Сервирането на страницата от уеб сървъра предоставя по-кратък път до страницата и обикновено предоставя повече опции за персонализиране, отколкото файловият сървлет може да предложи.

За повече информация вижте:

␂ Персонализиране на SimpleFileServlet за деактивиране на обслужването на файлове на: http://www.ibm.com/support/docview.wss?uid=swg21116838 ␂ Поддържани инструменти за асемблиране в WebSphere Сървър за приложения V6: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com.ibm.websphere.base.doc/info/aes/ae/catk_assemblytools.html

Свойството fileServingEnabled се намира в конфигурационния файл ibm-web-ext.xmi

на адрес:/profiles//installedApps//.ear\.war/WEB-INF/ibm-web-ext .xmi

За да актуализирате свойството с помощта на Application Server Toolkit или Rational

Developer tool:1. Отидете до изгледа J2EE Hierarchy (Project Explorer в Rational) и изберете целевия модул на уеб приложение.2. Щракнете двукратно върху дескриптора за уеб разгръщане (web.xml) и изберете раздела Разширения, за да видите разширенията на уеб модула на IBM (Фигура 5-12 на страница 192).3. В раздела Общи изберете или премахнете отметката от Активирано обслужване на файлове, за да активирате или деактивирате обслужването на статични файлове.

Глава 5. Определяне на проблем с уеб контейнер 191

4. Запазете файла с дескриптор на уеб разгръщане. 5. Преразпределете уеб модула. 6. Генерирайте отново добавката на уеб сървъра и я разпространете към уеб сървъра. 7. Спрете и рестартирайте уеб сървъра или оставете достатъчно време за презареждане на новата конфигурация на приставката. 8. Опитайте отново уеб заявката.

Фигура 5-12 Разширения на уеб модул на IBM

5.3.3 Уеб ресурсите не се презареждат

Ако след модифициране и запазване на сървлет или JSP файл, промяната не се показва в браузъра, трябва да проверите настройките за презареждане в конфигурацията на уеб модула и настройките за презареждане на времето за изпълнение на JSP.

192 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Презареждане на уеб модул За уеб ресурси като сървлети и JSP, уеб контейнерът презарежда уеб модул само когато презареждането на разширението на IBM е разрешено в ibm-web-ext .xmifile е зададен на true. Можете да зададете reloadingEnabled на true, когато редактирате разширените дескриптори за разполагане на Webmodule в инструмент за асемблиране.

За да прегледате тези настройки с Application Server Toolkit или Rational

Application Developer:1. Отидете до изгледа J2EE Hierarchy (Project Explorer за Rational) и изберете целевия модул на уеб приложение.2. Щракнете двукратно върху дескриптора за уеб разгръщане (web.xml) и изберете раздела Разширения, за да видите разширенията на уеб модула на IBM (Фигура 5-12 на страница 192).3. В раздела Общи проверете флага Активирано презареждане и стойността на Интервал презареждане.4. Изберете Reloading Enabled или, ако вече е избрано, задайте интервала на презареждане по-нисък.5. Запазете файла с дескриптор на уеб внедряване.6. Преразпределете уеб модула.7. Регенерирайте приставката за уеб сървър и я разпространете към уеб сървъра.8. Спрете и рестартирайте уеб сървъра или изчакайте новият файл на добавката да влезе в сила.9. Опитайте отново уеб заявката.

Записите в ibm-web-ext.xmi изглеждат подобно на показаното в пример 5-12.

Пример 5-12 Настройки за презареждане на уеб модул в ibm-web-ext.xmi

Конфигуриране на презареждане на време за изпълнение на JSP

Имате възможността да променяте поведението на JSP процесора за различни етапи на JSP (като среда за разработка, тестване или производство). Това става чрез конфигуриране на специфични атрибути в разширенията на уеб модула на IBM, които засягат поведението на презареждане на JSP по време на изпълнение.

Глава 5. Определяне на проблеми с уеб контейнера 193

За да прегледате тези настройки с Application Server Toolkit или Rational Application Developer: 1. Отидете до изгледа J2EE Hierarchy (Project Explorer за Rational) и изберете целеви модул за уеб приложение. 2. Щракнете двукратно върху дескриптора за уеб разгръщане (web.xml) и изберете раздела Разширения. 3. Под секцията JSP Attributes (Фигура 5-13), щракнете върху Add. 4. Въведете reloadEnabled в полето Name, true в полето Value и щракнете върху Finish. 5. Запазете файла с дескриптор на уеб внедряване. 6. Преразпределете уеб модула. 7. Генерирайте повторно добавката на уеб сървъра и се уверете, че работи (вижте "Проверете дали добавката на уеб сървъра работи" на страница 173). 8. Спрете и рестартирайте уеб сървъра. 9. Опитайте отново уеб заявката.

Фигура 5-13 JSP атрибути в IBM Web модулни разширения

194 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Настройките на JSP машината се съхраняват в ibm-web.ext .xmi, както е показано в Пример 5-13.

Пример 5-13 Настройки на JSP машина в ibm-web-ext.xmi

5.3.4 Проблеми с кодирането и интернационализацията

Проблемите с кодирането и интернационализацията обикновено се появяват като боклук в уеб страници (Фигура 5-14 на страница 196). Друг често срещан симптом е, че въведеното от потребителя се интерпретира неправилно.

Глава 5. Определяне на проблем с уеб контейнер 195

Фигура 5-14 Уеб страница с невалидни настройки за кодиране на знаци

Кодиране на знаци в J2EE среда

Уеб компонентите обикновено използват обект java.io.PrintWriter за генериране на отговори; PrintWriter автоматично кодира с помощта на кодиране на знаци ISO 8859-1. Сървлетите могат също да извеждат двоични данни с помощта на обекти java.io.OutputStream, които не извършват кодиране. Приложение, което не може да използва кодирането по подразбиране, трябва изрично да зададе различно кодиране.

За уеб компоненти трябва да се имат предвид три кодировки:

196 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Кодиране на заявкаКодирането на заявка е кодирането на знаци, в което параметрите във входяща заявка се тълкуват. Понастоящем много браузъри не изпращат квалификатор за кодиране на заявка с HTTP заглавката тип съдържание. В такива случаи Webcontainer използва кодирането по подразбиране: ISO-8859-1, за да анализира данните на заявката. Ако клиентът не е задал кодиране на знаци и данните на заявката са кодирани с кодиране, различно от стандартното, данните няма да бъдат интерпретирани правилно.

За да коригирате тази ситуация, можете да използвате метода setCharacterEncoding(String enc)

за замяна на кодирането на знаци, предоставено от контейнера, както е показано в пример 5-14.

Пример 5-14 внедряване на метод setCharacterEncoding()

публичният клас TestServlet разширява HttpServlet {

public void doPost(HttpServletRequest req, HttpServletResponse resp)

хвърля ServletException, IOException {

Трябва да извикате метода, преди да анализирате каквито и да е параметри на заявката или да прочетете какъвто и да е вход от заявката. Извикването на метода или тага след прочитане на данните няма да повлияе на кодирането.

Ако нито едно от тях не е предоставено, ISO-8859-1 се използва като кодиране на страницата по подразбиране.

Глава 5. Определяне на проблеми с уеб контейнера 197

< h2> Атрибутите pageEncoding и contentType определят кодирането на знаците на страницата

само на файла, който физически съдържа директивата за страница.

Ако не е предоставено нито едно от тях, ISO-8859-1 се използва като отговор по подразбиране

Методът setContentType() в сървлет може да бъде извикан за промяна на знака

кодиране. Извикванията, направени след като методът getWriter() е бил извикан или след като отговорът е бил ангажиран, нямат ефект върху кодирането на знаците.

Настройки за кодиране на знаци на MVC/Struts

Когато използвате архитектура Model-View-Controller, включително използването на Struts, вземете предвид следното за кодиране.

198 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Изискване на кодиране на знаци В среда на Struts извикайте метода setCharacterEncoding() в ActionForm, както е показано в Пример 5-16.

Пример 5-16 Кодиране на заявка в реализация на Struts

.public class PostMessageForm extends ActionForm { public void reset(ActionMapping mapping, HttpServletRequest request) { try { request.setCharacterEncoding("UTF-8"); }catch (UnsupportedEncodingException e) { e.printStackTrace(); } }}.

Кодиране на знаци за отговор

Определете кодирането на отговора, като използвате атрибута contentType с charsetvalue в директивата за JSP страница.

Конфигурация на WebSphere Application Server

WebSphere определя кодирането на знаци, използвано за заявка/отговор, като анализира входните стойности на клиента в getParameter() и записва изхода за стойността в заглавката на езика за приемане на входящата заявка.

Езиковата стойност и съответните имена за кодиране на знаци са

асоциирани във файла encoding.properties, който се намира в директорията/properties (Пример 5-17).

Пример 5-17 файл encoding.properties

Глава 5. Определяне на проблем с уеб контейнер 199

Може да има случаи, в които искате да замените дефиницията в encoding.properties. Например, когато искате да използвате UTF-8 за целия сървър на приложения, използвайте JVM аргумента на командния ред client.encoding.override за избрания сървър на приложения.

Посочете -Dclient.encoding.override=UTF-8 за генеричните JVM аргументи

полето в раздела Java Virtual Machine.

За повече информация вижте:

http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com.ibm.websphere.base.doc /info/aes/ae/trun_svr_utf.html

autoRequestEncoding и autoResponseEncoding

Започвайки с WebSphere Application Server версия 5, уеб контейнерът вече не задава автоматично кодиране на заявка и отговор и типове съдържание на отговор. Стойността по подразбиране и за двете разширения е false, след което кодирането на символите на заявката и отговора е зададено на спецификацията по подразбиране на Servlet 2.4, която е ISO-8859-1.

Използвайте инструмент за асемблиране (Фигура 5-12 на страница 192), за да промените стойностите по подразбиране за разширенията autoRequestEncoding и autoResponseEncoding.

Прегледайте примерите за кодиране на autoRequestEncoding и autoResponseEncoding

за описание на поведението на уеб контейнера, когато тези стойности са зададени на true: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/ index.jsp?topic=/ com.ibm.websphere.base.doc/info/aes/ae/rweb_autoreq.html

200 WebSphere Application Server V6 Определяне на проблеми за разпределени платформи

Резюме Фигура 5-15 показва обобщение на начина, по който се определят стойностите на кодирането.

Приложението използва изрични Java не

методи за кодиране на символи да

autoRequestEncoding и false

autoResponseEncoding стойности Методи на Servlet 2.4 JSP 2.0 атрибути true

процедура setCharacterEncoding() contextType autoRequestEncoding

setContextType() pageEncoding autoResponseEncoding процедура

Java Servlet 2.4 Spec подразбиране

Фигура 5-15 Процес на определяне на кодиране

Погледнете наличната онлайн поддръжка

Ако никоя от тези стъпки не реши проблема ви, следните ресурси могат да бъдат от полза: глобализирайте своя бизнес по заявка за съвети относно кодирането на знаци: http://www-306.ibm.com/software/globalization/j2ee/encoding.jsp добавете Java Servlet Specification версия 2.4 за подробности относно налични методи за кодиране на знаци: http://jcp.org/aboutJava/communityprocess/final/jsr154/index.html см. Спецификацията на JavaServer Pages Version2.0, раздел JSP.4, които са свързани с проблеми с интернационализацията: http://jcp. org/aboutJava/communityprocess/final/jsr152/index.html Интернационализация: ресурси за обучение http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com.ibm.websphere. base.doc/info/aes/ae/rin_resources.html

Глава 5. Определяне на проблем с уеб контейнер 201

За текуща информация, налична от IBM Support относно известни проблеми и решения, които са свързани с кодирането, вижте: http://www.ibm.com/support/ search.wss?rs=180&tc=SSEQTP&tc


PREV: Относно основните формуляри - Power Apps | Microsoft Docs

NEXT: Архитектура клиент-сървър - общ преглед | Теми на ScienceDirect

Popular Articles

Hot Articles

Navigation Lists

Back to Top