この項ではDgraphやDgraph Gatewayで問題が発生した場合に収集する必要がある情報について説明します。
問題をOracleサポートに報告するときに、Oracleの技術者が問題を診断し、解決するのに役立つ次の情報を提供するように要請されることがあります。
Dgraph Gatewayの問題のために収集する情報には4つの領域があります。
1: WebLogicの標準ログ
2: 構成ファイル
$BDD_DOMAIN/configディレクトリにあるconfig.xmlを取得します。
3: スレッド・ダンプ
スレッド・ダンプを取得するための最初の手順は、WebLogic ServerのJVMプロセスPIDの取得です。jpsツール(LinuxおよびWindowsの両方で使用可能)により、必要なPIDを取得できます。
jps -mlv | fgrep weblogic
jps -mlv | fgrep weblogic 7769 weblogic.Server -Xms1024m -Xmx4096m -XX:MaxPermSize=1024m -Dweblogic.Name=AdminServer ...
この例で7769はWebLogic JVM PIDです。
jstack -l <pid> <filename>
jstack -l 7769 jstack.weblogic.outIt
jstack -F -l <pid> <filename>
数分ずれた2、3のスレッド・ダンプを、順番を示すファイル名を付けて取得すればたいへん役に立ちます。
jpsツールもjstackツールもJAVA_HOME/binディレクトリにあることに注意してください。
4: ヒープ・ダンプ
jmapツールを使用してヒープ・ダンプを生成します。jstack同様、まず、jpsコマンドを使用してPIDを取得する必要があります。
jmap -dump:format-b,file=<filename>.hprof <pid>
ここでも、JVMの応答がない場合は、-Fフラグを追加します。
jmapツールはJAVA_HOME/binディレクトリにあることに気を付けてください。
問題がパフォーマンス上のものなのかクラッシュなのかに応じて、必要なログ・セットは異なります。また、ZooKeeperのログを送信する必要がある場合もあります。
1: パフォーマンス問題のログ
2: Dgraphクラッシュのログ
3: その他の正確性の問題に関するログ
4: ZooKeeperログ
ZooKeeperログとZooKeeperトランザクション・ログは、リーダー/フォロワ問題に起因する可能性のあるDgraph問題の診断に重宝します。これらのログはbdd-adminのget-logsコマンド出力の一部として取得できます。
5: Dgraphフラグの変更
より完全なログ・エントリを生成するために、Dgraphにフラグを追加するよう、依頼される場合もあります。たとえば、Dgraphの-vフラグではより詳細なエントリが出力されるので、たいへん役に立ちます(このフラグには、通常は2つ付くダッシュのかわりに1つしか付かないことに注意してください)。
Dgraphフラグはbdd.confファイルの様々なプロパティによって設定されます。たとえば、DGRAPH_THREADSプロパティはDgraphのスレッド数を設定します。DGRAPH_ADDITIONAL_ARGプロパティは、-vフラグなど、新しいフラグを追加できるので、特に役立ちます。これらのプロパティの変更の詳細は、「変更できるプロパティの構成」を参照してください。