JDR - JBoss Diagnostic Reporter
JBoss Advent Calendar 2012の16日目のエントリです。
JBoss AS7にはJDR(JBoss Diagnostic Reporter)という機能があります。$JBOSS_HOME/bin/jdr.shという実行シェルが用意されていて、実行すると以下のようなzipファイルが生成されます。
$ ./jdr.sh Initializing JBoss Diagnostic Reporter... Management username: xxxxx Management password: JDR started: Tue Dec 18 16:26:47 JST 2012 JDR ended: Tue Dec 18 16:26:59 JST 2012 JDR location: /home/nekop/usr/local/jboss-eap-6.0.1.ER4.2/bin/sosreport-localhost.localdomain-20121218162653.zip $ ls -la sosreport-* -rw-rw-r--. 1 nekop nekop 441919 Dec 18 16:26 sosreport-localhost.localdomain-20121218162653.zip -rw-rw-r--. 1 nekop nekop 33 Dec 18 16:26 sosreport-localhost.localdomain-20121218162653.zip.md5
内容には以下のようなものが含まれます。JBoss AS7が起動していなくても動作しますが、起動していない場合はランタイム情報は取得されません。
- standaloneとdomainのconfiguration以下
- standaloneとdomainのlog/*.log
- modules配下のmodule.xml
- ランタイムの情報
- 設定のダンプ
- サービスのダンプ
- スレッドダンプ
- $JBOSS_HOME以下のファイル構成
- $JBOSS_HOME以下のjarファイルのチェックサムとマニフェスト情報
JDRはトラブルが起きたときにとりあえず叩いとく、という機能です。設定ファイルやログのスナップショットを取得、つまり現場の保全を行ってくれるのです。商用サポートでも利用されており、このファイルをサポートに渡すとスムーズにサポートを受けることができます。
現行のAS 7.1 / EAP 6.0ではJDRの実装はJythonを利用しているのですが、AS 7.2 / EAP 6.1からはPure Javaの実装に置き換えられます。