11 ロギングおよびエラー・レポート

ロギングおよびエラー・レポートは、発生する可能性のある問題のトラブルシューティングに役立ちます。

11.1 ロギングの構成

ロギング・レベルごとの範囲の指定など、ロギングを処理する様々な方法を構成できます。

11.1.1 ロギングの構成について

RESTfulサービスのロギング構成を使用すると、発生の可能性がある問題のトラブルシューティングに役立つ診断ロギング情報を生成できます。

Oracle Key Vault RESTfulサービスのロギングは、カスタマイズされたJavaロギング・ユーティリティjava.util.loggingに基づいています。

RESTfulサービスのロギング構成は、ログ・プロパティ・ファイルで指定します。ログ・プロパティ・ファイルでは、次のことが可能です。

  • ログ・メッセージの送信先をコンソールにするか、ファイルにするか、その両方にするかを指定します
  • ログ・メッセージを書き込むファイルの名前を指定します
  • ログ・メッセージの詳細のレベルを指定します。
  • 使用するログ・フォーマッタを指定します。XML形式または通常のテキスト形式を選択できます。各ログ・エントリには、そのログ・エントリが生成された時刻とともにクラス、オブジェクトおよびメソッドが表示されます。

Oracle Key Vault RESTfulサービスの構成ファイル(okvrestcli.ini)でログ・プロパティ・ファイルを指定するには、log_propertyパラメータを使用します。

11.1.2 ログ・プロパティ・ファイルのパラメータ

ログ・プロパティ・ファイルには、ハンドラ、ログ・レベル、出力ファイル名などの側面を制御するためのパラメータがあります。

表11-1に、Oracle Key Vault RESTfulロギング・プロパティ・ファイルのパラメータを示します。

表11-1 ログ・プロパティ・ファイルのパラメータ

ロギング・プロパティ 説明

handlers

ログ・メッセージを出力するハンドラ・クラスのカンマ区切りリスト。使用可能なハンドラは、java.util.logging.FileHandlerおよびjava.util.logging.ConsoleHandlerです。

FileHandlerでは、指定したファイルへの書き込み、またはローテーションするファイル・セットへの書き込みができます。

Handlersには、ConsoleHandlerFileHandlerの両方をカンマ(,)で区切って指定できます。

.level

すべてのFileHandlerインスタンスのログ・レベルを設定します。レベルは次のとおりです。

  • ALL: すべてのメッセージをログに記録することを示します。
  • FINE: トレース情報を提示するメッセージ・レベルです。
  • FINER: 相当に詳細なトレース・メッセージを示します。
  • FINEST: きわめて詳細なトレース・メッセージを示します。
  • INFO: 情報メッセージのメッセージ・レベルです。
  • OFF: ロギングをオフにするために使用できる特別なレベルです。
  • SEVERE: 重大な障害を示します。
  • WARNING: 潜在的な問題を示します。

java.util.logging.FileHandler.level

これらのjava.util.logging.FileHandler.levelで使用できるレベルの詳細は、.levelの説明を参照してください。

java.util.logging.FileHandler.pattern

出力ファイル名の生成パターンを指定します。パターンは、実行時に置換される次の特別な構成要素を含む文字列で構成されます。

  • /: ローカル・パス名のセパレータです。
  • %t: システムの一時ディレクトリです。
  • %h: user.homeシステム・プロパティの値です。
  • %g: ローテーションされたログを区別するための世代番号です。%gフィールドが指定されていないときに、ファイル数が複数になる場合は、生成されたファイル名の末尾のドットの後に世代番号が追加されます。
  • %u: 同時Javaプロセス間の競合を解決するための一意の番号です。
  • %%: 単一のパーセント記号%に変換されます。

java.util.logging.FileHandler.limit

ファイルの最大サイズ(バイト単位)。0の場合は、無制限になります。デフォルトは200000です。指定の制限より大きいログは、次のログ・ファイルにロールオーバーされます。

java.util.logging.FileHandler.count

ログ・ファイルのローテーションに使用するログ・ファイルの数。デフォルトは5です。

java.util.logging.FileHandler.formatter

使用するFormatterクラスの名前を指定します。

XML形式でログ・エントリを生成するには、java.util.logging.XMLFormatterを使用します。

