Documentation Index
Fetch the complete documentation index at: https://docs.canton.network/llms.txt
Use this file to discover all available pages before exploring further.
Check and monitor Sequencer Node health
This page describes how to inspect and understand the current status of a Sequencer Node, and how to continuously monitor it using health checks. See also the generic guide on How to check the status of a Node and monitor its health.Interactively check Node status
Canton console can be used to interactively inspect the state and get information about a running Sequencer Node. Execute the following command against asequencer reference of interest.
sequencer for the Sequencer Node itself, and db-storage. The latter not being Ok() indicates problems with the database storage backend or connectivity to it.
The status also shows the Synchronizer members connected to the Sequencer Node. These members have an active subscription to the Sequencer Node. They can send new submissions to, and read ordered transactions from the Synchronizer.
BFT Orderer peer network status
For a BFT (Byzantine Fault Tolerance) Sequencer Node, you can inspect the connection status to the other peers of its BFT peer network.Health check endpoints
To monitor the health of a Sequencer Node with external tools, use the Canton Node health check endpoints. Enabling the endpoint is described in the generic guide on How to check the status of a Node and monitor its health. A Sequencer Node exposes a pair of health check endpoints:readiness (accepts traffic) and liveness (does not require a restart), to be used respectively for load balancing and orchestration with tools like Kubernetes.
The readiness endpoint corresponds to the health of sequencer (including the BFT Orderer), and the liveness endpoint corresponds to the health of db-storage component in the status command output described above. This means that a fatal failure of the database connection causes a restart of the Sequencer Node.
Liveness watchdog
A Sequencer Node can be configured to automatically exit when it becomes unhealthy. The following configuration enables an internal watchdog service that checks the Sequencer Node health everycheck-interval seconds and kills the process after kill-delay seconds after the liveness reports the Node unhealthy.
canton.sequencers.sequencer.parameters in the configuration file of the Sequencer Node.
Check and monitor Mediator Node health
This page describes how to inspect and understand the current status of a Mediator Node, and how to continuously monitor it using health checks. See also the generic guide on How to check the status of a Node and monitor its health.Interactively check Node status
Canton console can be used to interactively inspect the state and get information about a running Mediator Node. Execute the following command against amediator reference of interest.
db-storage for the database storage backend, and sequencer-client. The latter not being Ok() indicates problems with the Synchronizer connectivity.
The status also shows Active: true or Active: false for the Mediator Node, which in High Availability (HA) configuration indicates whether this Mediator Node is the active HA replica or not.
Health check endpoints
To monitor the health of a Mediator Node with external tools, use the Canton Node health check endpoints. Enabling the endpoint is described in the generic guide on How to check the status of a Node and monitor its health. A Mediator Node exposes a pair of health check endpoints:readiness (accepts traffic) and liveness (does not require a restart), to be used respectively for load balancing and orchestration with tools like Kubernetes.
The readiness endpoint corresponds to the health of the storage backend of the Mediator, and the liveness endpoint corresponds to the health of sequencer-client component in the status command output described above. This means that a fatal failure of the Sequencer connection of the Mediator Node requires a restart of the Mediator Node.
Liveness watchdog
A Mediator Node can be configured to automatically exit when it becomes unhealthy. The following configuration enables an internal watchdog service that checks the Mediator Node health everycheck-interval seconds and kills the process after kill-delay seconds after the liveness reports the Node unhealthy.
canton.mediators.mediator.parameters in the configuration file of the Mediator Node.
Mediator inspection
The Mediator inspection provides access to metadata associated with finalized transactions, also known as verdicts, to give insights on the transactions completed on a Synchronizer. This page describes how to obtain the verdicts from the admin console.Obtain verdicts from the mediator
Use theverdicts admin command to inspect verdicts:
CantonTimestamp.MinValue can be used to obtain all verdicts from the beginning.
The output is a list of verdicts. Each verdict contains, among others, its result (accepted, rejected, unspecified), a submitting participant, submitting parties, a finalization time, a record time of the corresponding confirmation request, and metadata of transaction views.
For more details on the verdicts admin command, check the reference documentation.
To learn more about related concepts, see the Mediator overview.
Link to participant docs for general troubleshooting guidelines.
Synchronizer Troubleshooting
Sequencer subscriptions fail for newly onboarded sequencers
Newly onboarded Sequencers only serve events more recent than the “onboarding snapshot” taken during the onboarding. In addition, some events may belong to transactions initiated before a Sequencer was onboarded, but the Sequencer is not in a position to sign such events and replaces them with “tombstones”. If a participant (or mediator) connects to a newly onboarded Sequencer too soon and the subscription encounters a tombstone, the Sequencer subscription aborts with aFAILED_PRECONDITION error specifying InvalidCounter or SEQUENCER_TOMBSTONE_ENCOUNTERED. If this occurs, the participant or mediator should connect to another Sequencer with a longer history of sequenced events before switching to the newly onboarded Sequencer.