К основному контенту

Weblogic Diagnostic Framework Run Bash Script (reboot managed server) - (bad practices)

Вообщем переодически сервер дохнет по: 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')

Weblogic create Diagnostic Image (thread dump and more) Deadlock (WLDF)

Итак бля свершилось чудо надо накатать пост.
Есть у нас чудный сервер на котором переодически возникают 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



Добавляем тип 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

Комментарии

Популярные сообщения из этого блога

Oracle Cloud Control 12c/13c modify target setup Life Cycle Status (emcli, multiple targets)

https://pardydba.wordpress.com/2012/10/17/how-and-why-you-should-set-target-lifecycle-status-properties-in-em12c/+&cd=1&hl=ru&ct=clnk&gl=ru Итак есть куча таргетов middleware, host и т.д ... Менять руками  LifeCycle Status для всех таргетов внутри middleware это геморой поэтому сделать надо это скриптом. По ссылке выше предлагается это сделать для хостов. Ниже будет описано как это сделать для всех таргетов. В краце инструкция такова: Ставим emcli: oracle@omshost$ export JAVA_HOME=$OMS_HOME/../jdk16/jdk oracle@omshost$ export PATH=$JAVA_HOME/bin:$PATH oracle@omshost$ export ORACLE_HOME=$OMS_HOME oracle@omshost$ cd $ORACLE_HOME oracle@omshost$ mkdir emcli oracle@omshost$ java -jar $ORACLE_HOME/sysman/jlib/emclikit.jar client -install_dir=$ORACLE_HOME/emcli Oracle Enterprise Manager 12c Release 2. Copyright (c) 1996, 2012 Oracle Corporation. All rights reserved. EM CLI client-side install completed successfully. oracle@omshost$ $ORACLE_HOME/emcli/emcli setup -u

Backup elasticsearch with curator.

Сжато кратко, в падлу много расписывать... Вообщем пробуем забэкапить elasticsearch 5.0 с помощью curator 4.2 Что имеем: 2 ноды 1) vapp-cn1 2) vapp-cn2 Репозиторий для бэкапа есть на обоих хостах находится в /backup/el_backup/front права для пользователя под который запущен elasticsearch есть, на обоих нодах в конфиге elasticsearch.yml указанно: path.repo: ["/backup/el_backup/front"] Настройка curator, бэкапить будем все индексы поэтому: 1. snapshot-script.yml actions:   1:     action: snapshot     description: >-       Snapshot logstash- prefixed indices older than 1 day (based on index       creation_date) with the default snapshot name pattern of       'curator-%Y%m%d%H%M%S'.  Wait for the snapshot to complete.  Do not skip       the repository filesystem access check.  Use the other options to create       the snapshot.     options:       repository: elbackup       # Leaving name blank will result in the default 

Oracle SOA email notification или какого х.. оно не работает.

От делать нех задокументируем.... Вообщем то всё рассписанно по ссылке: http://www.rubiconred.com/blog/email-notification-with-soa-suite-11g/ Ссылка походу сдохла!!! Придётся на всякий случай записать пока не забыл... Собственно основные настройки делаются на этой странице: Тут будет текст дабы не плодить картинок: MailAccessProtocol : POP3 RetryLimit : -1 MailDelFreq : 600 AutoDelete : not check Debug : not check CheckMailFreq : 30 ReceiveFolder: INBOX OutgoingMailServer :  mail4.ru OutgoingMailServerPort : 25 OutgoingMailServerSecurity : None OutgoingDefaultFromAddr :  pklmn@mail.ru OutgoingPassword: вроде ни чё не трогал... IncomingMailServer: mail3.ru IncomingMailServerPort: 110 IncomingMailServerSSL: not check IncomingMailIDs: pklmn@mail.ru IncomingUserIDs: pklmn IncomingUserPasswords: тут настраиваем пароль При настройке рекомендуется обращать внимания на всплывающие подсказки например: Sender Address должен выглядеть как EMAIL :ptm