プレーン・テキストでログ・エントリを生成するには、com.oracle.okv.rest.log.OkvFormatterを使用します。

java.util.logging.ConsoleHandler.level

すべてのConsoleHandlerインスタンスのログ・レベルを設定します。

これらのレベルの詳細は、java.util.logging.FileHandler.levelの説明を参照してください。

java.util.logging.ConsoleHandler.formatter

使用するFormatterクラスの名前を指定します。

XML形式でログ・エントリを生成するには、java.util.logging.XMLFormatterを使用します。

プレーン・テキストでログ・エントリを生成するには、com.oracle.okv.rest.log.OkvFormatterを使用します。

11.1.3 例: ロギング・ファイル

Oracle Key Vault RESTfulサービスのロギング・ファイルは、Javaロギング・ユーティリティのjava.util.loggingに基づいています。

例11-1に、INFOロギング・レベルを使用するロギング・ファイルを示します。

例11-1 ロギング・ファイル

handlers= java.util.logging.FileHandler
.level=INFO

# default file output is in log directory.
java.util.logging.FileHandler.pattern = /usr/local/okv/okvrestcli.log
java.util.logging.FileHandler.limit = 200000
java.util.logging.FileHandler.count = 4
java.util.logging.FileHandler.level = INFO
java.util.logging.FileHandler.formatter = com.oracle.okv.rest.log.OkvFormatter

11.2 エラー・レポート

RESTfulサービス・ユーティリティには、RESTfulサービス・コマンドをすばやく正常に実行するためにデバッグする強力なエラー・レポートがあります。

11.2.1 エラー・レポートについて

ロギング構成によっては、障害に関する追加情報がOracle Key Vaultによってログ・ファイルに書き込まれる場合があります。

修正処理の提案とともに具体的なエラーが報告されます。エラー・レポートは、すべてのRESTコマンドに共通です。

コマンドの失敗について調べるときには、まずログ・ファイルを調べます。選択した場所にカスタム・ログ・ファイルを作成していない場合は、confディレクトリ内にあるデフォルトのログ・ファイルokvrestcli.logを調べます。

コマンド実行中のOracle Key Vaultサーバーからのすべてのメッセージを表示するには、構成ファイルで適切なロギング・レベル、ログ・ファイル名およびログ・ファイルの場所を設定できます。

RESTfulサービス・ユーティリティは、ファイルやJAVA_HOMEなどの環境変数が見つからない、不正なコマンド構文、不正なパスワードなどのエラーを報告します。

11.2.2 コマンドラインのエラー・レポート

エラー・レポートでは、不正なパスワードなどの問題があったアクションおよび正常なコマンド実行の両方が取得されます。

例: エラー: 不正なパスワード

okv admin endpoint update --user psmith --endpoint hr_db_ep --description 'HR DB Endpoint'
Password: password
{
  "result" : "Failure",
  "message" : "Invalid username or password. Try again after 5 seconds."
}

例: 正常なサービス・コマンドの実行

okv admin endpoint update --user psmith -endpoint hr_db_ep --description 'HR DB Endpoint'
Password: password
{
  "result" : "Success"
}

例: ログ・ファイルのエントリ

有用なエラー・メッセージおよび使用に関するメッセージに加え、ログ・ファイルには、アクションのエントリが日付とともに記録されます。

Thu Oct 29 15:50:19 PDT 2020::com.oracle.okv.rest.cli.okv::main::1::[backup, history, list, --max, 5]
Thu Oct 29 15:50:19 PDT 2020::com.oracle.okv.rest.cli.backup.BackupProcessManager::<init>::1::https://10.240.112.193:5695/okv/cloud/api
Thu Oct 29 15:50:19 PDT 2020::com.oracle.okv.rest.cli.backup.BackupProcessManager::<init>::1::/scratch/dopark/demo/EP1/ssl
Thu Oct 29 15:50:19 PDT 2020::com.oracle.okv.rest.cli.backup.BackupOptionsProcessor::takeOption::1::BackupOptionBean 
[name=null, startTime=null, destination=null, type=null, max=5, interval=null, passphrase=null, 
transferMethod=null, hostName=null, port=null, path=null, userName=null, authenticationMethod=null, 
psd=null, cluster=false]