Skip to main content
Proper monitoring is essential for running reliable Sui nodes. This guide covers metrics, logging, and alerting.

Metrics Collection

Sui nodes expose Prometheus metrics on the metrics endpoint.

Metrics Endpoint

By default, metrics are available at:
Configuration:

Viewing Metrics

View all metrics:
Search for specific metrics:

Key Metrics

Synchronization Metrics

Checkpoint Progress
Sync Lag

Consensus Metrics (Validators)

Round and Commit Metrics
Transaction Processing

Performance Metrics

Database Metrics
Execution Metrics

Network Metrics

P2P Metrics
RPC Metrics

Logging

Log Configuration

Logs are controlled via environment variables:

Log Levels

Available log levels (from most to least verbose):
  • trace: Very detailed debugging information
  • debug: Detailed debugging information
  • info: General informational messages
  • warn: Warning messages
  • error: Error messages
Module-specific logging:

Viewing Logs

Systemd Deployment
Docker Deployment

Dynamic Log Configuration

Change log levels at runtime using the admin interface:

Prometheus Setup

Install Prometheus

Configure Prometheus

Create prometheus.yml:
For multiple nodes:

Start Prometheus

Access Prometheus UI at http://localhost:9090.

Grafana Setup

Install Grafana

Access Grafana at http://localhost:3000 (default login: admin/admin).

Add Prometheus Data Source

  1. Navigate to Configuration > Data Sources
  2. Click “Add data source”
  3. Select “Prometheus”
  4. Set URL to http://localhost:9090
  5. Click “Save & Test”

Import Dashboards

Sui provides reference dashboards in the repository:
Import in Grafana:
  1. Click ”+” > “Import”
  2. Upload JSON file or paste content
  3. Select Prometheus data source
  4. Click “Import”

Using Docker Compose for Monitoring Stack

Create docker-compose.monitoring.yaml:
Start the monitoring stack:

Public Dashboards

View network-wide validator metrics: View validator stake and status:

Alerting

Prometheus Alert Rules

Create alerts.yml:

Alertmanager Configuration

Create alertmanager.yml:

Essential Queries

Checkpoint Sync Status

Transaction Metrics

Resource Usage

Health Checks

Create automated health check scripts:
Schedule with cron: