Documentation Index
Fetch the complete documentation index at: https://mintlify.com/availproject/avail/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Avail nodes expose comprehensive metrics through a Prometheus endpoint, enabling real-time monitoring of node performance, block production, and data availability operations.Prometheus Endpoint
Default Configuration
By default, Avail nodes expose metrics on:- Host:
127.0.0.1(localhost only) - Port:
9615 - Endpoint:
http://127.0.0.1:9615/metrics
Configuring the Prometheus Exporter
Enable Prometheus (enabled by default)
Prometheus metrics are enabled automatically. No action required.
Available Metrics
Avail-Specific Metrics
Avail extends the standard Substrate metrics with custom metrics for data availability operations:Import Block Metrics
- Type: Histogram
- Unit: Microseconds
- Description: Total time to import a block including DA verification
Header Extension Builder Metrics
- Type: Histogram
- Description: Metrics for Kate commitment building and grid construction
- Tracks execution time for polynomial evaluation and commitment generation
Kate RPC Metrics
Enable with
--enable-kate-rpc-metrics flag.- Type: Histogram
- Unit: Microseconds
- Description: Execution time for Kate RPC methods
Standard Substrate Metrics
Avail inherits all standard Substrate metrics, including:- Block height and finality metrics
- Transaction pool statistics
- Network peer counts and bandwidth
- Database I/O operations
- Runtime execution times
- BABE and GRANDPA consensus metrics
Setting Up Prometheus Server
Basic Prometheus Configuration
Create aprometheus.yml configuration file:
Multi-Node Setup
For monitoring multiple validators and full nodes:Starting Prometheus
http://localhost:9090
Log Collection with Promtail
Promtail Configuration
For systemd-based deployments, configure Promtail to collect logs:Grafana Dashboard Setup
Adding Prometheus Data Source
Add data source
- Go to Configuration → Data Sources
- Click “Add data source”
- Select “Prometheus”
- Set URL to
http://localhost:9090 - Click “Save & Test”
Key Metrics to Monitor
Validator Health
substrate_block_height- Current block heightsubstrate_finalized_height- Latest finalized blocksubstrate_ready_transactions_number- Transaction pool sizeavail_header_extension_builder_total_execution_time- Block building performance
Network Health
substrate_peers_count- Number of connected peerssubstrate_sub_libp2p_network_bytes_total- Network trafficsubstrate_sub_libp2p_connections_opened_total- Connection metrics
System Resources
substrate_database_cache_bytes- Database cache usagesubstrate_memory_usage_bytes- Memory consumptionprocess_cpu_seconds_total- CPU usage
Telemetry
Avail nodes can report to telemetry servers for public monitoring:Enable Telemetry
Disable Telemetry
Telemetry verbosity levels range from 0-9, with 0 being the least verbose.
Health Checks
RPC Health Endpoint
Check node health via RPC:System Monitoring Script
Example monitoring script:Storage Monitoring
Enable Storage Monitoring
--db-storage-threshold <MiB>- Minimum free space required (default: 1024 MiB)--db-storage-polling-period <SECONDS>- Check interval (default: 5 seconds)
Alerting Rules
Example Prometheus alerting rules:Best Practices
- Regular monitoring - Set up automated alerting for critical metrics
- Historical data - Retain metrics for at least 30 days for trend analysis
- Baseline metrics - Establish normal operating ranges for your hardware
- Secure access - Use authentication and TLS for external metric endpoints
- Log rotation - Configure log rotation to prevent disk space issues