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

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'...

Linux Parse config.xml, get weblogic servers

Вообщем в краце идея вытащить список серверов из config.xml подручными средствами...
Писать всякое гавно на **** языках, чёт было лень поэтому я решил воспользоваться средствами linux=)

Для работы необходим xmllint и xml_grep
т.е пакеты:
libxml2-2.7.6-4.0.1.el6_2.4.x86_64
perl-XML-Twig-3.34-1.el6.noarch
соответственно.

1. Получаем собственно сам список серверов (файл config.xml находится в  $DOMAIN_HOME/config/ )
[oracle@ ~]$ xml_grep /domain/server/name config.xml > servers.xml
<?xml version="1.0" ?>
<xml_grep version="0.7" date="Tue Oct 28 10:42:00 2014">
<file filename="config.xml">
  <name>AdminServer</name>
  <name>tst_1</name>
</file>
</xml_grep>

[oracle@ ~]$ echo "cat //name/text()" | xmllint --nocdata --shell servers.xml | sed '1d;$d;/-/d'|sed ':a;N;$!ba;s/\n/ /g'
AdminServer tst_1

Осталось подумать как это засунуть в одну строку и было бы вообще супер.
Update: Придумал
xml_grep /domain/server/name $DOMAIN_HOME/config/config.xml --text_only|sed ':a;N;$!ba;s/\n/ /g'
!!!

P.S хер его знает но при наличии namespace`ов обойтись просто xmllint не получилось... тем более что эта сука ни как не хотела жрать xpath.
т.е пишет:
xmllint unknown option '--xpath'
Ответ тута такой: Updating libxml2 (to v2.7.8) via macports seems to have fixed the problem.
Проверил OEL 6.4 почему то:
libxml2.x86_64  2.7.6-17.0.1.el6_6.1  ol6_latest
Время идёт а прогресс стоит.... хотя если заморочится то тут можно найти аж 2.9.1, правда в не оф репозиториях.

P.S всё оказалось проще:
xml_grep /domain/server/name $DOMAIN_HOME/config/config.xml --text_only|sed ':a;N;$!ba;s/\n/ /g'
!!!

Комментарии

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

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 должен выглядеть как E...

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 Kerberos

Weblogic установлен на сервере budwf Домен контролер wcctst.wcc.local Клиентская винда XZ 1. Генерим keytab ktpass -princ HTTP/srv_budwf@WCC.LOCAL -mapuser srv_budwf -kvno 0 -crypto AES128-SHA1 -ptype KRB5_NT_PRINCIPAL -pass lalal_1 -out c:\temp\budwf.keytab Т.е в данном случае principal name в keytab полностью соответствует ожиданиям... C:\Users\Administrator>ktpass -princ HTTP/srv_budwf@WCC.LOCAL -mapuser srv_budwf -kv no 0 -crypto AES128-SHA1 -ptype KRB5_NT_PRINCIPAL -pass lalal_1 -out c:\temp\b udwf.keytab Targeting domain controller: wcctst.wcc.local Successfully mapped HTTP/budwf to srv_budwf. Password succesfully set! Key created. Output keytab to c:\temp\budwf.keytab: Keytab version: 0x502 keysize 55 HTTP/budwf@WCC.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 0 etype 0x11 (AE S128-SHA1) keylength 16 (0xbf005ae14d58153abe3eab57cf5a8260) C:\Users\Administrator>setspn -L srv_budwf Registered ServicePrincipalNames for CN=srv_budwf,CN=Users,DC=wcc,DC=local: ...