Corda Health Survey tool(Corda 診断ツール)

概要

  Corda Health Survey toolは、ノードに関する情報を収集するために使用できるコマンドラインユーティリティです。Corda Health Survey toolは、node.conf のフォーマット、cordapps のチェックサム、ネットワークマップと ID マネージャへの接続の状態、RPC 接続など、最も重要な設定のすべてに対して一連のチェックを実行します。Nodeの初期環境構築時や商用環境でのトラブル発生時等様々な状況での活用が期待できます。

 

環境要件 & 前提

 本稿のデモで使用するcorda.jarおよび corda-tools-health-survey.jarは以下の通りです。
corda-4.5.jar
・ corda-tools-health-survey-4.5-GA.jar

 

デプロイ

 Corda Enterpriseに内包されている「corda-tool-health-survey-X.X-GA.jar(X.Xはバージョン)」を対象のNode Serverに配置するだけです。配置する場所は任意ですが、Nodeのベースディレクトリに配置することで、実行時の引数において、ベースディレクトリ設定を省略できます。

 

実行

 以下、実行コマンドと出力例です。

ubuntu@ip-10-0-1-57:~/node$ java -jar corda-tools-health-survey-4.5-GA.jar 
Corda Health Survey Tool 4.5

✔ Reporting to file /home/ubuntu/node/report-20200804-060738.zip
✔ Node is not configured to use external bridge, firewall validation will be skipped
✔ Collected machine information
✔ Collected information about Corda installation
✔ Collected network parameters
✔ Collected node information file
✔ Collected additional node information files
✔ Collected CorDapp information
✔ Collected censored node configuration
✔ Collected driver information
✔ Collected general network information
✔ Collected log files
✘ Configuration files contain plain text passwords
✔ Verified RPC communication
✔ Connected to Artemis Broker
✔ Initialised tool serialization context
✔ Node network settings are valid
✔ Echo test complete, message count is 1
✔ Runtime info collected
✔ Exported report to /home/ubuntu/node/report-20200804-060738.zip

A report has been generated and written to disk.
Path of report: /home/ubuntu/node/report-20200804-060738.zip
Size of report: 27.3 KiB

 レポートはデフォルトの場合、jarファイルと同ディレクトリにzip形式で出力します。
(上記の場合だと、「report-20200804-060738.zip」)

以下、引数例です。
-h: ヘルプを表示します。
-c, --node-configuration: Corda ノード設定ファイルへのパスを指定します。
-l, --local: ローカルノードの設定のみを検証し、ブリッジやFWの検証はスキップします。(設定しない場合は、すべてのサーバーを検証します。)
-t, --text-format: レポートをtxtファイルで出力します。
-p, --ping : 他のNodeに対してPingを送信して接続テストを行う。

 

 以下は、-pオプションを実行して、他ノードとの通信状況を確認した実行例です。

ubuntu@ip-10-0-1-57:~/node$ java -jar corda-tools-health-survey-4.5-GA.jar -p "O=Node1,L=Tokyo,C=JP"
Corda Health Survey Tool 4.5

✔ Reporting to file /home/ubuntu/node/report-20200804-063514.zip
✔ Node is not configured to use external bridge, firewall validation will be skipped
✔ Connected to Artemis Broker
✔ Verified connection to O=Node1,L=Tokyo,C=JP
✔ Exported report to /home/ubuntu/node/report-20200804-063514.zip

A report has been generated and written to disk.
Path of report: /home/ubuntu/node/report-20200804-063514.zip
Size of report: 1.9 Ki

 

出力レポート

 生成されたzipファイルには以下のようなファイルが内包されています。

1.tool-arguments.txt
2.node-config.txt
3.machine-information.txt
4.corda.txt
5.network-parameters.txt
6.nodeInfo-XXXXX.txt
7.additional-node-infos.txt
8.cordapps.txt
node.conf
9.drivers.txt
10.network-information.txt
checkpoints_agent-20200804-034859.log
checkpoints_agent-20200803-025259.log
details-node-ip-10-0-1-57.log
checkpoints_agent-20200803-051903.log
node-ip-10-0-1-57.log
11.obfuscation-list.txt
12.rpc-connectivity.txt
13.artemis-connectivity.txt
14.tool-serialization-context.txt
15.node-network-settings.txt
16.echo.txt
17.runtime-info.txt

 

 例えば、「network-information.txt」には、次のような内容が含まれています。

Resolved public host corda.network to xx.xx.xxx.xxx
Resolved localhost to 127.0.0.1
Resolved database host localhost to 127.0.0.1
Resolved Identity Manager host xx.xxx.xxx.xxx to xx.xxx.xxx.xxx
Identity Manager status endpoint http://xx.xxx.xxx.xxx:xxxxx/status returned response code: 200
Response from Identity Manager:
{"serverStartTime":{"nano":232000000,"epochSecond":1596499893},"lastRequestCheckTime":null}
Resolved Network Map host xx.xxx.xxx.xxx to xx.xxx.xxx.xxx
Network Map status endpoint http://xx.xxx.xxx.xxx:20000/status returned response code: 200
Response from Network Map:
{"serverStartTime":{"nano":177000000,"epochSecond":1596499941},"lastRequestCheckTime":null}

 

Corda Flowとしてツールを実行する

 Corda Health Survey toolは、インストールしてコンソール上でFlowを起動することで、Corda Flowとして起動することができます。もちろん、パラメータを渡すこともできます。

Tue Aug 04 07:18:54 UTC 2020>>> flow list
net.corda.healthsurvey.flows.HealthSurveyFlow

Tue Aug 04 07:19:02 UTC 2020>>> start HealthSurveyFlow parameters:[]
✓ Starting
✓ Locating Health Survey tool
✓ Executing Health Survey tool
✓ Streaming report to client
▶︎ Done
Flow completed with result: (report-20200804-071917.zip)

 

最後に

 比較的簡単な導入・コマンドで様々な診断を行ってくれるため、非常に便利です。
環境構築時、トラブルシューティング時に是非ご活用ください。

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています