Skip to main content

 

Splunk Lantern

Monitoring multi-party computation in Hyperledger Fabric

 

You work for an organization that uses multi-party computation systems, which has historically presented difficulties - handoffs within these systems invite blind spots, they are asynchronous, and it's difficult to capture a concrete lifecycle of data between these systems. Because of this, your organization has moved to using Hyperledger Fabric as a way to collaborate without compromising on safety and integrity. Now, you need to create an architecture for observability of these systems to drive efforts such as evidence-based debugging and to boost your continuous deployments.

You need to expose a number of different pieces of data:

Environment metrics Transaction traces Logs Ledger data
  • Machine metrics
  • Network metrics
  • Middleware metrics
  • Impacted state
  • Events
  • Driving cause and effect
  • System logs
  • Application logs
  • Client logs
  • Block and transaction data
  • Chaincode events
  • Mempool data
  • Consensus

Data required

Hyperledger Fabric

Procedure

You can analyze Hyperledger Fabric’s data with the following tools:

In this example there are six channels and two organizations - that is, two organizations that don't trust each other, with six different private channels to exchange information. A number of dashboards are included within the app that provide both traditional network and health metrics to help you understand how the system is running, along with transaction analytics to help understand action on the chain and what data has been transferred.

clipboard_eb3af0f53c77409c7cf4fd0283898901b.png

You can also search any data on the chain, as well as go deeper into each of the metrics to understand more.

clipboard_e4338b276697207a94612f65c955ac25c.png

Check the Transaction Analytics dashboard to see a number of bids which are being executed on your chain. The dashboard refreshes every minute, showing the last 60 minutes of activity, and towards the top of this area you can see a number of metrics exposed as well as the transaction history. Any of these transactions can be selected to find out who it's for and what is happening with it.

clipboard_ebe908603c33f90fce0e4bd8631f34d33.png

You can also see all the blocks lower down the screen in this area and each of the blocks' transactions, helping you understand how things are being batched.

clipboard_e13f379f0e295be486c7e7fe87b6f2570.png

To dive in deeper, developers will need a different view. The SignalFX view allows you to see a real-time view and in the last 10 seconds, what is being exchanged on the network. You can see different versions of the chain code as you execute, allowing you to quickly react whenever a new chain deployment occurs to see if it's been taken up or if errors are being reported.

clipboard_e45e7723e32e5ed435c955808d63d811f.png

You can also use traces to see how the systems transact with each other, with a map view that allows you to see how services communicate, helping you make sense of the blockchain in the context of the whole system.

clipboard_e6a20816b61f6c36f1ee27c7b031b6bf0.png

If you need more detail, you can view a trace of the execution of a bid. In this example, you can see bid Bot auction 445 with the node.js call out to the blockchain. The blockchain is executing the chain code twice for the two organizations which are sharing this code base. Here the traces are being reported back from the organization's own environments, so you can understand exactly what's going on.

clipboard_ee0ecd44e777c5f0249b10f17f5ff719b.png

Next steps

The content in this guide comes from a previously published blog, one of the thousands of Splunk resources available to help users succeed. In addition, these Splunk resources might help you understand and implement this use case:

Still need help with this use case? Most customers have OnDemand Services per their license support plan. Engage the ODS team at OnDemand-Inquires@splunk.com if you require assistance.