Use metrics to monitor performance
Quorum Blockchain Service (QBS) integrates with Azure Monitor to enable you to monitor resources for availability, performance, and operations.
In addition to the standard Azure metrics, QBS provides the following custom metrics for transaction nodes and validator nodes:
Access the metrics
To access the custom metrics for your validator node or transaction node:
Open your QBS member in the Azure Portal.
Select your managed resource group in the Overview tab.
In the working pane, select your transaction node or validator node.
In the resource menu's Monitoring section, select Metrics.
In the working pane, select the custom metrics in the Metric Namespace dropdown
Custom metrics types
Performance metrics
The following table lists the performance metrics that are collected for each of the nodes.
Metric name | Unit | Aggregation type | Description |
---|---|---|---|
CPU_Usage_percentage | Percentage | Max | Percentage of the CPU usage. |
io_read_bytes | Kilobytes | Sum | Sum of IO read bytes across all nodes of the blockchain member resource. |
io_write_bytes | Kilobytes | Sum | Sum of IO writes bytes across all nodes of the blockchain member resource. |
Memory_Limit | Gigabytes | Average | Maximum memory available for the blockchain process per node. |
Memory_Usage | Gigabytes | Average | Amount of memory used averaged across all nodes. |
Memory_Usage_Percentage | Percentage | Average | Percentage of memory used averaged across all nodes. |
Storage_Usage | Gigabytes | Average | Storage (in GB) used averaged across all nodes. |
Connection metrics
The following table lists the different connection metrics that are collected for your nodes. These are Nginx proxy metrics.
Metric name | Unit | Aggregation type | Description |
---|---|---|---|
Accepted_Connections | Count | Sum | Total number of accepted client connections. |
Active_Connections | Count | Average | Current number of active client connections including waiting connections. |
Handled_Connections | Count | Sum | Total number of handled connections. Generally, the parameter value is the same as accepted connections unless some resource limits have been reached. |
Handled_Requests | Count | Sum | Total number of client requests. |
Blockchain metrics
The following table specifies the list of blockchain metrics that are collected for your nodes.
Metric name | Unit | Aggregation type | Description |
---|---|---|---|
Pending_Transactions | Count | Average | Number of transactions waiting to be mined. |
Processed_Blocks | Count | Sum | Number of blocks processed in each time interval. The block size is 5 seconds, meaning in a minute each node processes 12 blocks. |
Processed_Transactions | Count | Sum | Number of transactions processed in a block. |
Queued_Transactions | Count | Average | Number of transactions that cannot be immediately mined. It can be because they arrived out of order and the future transaction is waiting for the previous one to arrive. Or, it can be because two transactions have the same number only used once (nonce) and the same gas value, hence the second one cannot be mined. |
Create a metric chart
You can create custom metrics dashboards in the Azure portal to view the ongoing activity of your QBS member. The Azure Metrics Explorer documentation provides information about how to use the metrics to create a metric chart, and other advanced features.
Create alerts based on metrics
You can set custom alerts based on metrics of your QBS member. For example, if you want to be alerted when transactions are stuck in the queue, you can use Azure Metrics Alerts to determine what action you want taken.