Skip to content

CLI Monitoring Tools

Comprehensive guide to monitoring and observability tools in the Nerve Framework CLI.

Overview

The Nerve Framework provides powerful command-line monitoring tools for real-time system observability, performance tracking, and health monitoring.

Available Monitoring Commands

System Status Monitoring

# Check overall system status
nerve-cli status

# Check system status with detailed output
nerve-cli status --verbose

# Check specific component status
nerve-cli status --component memory
nerve-cli status --component communication
nerve-cli status --component threads
nerve-cli status --component nodes

Performance Monitoring

# Monitor real-time performance metrics
nerve-cli perf --live

# Monitor specific performance metrics
nerve-cli perf --metric throughput
nerve-cli perf --metric latency
nerve-cli perf --metric memory

# Monitor with custom refresh interval
nerve-cli perf --interval 2s

# Export performance data
nerve-cli perf --export performance.json

Memory Monitoring

# Monitor memory usage
nerve-cli memory --monitor

# Show memory statistics
nerve-cli memory --stats

# Monitor specific memory pools
nerve-cli memory --pool message
nerve-cli memory --pool buffer

# Monitor memory with detailed breakdown
nerve-cli memory --detailed

Thread Monitoring

# Monitor thread activity
nerve-cli threads --monitor

# Show thread statistics
nerve-cli threads --stats

# Monitor specific thread pools
nerve-cli threads --pool worker
nerve-cli threads --pool io

# Monitor thread health
nerve-cli threads --health

Node Monitoring

# Monitor node registry
nerve-cli nodes --monitor

# Show node statistics
nerve-cli nodes --stats

# Monitor specific nodes
nerve-cli nodes --node node-1
nerve-cli nodes --node node-2

# Monitor node communication
nerve-cli nodes --communication

Communication Monitoring

# Monitor communication system
nerve-cli comms --monitor

# Show communication statistics
nerve-cli comms --stats

# Monitor specific topics
nerve-cli comms --topic "sensor/data"
nerve-cli comms --topic "control/commands"

# Monitor message flow
nerve-cli comms --flow

Real-Time Monitoring Features

Live Dashboard

# Launch interactive monitoring dashboard
nerve-cli monitor --dashboard

# Dashboard with specific metrics
nerve-cli monitor --dashboard --metrics throughput,latency,memory

# Dashboard with custom layout
nerve-cli monitor --dashboard --layout compact

Alert Configuration

# Configure performance alerts
nerve-cli monitor --alerts

# Set alert thresholds
nerve-cli monitor --alert throughput --threshold 1000
nerve-cli monitor --alert latency --threshold 100ms
nerve-cli monitor --alert memory --threshold 80%

# Configure alert actions
nerve-cli monitor --alert-action log
nerve-cli monitor --alert-action notify
nerve-cli monitor --alert-action restart

Log Monitoring

# Monitor system logs
nerve-cli logs --follow

# Filter logs by level
nerve-cli logs --level error
nerve-cli logs --level warning
nerve-cli logs --level info

# Filter logs by component
nerve-cli logs --component memory
nerve-cli logs --component communication

# Search logs
nerve-cli logs --search "timeout"
nerve-cli logs --search "error"

Performance Metrics

Available Metrics

# List all available metrics
nerve-cli metrics --list

# Show metric definitions
nerve-cli metrics --definitions

# Get specific metric values
nerve-cli metrics --get throughput
nerve-cli metrics --get latency
nerve-cli metrics --get memory_usage

Metric Collection

# Collect metrics over time
nerve-cli metrics --collect --duration 5m

# Collect metrics with custom interval
nerve-cli metrics --collect --interval 10s

# Export collected metrics
nerve-cli metrics --export metrics.csv

Health Checks

System Health

# Run comprehensive health check
nerve-cli health --full

# Check specific component health
nerve-cli health --component memory
nerve-cli health --component communication
nerve-cli health --component threads

# Health check with detailed output
nerve-cli health --verbose

Component Health

# Check memory system health
nerve-cli health --memory

# Check communication system health
nerve-cli health --communication

# Check thread system health
nerve-cli health --threads

# Check node registry health
nerve-cli health --nodes

Monitoring Configuration

Configuration Files

# Load monitoring configuration
nerve-cli monitor --config monitoring.yaml

# Generate monitoring configuration template
nerve-cli monitor --generate-config

# Validate monitoring configuration
nerve-cli monitor --validate-config

Custom Monitoring

# Create custom monitoring script
nerve-cli monitor --custom script.py

# Monitor custom metrics
nerve-cli monitor --custom-metrics custom.json

# Set up monitoring webhooks
nerve-cli monitor --webhook http://localhost:8080/metrics

Integration with External Tools

Prometheus Integration

# Export metrics for Prometheus
nerve-cli metrics --prometheus

# Start Prometheus metrics endpoint
nerve-cli metrics --prometheus --port 9090

# Configure Prometheus scraping
nerve-cli metrics --prometheus-config

Grafana Integration

# Generate Grafana dashboard
nerve-cli monitor --grafana-dashboard

# Export metrics for Grafana
nerve-cli metrics --grafana

# Configure Grafana datasource
nerve-cli monitor --grafana-datasource

Log Aggregation

# Export logs for ELK stack
nerve-cli logs --export-elastic

# Configure log shipping
nerve-cli logs --ship-logs

# Set up log rotation
nerve-cli logs --rotate

Advanced Monitoring Features

Distributed Monitoring

# Monitor distributed system
nerve-cli monitor --distributed

# Monitor specific nodes in cluster
nerve-cli monitor --nodes node-1,node-2,node-3

# Aggregate metrics from multiple nodes
nerve-cli metrics --aggregate

Performance Profiling

# Start performance profiling
nerve-cli perf --profile

# Profile specific operations
nerve-cli perf --profile --operation publish
nerve-cli perf --profile --operation subscribe

# Generate profiling report
nerve-cli perf --profile-report

Resource Monitoring

# Monitor system resources
nerve-cli monitor --resources

# Monitor CPU usage
nerve-cli monitor --cpu

# Monitor memory usage
nerve-cli monitor --memory

# Monitor network usage
nerve-cli monitor --network

Troubleshooting

Common Issues

# Check for common monitoring issues
nerve-cli monitor --diagnose

# Reset monitoring state
nerve-cli monitor --reset

# Clear monitoring cache
nerve-cli monitor --clear-cache

Debug Mode

# Enable debug mode for monitoring
nerve-cli monitor --debug

# Get detailed monitoring information
nerve-cli monitor --verbose

# Trace monitoring operations
nerve-cli monitor --trace

Best Practices

Monitoring Strategy

  1. Start Simple: Begin with basic metrics and expand gradually
  2. Set Realistic Thresholds: Configure alerts based on actual usage patterns
  3. Monitor Key Indicators: Focus on throughput, latency, and error rates
  4. Regular Review: Periodically review and adjust monitoring configuration

Performance Considerations

  • Use appropriate monitoring intervals to balance accuracy and overhead
  • Configure log levels appropriately for production environments
  • Monitor resource usage of monitoring tools themselves
  • Use distributed monitoring for large-scale deployments