Skip to main content
This guide covers common issues, diagnostic procedures, and recovery strategies for ML Defender components. Use the accordion sections below for FAQ-style troubleshooting.

Quick Diagnostics

Health Check Script

Run the built-in diagnostics:
Output includes:
  • File existence checks
  • Docker information
  • Running containers/processes
  • Network interfaces and routing
  • eBPF support
  • Recent logs

Component Status

Log Quick Check

Common Issues

Symptoms

  • Process exits immediately after launch
  • “Address already in use” errors
  • “Permission denied” errors

Diagnostics

Solutions

Port Already in Use:
Permission Denied (Sniffer/Firewall):
Binary Not Found:
Config File Missing:

Symptoms

  • Sniffer shows “Packets processed: 0”
  • Detector receives no data
  • No traffic in logs

Diagnostics

Solutions

Interface Not in Promiscuous Mode:
Wrong Interface Configured:
No Traffic on Interface:
eBPF Program Not Loaded:

Symptoms

  • Sniffer captures packets but detector shows no input
  • Detector detects threats but firewall receives nothing
  • “Connection refused” or “timeout” errors

Diagnostics

Solutions

Wrong Startup Order:
Port Already Bound:
Endpoint Mismatch:

Symptoms

  • “IPSet not found” errors
  • “IPSet add failed” errors
  • Capacity warnings
  • IPs not being blocked

Diagnostics

Solutions

IPSet Doesn’t Exist:
IPSet Full (Capacity Limit):
IPs Not Being Blocked:
Permission Denied:

Symptoms

  • “Decryption failed” errors
  • “Decompression failed” errors
  • “crypto_errors” > 0 in metrics
  • Firewall receives garbled data

Diagnostics

Solutions

etcd Not Running:
Crypto Tokens Not Shared:
Crypto Disabled in Config:
Key Mismatch:

Symptoms

  • Component using >80% CPU
  • Memory growing continuously
  • System becomes unresponsive
  • Out of memory errors

Diagnostics

Solutions

High CPU - Sniffer:
High CPU - Detector:
High CPU - Firewall:
Memory Leak:
Out of Memory:

Symptoms

  • Client VM cannot reach internet through defender
  • Packets not being forwarded
  • “Network unreachable” errors on client

Diagnostics

Solutions

IP Forwarding Disabled:
NAT Not Configured:
rp_filter Blocking Traffic:
Client Route Incorrect:

Debug Scripts

debug.sh

Comprehensive system diagnostics:
source/scripts/debug.sh

network_diagnostics.sh

Network-specific diagnostics:
source/scripts/network_diagnostics.sh

Component Failure Recovery

Automatic Restart

For production, use systemd with restart policies:

Manual Recovery

State Recovery

Getting Help

Log Collection

When reporting issues, collect logs:

Community Support

Debug Mode

Enable verbose logging:

Next Steps

Monitoring

Set up proactive monitoring

Performance Tuning

Optimize for better performance

Configuration

Review configuration options

Architecture

Understand component interactions