Details
-
Story
-
Status: Complete
-
High
-
Resolution: Done
-
None
-
None
-
11, 12
Description
1 Overview
As a system administrator responsible for running a validator node, I would like a command line tool that would provide me with the current status of the validator.
2 Tool Description
Tool name:
validator-info
Command line switches:
Switch | Description |
---|---|
-v | Verbose mode (command line) |
--json | Format output as JSON (ignores -v) |
This information should be gathered from the perspective of the queried node. Information should be gathered without querying the ledger pool, but instead from the files on the filesystem and other services. For example, the count of the number of transactions should be based on the local file-based copy of the ledger instead of querying the pool in general. This is also true for the configuration (e.g., port, IP, etc.) for the validator.
3 Field Descriptions
alias
Name of the node as it's known in the ledger.
bindings > client > ip
CIDR address for the client port. Is only shown in the command line output with the -v switch.
bindings > client > port
Port number for the client port.
bindings > client > protocol
Protocol for the client port. Is only shown in the command line output with the -v switch. Valid values: tcp or udp
bindings > node > ip
CIDR address for the node port. Is only shown in the command line output with the -v switch.
bindings > node > port
Port number for the node port.
bindings > node > protocol
Protocol for the client port. Is only shown in the command line output with the -v switch. Valid values: tcp or udp
did
Validator's DID.
enabled
Whether or not the validator service is enabled to restart when the system restarts. Valid values are true or false
response-version
Semantic version for the JSON output of the tool.
state
Current state of the validator service. Valid values: running, stopped, or failed
timestamp
The epoch timestamp for when the output was generated. Is only shown in the command line output with the -v switch.
verkey"
The verification key for the validator.
metrics > average-per-second > read-transactions
Average number of read requests per second currently serviced by the validator.
metrics > average-per-second > write-transactions
Average number of write requests per second currently serviced by the validator.
metrics > transaction-count > config
Total number of transactions that exist on the config ledger. Is only shown in the command line output with the -v switch.
metrics > transaction-count > ledger
Total number of transactions that exist on the ledger.
metrics > transaction-count > pool
Total number of transactions that exist in the pool ledger.
metrics > uptime
Number of seconds since the last validator service restart.
pool > reachable > count
The number of validators in the pool that can be reached (including the validator providing the report).
pool > reachable > list
List of validators in the pool that can be reached (including the validator providing the report). Is only shown in the command line output with the -v switch.
pool > total-count ": 6,
Total number of validators in the pool (including the validator providing the report).
pool > unreachable > count
The number of validators in the pool that cannot be reached (including the validator providing the report).
pool > unreachable > list
List of validators in the pool that cannot be reached (including the validator providing the report). Is only shown in the command line output with the -v switch.
software > indy-node
Semantic version of the indy-node package that is install on the machine. Is only shown in the command line output with the -v switch.
software > sovrin
Semantic version of the sovrin package that is install on the machine. If the sovrin package is not installed, related output is skipped. Is only shown in the command line output with the -v switch.
4 Sample Output
Not all attributes are output in the command line version. The command line output also converts second-based times into a more usable format.
4.1 Command Line (non-verbose)
Validator valPool01 is currently running Validator DID: 9eij3is93yehd9eohawo3hw8dhs9e323 Verification Key: ~38hfsljasldjf983hw9wohjrojfsosi Node Port: 9701 Client Port: 9702 Metrics: Uptime: 9 days, 16 hours, 33 minutes, 52 seconds Total Ledger Transactions: 34847593 Total Pool Transactions: 103 Read Transactions/Seconds: 1038 Write Transactions/Seconds: 42 Reachable Hosts: 5/6 Unreachable Hosts: 1/6
4.2 Command Line (verbose)
Validator valPool01 is currently running Current time: Sunday, August 6, 2017 3:11:50 AM Validator DID: 9eij3is93yehd9eohawo3hw8dhs9e323 Verification Key: ~38hfsljasldjf983hw9wohjrojfsosi Node Port: 9701/tcp on 10.0.0.3/32 Client Port: 9702/tcp on 10.0.7.4/32 Metrics: Uptime: 9 days, 16 hours, 33 minutes, 52 seconds Total Config Transactions: 5 Total Ledger Transactions: 34847593 Total Pool Transactions: 103 Read Transactions/Seconds: 1038 Write Transactions/Seconds: 42 Reachable Hosts: 5/6 valPool01 valPool02 valPool04 valPool05 valPool06 Unreachable Hosts: 1/6 valPool03 Software Versions: indy-node: 1.0.28 sovrin: 1.0.3
4.3 JSON
{ "response-version": "1.0.0", "timestamp": 1501989110, "alias": "valPool01", "state": "running", "enabled": "true", "did": "9eij3is93yehd9eohawo3hw8dhs9e323", "verkey": "~38hfsljasldjf983hw9wohjrojfsosi", "bindings": { "node": { "ip": "10.0.0.3/32", "port": 9701, "protocol": "tcp" }, "client": { "ip": "10.0.7.4/32", "port": 9702, "protocol": "tcp" } }, "metrics": { "uptime": 837232, "transaction-count": { "config": 5, "ledger": 34847593, "pool": 103 }, "average-per-second": { "read-transactions": 1038, "write-transactions": 42, } }, "pool": { "total-count": 6, "reachable": { "count": 5, "list": [ "valPool01", "valPool02", "valPool04", "valPool05", "valPool06" ] }, "unreachable": { "count": 1, "list": [ "valPool03" ] } }, "software": { "indy-node": "1.0.28", "sovrin": "1.0.3" } }
Attachments
Issue Links
- relates to
-
INDY-1819 Exposed validator-info ... info through a web-accessible API
-
- New
-