Node Performance Metrics

Monitoring node performance is critical to ensure stability, uptime, and optimal functioning within the Celestium network. Operators can track various metrics to evaluate the health and efficiency of their node.


Key Metrics to Monitor

Metric
Description

Block Sync Status

Indicates if the node is in sync with the network.

CPU Usage

Tracks processor load during consensus and execution tasks.

Memory Usage (RAM)

Monitors memory consumption, especially during execution.

Disk I/O

Measures read/write operations on the NVMe SSD storage.

Peers Connected

Number of peers the node is connected to.

Block Time

Measures the time taken to validate and finalize a block.

Gas Usage per Block

Tracks the average gas consumption per block.

Transaction Pool Size

Number of pending transactions in the mempool.

Network Bandwidth

Monitors data sent and received by the node.


Accessing Node Metrics

Celestium nodes provide performance metrics via a built-in monitoring interface. You can enable and access metrics in the node’s startup command:

bash

./celestium-node --rpc http://rpc-private-testnet.celestium.network --chain-id 252525 --metrics

Metrics are typically exposed via Prometheus or logged locally for further analysis.


Using Prometheus and Grafana for Visualization

  1. Install Prometheus:

    bash
    
    sudo apt update
    sudo apt install prometheus
  2. Configure Prometheus to scrape Celestium metrics (e.g., localhost:9090/metrics):

    yaml
    
    scrape_configs:
      - job_name: 'celestium_node'
        static_configs:
          - targets: ['localhost:9090']
  3. Install Grafana:

    bash
    
    sudo apt install grafana
  4. Connect Prometheus to Grafana:

    • Open Grafana (http://localhost:3000).

    • Add Prometheus Data Sourcehttp://localhost:9090.

    • Build custom dashboards for CPU usage, memory, block sync status, and other metrics.


Node Logs for Debugging

Logs provide detailed information about node operations, including consensus, execution errors, and block production:

bash

tail -f node.log

Look for key entries like:

  • Finalized Block: Confirmation that a block is validated.

  • Sync Status: Current sync progress with the network.

  • Execution Errors: Potential issues during transaction processing.


Best Practices for Performance Monitoring

  • Set up alerts for high CPU, memory usage, or node desynchronization.

  • Monitor block finality time to detect performance bottlenecks.

  • Check peers regularly to ensure stable network connectivity.

  • Track disk health when running NVMe SSDs, as high throughput can affect longevity.


Monitoring node performance helps ensure reliability, prevents downtime, and allows operators to proactively address issues on the Celestium network.

Last updated