Running a rollup node can be complex, with many moving parts that need to work together seamlessly. This is why observability is crucial—it helps you understand how the system operates, identify issues, and ensure smooth performance.
In this tutorial, we’ll explain how to set up observability for a Sovereign SDK node, giving you the tools to monitor, debug, and optimize your rollup node.
To achieve observability, the Sovereign SDK uses three essential data types: logs, traces, and metrics:
Having all three components—logs, traces, and metrics—gives you full visibility into the rollup node. This provides a full view of the rollup node, enabling quick troubleshooting, component dependency analysis, and performance monitoring:
This tutorial is divided into two parts:
By the end of this tutorial, you’ll have a complete observability setup for your Sovereign SDK node, empowering you to ensure its stability and performance.
The observability stack in the Sovereign SDK supports exporting logs and traces in the OpenTelemetry format (OpenTelemetry documentation). For this, we use Grafana Loki and Grafana Tempo to store the exported data and Grafana Alloy as a local agent. Grafana Alloy runs on the rollup server, where it collects logs and traces from the rollup node and exports them to Loki and Tempo.
For metrics, we rely on InfluxDB as the storage backend and Telegraf as the local agent responsible for collecting and buffering metric data before forwarding it to InfluxDB.