7 インスタンスのモニターおよびトラブルシューティング

トピック

ロギング

v19.3.2インスタンス・ログ

Oracle Blockchain Platformが正常に起動すると、コンテナ・ログはサイズが10MBに達すると/u01/obp-logsに書き込まれます。Dockerコマンドを使用してDockerコンテナ内の現在のログを確認できます。

プロビジョニングの失敗時には、ほとんどの場合、Dockerコマンドを使用してコンテナのステータスおよびログ(docker psdocker inspectdocker service lsdocker service psなど)を確認します。ログが/u01/obp-logsで見つからないのは、Dockerデーモンによるコンテナの準備中にコンテナの作成が失敗したか、制御がENTRYPOINTコマンドに移されていないか、ログが10MBに達する前にエラー状態によってコンテナが終了したかのいずれかのためです。

v19.3.3の新規インスタンス・ログ

Oracle Blockchain Platform Enterprise Edition v19.3.3以降でインスタンスが作成されると、すべてのサービス・ログがローカルVM syslogに出力されます。デフォルトは/var/log/messagesです。ロギングを構成するには、rootとして/u01/blockchain/toolsに移動します。config-syslog.shスクリプトは、次の目的で使用されます。
  • syslogサーバーの定義
  • /var/log/messagesを使用しない場合のサーバー・ログの場所の定義
  • ログ・ローテーション・サイクルの定義
$ ./config-syslog.sh -h 
Syslog config: main entry 
Usage: ./config-syslog.sh -s logserveraddr [-d logserverdir] [-f syslogfacility] [-r logrotateday]
  • logserveraddrは、リモートrsyslogサーバーのアドレスです。値は、<platformhost.com>の出力になります。
  • logserverdirは、ログ・サーバー上のログ出力ディレクトリです。デフォルトは/u01/obp-logsです。
  • syslogfacilityは、syslogの機能の値です。デフォルトはlocal6です。
  • logrotateday(numeric)は、ログ・ローテーションで期限切れデータが削除されるまでの日数です。デフォルトは7です。

例:


./config-syslog.sh -s syslog.server.example.com -d /u01/obp-logs -r 10

v19.3.3の移行されたインスタンス・ログ

ログ収集はv19.3.3で導入されたため、19.3.2で作成されて19.3.3にパッチが適用されたインスタンスでは、dockerコンテナ・ログが引き続き使用されます。デフォルトの場所は/var/lib/docker/containers/<CID>/<CID>-json.logです。

ログ収集を構成する場合、rootとして/u01/blockchain/toolsに移動し、config-patch.shを実行します。このスクリプトは、次の目的で使用されます。
  • syslogサーバーの定義
  • /var/log/messagesを使用しない場合のサーバー・ログの場所の定義
  • ログ・ローテーション・サイクルの定義
$ ./config-patch.sh -h Patch config: main entry  Usage:
    ./config-patch.sh -s logserveraddr [-d logserverdir] [-f syslogfacility] [-r logrotateday]
  • logserveraddrは、リモートrsyslogサーバーのアドレスです。値は、<platformhost.com>の出力になります。
  • logserverdirは、ログ・サーバー上のログ出力ディレクトリです。デフォルトは/u01/obp-logsです。
  • syslogfacilityは、syslogの機能の値です。デフォルトはlocal6です。
  • logrotateday(numeric)は、ログ・ローテーションで期限切れデータが削除されるまでの日数です。デフォルトは7です。

例:


./config-patch.sh -s syslog.server.example.com -d /u01/obp-logs -r 10

Blockchain Platform Managerのログ

/u01/blockchain/cp/logs/では、次のログを使用できます。
  • access.log: このログは、監査のためにBlockchain Platform Managerのアクセス情報を提供します。このログには、様々なアクティビティの実行中にユーザーがアクセスしたすべてのRESTリソース(API)のアクセス情報が表示されます。ユーザー情報が表示されるのは、Blockchain Platform Managerコンソールを使用して実行されたアクティビティのみです。

デフォルトの場所: /var/log/messages

ただし、スクリプトsudo /u01/blockchain/tools/config-syslog.sh -s `hostname`を実行すると、インスタンス・ログがデフォルト・ファイル/u01/obp-logs/obp.logに出力されます

コンポーネント・マネージャのログ・レベルの設定

コンポーネント・マネージャのログ・レベルを設定するには:
  1. 仮想マシンにログインします
  2. エディタで/home/oracle/startcm.shを開きます。
  3. docker runで始まる行の次に、次の行を追加します:
    -e "BCS_LOG_LEVEL=DEBUG" \
    サポートされるログ・レベルは、ERRORWARNINGINFOおよびDEBUGです。
  4. コンポーネント・マネージャを再起動します:
    sudo systemctl restart compmanager.service

VMのコンポーネント・マネージャについては、環境変数BCS_LOG_LEVELを使用してログ・レベルを設定できます。

インスタンス・サービスのログ・レベルの設定

ノード・マネージャのログ・レベルを設定するには:
  1. ノード・マネージャのサービス名を見つけます:
    docker service ls
  2. 次のDockerコマンドを使用します:
    docker service update --env-add BCS_LOG_LEVEL=DEBUG <NM_service_name>
    サポートされるログ・レベルは、ERRORWARNINGINFOおよびDEBUGです。

VMのノード・マネージャについては、環境変数BCS_LOG_LEVELを使用してログ・レベルを設定できます。