Oracle Weblogicの各種設定ファイルについて

現状調査用です。
WebLogic 14.1.1.0.0で確認しています。もっとシンプルだった記憶がありましたが、Apache Tomcatと比較してもそれなりに調べるファイルがありました

まとめると以下の表程度は調査項目になると思います。
種類ファイルまたはディレクトリ役割標準のパス
ドメイン設定config.xmlドメイン全体の構成(サーバ、クラスタ、ポート、デプロイアプリ、JDBC/JMS 参照など)$DOMAIN_HOME/config/config.xml
JDBC 設定jdbc/*.xmlデータソース(DB 接続先 URL、JNDI 名、接続プール設定)$DOMAIN_HOME/config/jdbc/*.xml
JMS 設定jms/*.xmlJMS サーバ/モジュール/キュー/トピック設定$DOMAIN_HOME/config/jms/*.xml
WLDF 診断設定diagnostics/*.xml診断ポリシー、監視ルール、ログ収集設定$DOMAIN_HOME/config/diagnostics/*.xml
認証情報boot.properties起動時ユーザ/パスワード(暗号化保存)$DOMAIN_HOME/servers/<ServerName>/security/boot.properties
JVM 環境setDomainEnv.sh / setDomainEnv.cmdJVM オプション、CLASSPATH、ヒープサイズ、GC 方式設定$DOMAIN_HOME/bin/setDomainEnv.sh
サーバ起動startWebLogic.sh管理サーバ起動スクリプト(内部で setDomainEnv を呼ぶ)$DOMAIN_HOME/startWebLogic.sh
サーバ起動startManagedWebLogic.shマネージドサーバ起動スクリプト$DOMAIN_HOME/bin/startManagedWebLogic.sh
Node Managernodemanager.propertiesNode Manager 設定(JVM オプション含むことも可)$WL_HOME/common/nodemanager/nodemanager.properties
キャッシュ/ロックconfigCache.xml / config.lokconfig.xml のキャッシュとロック制御$DOMAIN_HOME/config/

WebLogic 設定ファイルからの直接調査方法
  • 基本ファイルの位置
$DOMAIN_HOME/config/config.xml
$DOMAIN_HOME/config/jdbc/*.xml
$DOMAIN_HOME/config/jms/*.xml
$DOMAIN_HOME/config/diagnostics/*.xml
  • config.xml から情報抽出
grep "<name>" $DOMAIN_HOME/config/config.xml
grep "<listen-port>" $DOMAIN_HOME/config/config.xml
サンプル:(xmlstarlet)
xmlstarlet sel -t -m "/domain/server" -v "name" -o " : " -v "listen-port" -n \
$DOMAIN_HOME/config/config.xml
  • デプロイ済のアプリケーション
grep "<app-deployment>" -A3 $DOMAIN_HOME/config/config.xml
サンプル:xmlstarlet で JNDI 名を確認
xmlstarlet sel -t -m "/domain/app-deployment" -v "name" -n \
$DOMAIN_HOME/config/config.xml
  • JDBC リソースを調査
JDBC ファイル一覧
ls $DOMAIN_HOME/config/jdbc/*.xml

・データソースの URL 確認
grep -i "<url>" $DOMAIN_HOME/config/jdbc/*.xml

・サンプル:(xmlstarlet)
xmlstarlet sel -t -m "/jdbc-data-source/jdbc-driver-params" \
-v "../../name" -o " : " -v "url" -n \
$DOMAIN_HOME/config/jdbc/*.xml
データソース名 : 接続先URL が出力される
  • JMS リソース調査
JMS ファイル一覧
ls $DOMAIN_HOME/config/jms/*.xml

・キュー・トピック抽出
grep -i "<destination-key>" $DOMAIN_HOME/config/jms/*.xml
grep -i "<jms-queue>" $DOMAIN_HOME/config/jms/*.xml
grep -i "<jms-topic>" $DOMAIN_HOME/config/jms/*.xml

・サンプル:(xmlstarlet)
xmlstarlet sel -t -m "/jms-system-resource/jms-resource/jms-queue" \
-v "name" -n \
$DOMAIN_HOME/config/jms/*.xml
  • Diagnostics (WLDF)の 調査
定義ファイル確認
ls $DOMAIN_HOME/config/diagnostics/*.xml

・ポリシー名一覧
grep -i "<wldf-resource>" $DOMAIN_HOME/config/diagnostics/*.xml
  • 括調査スクリプトWebLogic の設定ファイルを直接解析して一覧を CSV 出力する Bash スクリプト
#!/bin/bash
# WebLogic ドメイン現状調査スクリプト
# 出力ファイル: weblogic_config_report.csv

DOMAIN_HOME=/u01/app/oracle/middleware/user_projects/domains/mydomain
OUTPUT=weblogic_config_report.csv

echo "Type,Name,Detail" > $OUTPUT

echo "=== Servers ==="
xmlstarlet sel -t -m "/domain/server" \
-v "concat('Server,', name, ',', listen-port)" -n \
$DOMAIN_HOME/config/config.xml >> $OUTPUT

echo "=== JDBC DataSources ==="
for f in $DOMAIN_HOME/config/jdbc/*.xml; do
xmlstarlet sel -t -m "/jdbc-data-source" \
-v "concat('JDBC,', name, ',', jdbc-driver-params/url)" -n $f >> $OUTPUT
done

echo "=== JMS Queues ==="
for f in $DOMAIN_HOME/config/jms/*.xml; do
xmlstarlet sel -t -m "/jms-system-resource/jms-resource/jms-queue" \
-v "concat('JMS Queue,', name, ',')" -n $f >> $OUTPUT
done

echo "=== JMS Topics ==="
for f in $DOMAIN_HOME/config/jms/*.xml; do
xmlstarlet sel -t -m "/jms-system-resource/jms-resource/jms-topic" \
-v "concat('JMS Topic,', name, ',')" -n $f >> $OUTPUT
done

echo "=== Applications ==="
xmlstarlet sel -t -m "/domain/app-deployment" \
-v "concat('Application,', name, ',', target)" -n \
$DOMAIN_HOME/config/config.xml >> $OUTPUT

echo "=== Diagnostics ==="
for f in $DOMAIN_HOME/config/diagnostics/*.xml; do
xmlstarlet sel -t -m "/wldf-resource" \
-v "concat('Diagnostics,', name, ',')" -n $f >> $OUTPUT
done

echo "調査結果を $OUTPUT に出力しました。"

ご参考まで

関連記事

TOP