# CCIP Monitor Metrics Documentation **Date**: 2025-01-12 **Network**: ChainID 138 --- ## Overview This document describes the metrics available from the CCIP Monitor service. --- ## CCIP Monitor Service ### Service Details - **Container**: VMID 3501 - **Service**: `ccip-monitor` - **Metrics Port**: 8000 - **Metrics Endpoint**: `http://localhost:8000/metrics` --- ## Available Metrics ### System Metrics #### `ccip_monitor_up` - **Type**: Gauge - **Description**: Service availability (1 = up, 0 = down) - **Labels**: None #### `ccip_monitor_rpc_connected` - **Type**: Gauge - **Description**: RPC connection status (1 = connected, 0 = disconnected) - **Labels**: None --- ### CCIP Message Metrics #### `ccip_messages_sent_total` - **Type**: Counter - **Description**: Total number of CCIP messages sent - **Labels**: - `source_chain`: Source chain identifier - `destination_chain`: Destination chain identifier - `status`: Message status (success, failed) #### `ccip_messages_received_total` - **Type**: Counter - **Description**: Total number of CCIP messages received - **Labels**: - `source_chain`: Source chain identifier - `destination_chain`: Destination chain identifier - `status`: Message status (success, failed) #### `ccip_messages_pending` - **Type**: Gauge - **Description**: Number of pending CCIP messages - **Labels**: - `source_chain`: Source chain identifier - `destination_chain`: Destination chain identifier --- ### Bridge Metrics #### `bridge_transactions_total` - **Type**: Counter - **Description**: Total number of bridge transactions - **Labels**: - `bridge_type`: Bridge type (WETH9, WETH10) - `destination_chain`: Destination chain identifier - `status`: Transaction status (success, failed) #### `bridge_token_amount_total` - **Type**: Counter - **Description**: Total amount of tokens bridged - **Labels**: - `bridge_type`: Bridge type (WETH9, WETH10) - `destination_chain`: Destination chain identifier - `token_type`: Token type --- ### Fee Metrics #### `ccip_fees_paid_total` - **Type**: Counter - **Description**: Total CCIP fees paid - **Labels**: - `fee_token`: Fee token address - `destination_chain`: Destination chain identifier #### `ccip_fee_calculation_errors_total` - **Type**: Counter - **Description**: Total fee calculation errors - **Labels**: None --- ### Error Metrics #### `ccip_errors_total` - **Type**: Counter - **Description**: Total number of errors - **Labels**: - `error_type`: Error type - `component`: Component where error occurred --- ## Querying Metrics ### Using curl ```bash curl http://localhost:8000/metrics ``` ### Using Prometheus If Prometheus is configured to scrape the metrics endpoint: ```promql # Service availability ccip_monitor_up # Total messages sent sum(ccip_messages_sent_total) # Pending messages sum(ccip_messages_pending) # Bridge transactions sum(bridge_transactions_total) ``` --- ## Metric Examples ### Example Metrics Output ``` # HELP ccip_monitor_up Service availability # TYPE ccip_monitor_up gauge ccip_monitor_up 1 # HELP ccip_messages_sent_total Total CCIP messages sent # TYPE ccip_messages_sent_total counter ccip_messages_sent_total{source_chain="138",destination_chain="1",status="success"} 10 ccip_messages_sent_total{source_chain="138",destination_chain="1",status="failed"} 1 # HELP bridge_transactions_total Total bridge transactions # TYPE bridge_transactions_total counter bridge_transactions_total{bridge_type="WETH9",destination_chain="1",status="success"} 5 ``` --- ## Monitoring Setup ### Prometheus Configuration ```yaml scrape_configs: - job_name: 'ccip-monitor' static_configs: - targets: ['localhost:8000'] ``` ### Grafana Dashboard Create dashboard with: - Service availability - Message throughput - Bridge transaction volume - Error rates - Fee usage --- ## Alerting ### Recommended Alerts 1. **Service Down** - Alert when `ccip_monitor_up == 0` - Severity: Critical 2. **High Error Rate** - Alert when error rate exceeds threshold - Severity: Warning 3. **Pending Messages** - Alert when pending messages exceed threshold - Severity: Warning 4. **RPC Disconnected** - Alert when `ccip_monitor_rpc_connected == 0` - Severity: Critical --- ## Health Check ### Using Health Check Script ```bash ./scripts/check-ccip-monitor-health.sh ``` ### Manual Check ```bash # Check service status pct exec 3501 -- systemctl status ccip-monitor # Check metrics endpoint curl http://localhost:8000/metrics # Check logs pct exec 3501 -- journalctl -u ccip-monitor -n 50 ``` --- ## Related Documentation - [CCIP Operations Runbook](./CCIP_OPERATIONS_RUNBOOK.md) (Task 135) - [CCIP Configuration Status](./CCIP_CONFIGURATION_STATUS.md) - [Complete Task Catalog](./CCIP_COMPLETE_TASK_CATALOG.md) --- **Last Updated**: 2025-01-12