Вообщем переодически сервер дохнет по: The WebLogic Server encountered a critical failure java.lang.OutOfMemoryError: Metaspace Reason: There is a panic condition in the server. The server is configured to exit on panic И хотя это гавно пишет типа Reason: There is a panic condition in the server. The server is configured to exit on panic чёт ни хуя он ни куда не exit.... Вообщем т.к разбираться с тем чем он жрётся нет ни времени ни желания (оно обязательно появится)... как вариант можно приделать костыль... костыль будет заключаться в ребуте сервера при возникновении этой ошибки. Что значит для этого надо... Желания и понимание что так жить нельзя, и вообще... Делаем новый модуль называем скажем: Reboot-OOMMetaSpace Идём в в новый модуль делаем Policy: Называем его OOM-Metaspace и говорит что это Server log: Жмём next в Configuration Policy пишем: log.logMessage.contains('java.lang.OutOfMemoryError: Metaspace'...
Итак бля свершилось чудо надо накатать пост.
Есть у нас чудный сервер на котором переодически возникают deadlock и было бы прикольно автоматом сделать diagnostic image c threaddump и прочей хурмой.
Что для этого надо.
1. Идём в weblogic console
weblogic console -> Diagnoatics -> Diagnostic Module -> New
Назовём его Module-WLDF
OK -> Activate Changes
2. Заходим в новосозданный модуль (Module-WLDF)
Targets -> Указываем в качестве таргета нужный server -> Activate Changes
Заходим в новосозданный модуль (Module-WLDF)
Module-WLDF -> Watches and Notifications -> Watches -> New
Заполняем поля:
Watch Name: Deadlock
Watch Type: Server Log
Enable Watch ясен хер ставим галочку.
-> Next
Current Watch Rule:
((SEVERITY = 'Critical') OR (SEVERITY = 'Info')) AND ((MSGID = 'WL-000394') OR (MSGID = 'BEA-000394'))
(MESSAGE LIKE '%OutOfMemoryError%')
Для 12.2.1.3
https://docs.oracle.com/middleware/12213/wls/WLDFC/config_watches.htm#WLDFC199
-> Next
Добавляем тип Diagnostic Image
Назваем это дело например DiagnosticImageForDeadLock
Указываем директорию где хранить снимки и
The length of time, in minutes, during which no diagnostic images requests will be accepted; that is, the minimum amount of time between image capture requests.
Finish
Далее идём обратно в наш Watch
Diagnostics -> Diagnostic Modules -> Module-WLDF -> Watches and Notifications -> Watches -> Deadlock -> Notifications
И добавляем наш DiagnosticImageForDeadLock
Ждём вообщем deadlock=) и радуемся.
Хотя хули радоваться....=))
Пока писал нашёл хорошую статью
http://www.oraworld.co.uk/weblogic-diagnostics-framework-how-to-create-a-diagnostic-image-capture/
+ дока
https://docs.oracle.com/middleware/1212/core/ASADM/diagnostics.htm#ASADM11157
Есть у нас чудный сервер на котором переодически возникают deadlock и было бы прикольно автоматом сделать diagnostic image c threaddump и прочей хурмой.
Что для этого надо.
1. Идём в weblogic console
weblogic console -> Diagnoatics -> Diagnostic Module -> New
Назовём его Module-WLDF
OK -> Activate Changes
2. Заходим в новосозданный модуль (Module-WLDF)
Targets -> Указываем в качестве таргета нужный server -> Activate Changes
Add Watcher (т.е настраиваем на какие события реагировать)
Заходим в новосозданный модуль (Module-WLDF)
Module-WLDF -> Watches and Notifications -> Watches -> New
Заполняем поля:
Watch Name: Deadlock
Watch Type: Server Log
Enable Watch ясен хер ставим галочку.
-> Next
Current Watch Rule:
((SEVERITY = 'Critical') OR (SEVERITY = 'Info')) AND ((MSGID = 'WL-000394') OR (MSGID = 'BEA-000394'))
(MESSAGE LIKE '%OutOfMemoryError%')
Для 12.2.1.3
https://docs.oracle.com/middleware/12213/wls/WLDFC/config_watches.htm#WLDFC199
log.messageId == 'BEA-000365' and log.logMessage.contains('RUNNING')
-> Next
Add Notification (добавляем некую реакцию "на что либо")
Заходим в новосозданный модуль (Module-WLDF)
Module-WLDF -> Watches and Notifications -> Notifications -> New
Module-WLDF -> Watches and Notifications -> Notifications -> New
Добавляем тип Diagnostic Image
Назваем это дело например DiagnosticImageForDeadLock
Указываем директорию где хранить снимки и
The length of time, in minutes, during which no diagnostic images requests will be accepted; that is, the minimum amount of time between image capture requests.
Finish
Далее идём обратно в наш Watch
Diagnostics -> Diagnostic Modules -> Module-WLDF -> Watches and Notifications -> Watches -> Deadlock -> Notifications
И добавляем наш DiagnosticImageForDeadLock
Ждём вообщем deadlock=) и радуемся.
Хотя хули радоваться....=))
Пока писал нашёл хорошую статью
http://www.oraworld.co.uk/weblogic-diagnostics-framework-how-to-create-a-diagnostic-image-capture/
+ дока
https://docs.oracle.com/middleware/1212/core/ASADM/diagnostics.htm#ASADM11157
Комментарии
Отправить комментарий