Daemon Troubleshooting
Common issues and solutions for Scanopy daemons.
Daemon Issues
Section titled “Daemon Issues”Daemon Not Connecting to Server
Section titled “Daemon Not Connecting to Server”Symptoms: Daemon shows as offline in the UI, or logs show connection errors
Diagnosis:
# Check daemon logsdocker logs scanopy-daemon
# Test connectivity to servercurl https://your-server-url/api/healthSolutions:
- Verify server URL: Ensure
SCANOPY_SERVER_URLis correct and reachable from the daemon host - Check API key: Verify the API key is valid and not expired in Manage > API Keys
- Firewall rules: Ensure outbound HTTPS (port 443) is allowed from the daemon host
Discovery Fails with “CONCURRENT_SCANS too high”
Section titled “Discovery Fails with “CONCURRENT_SCANS too high””Symptoms: Daemon crashes or runs out of memory during scans
Solution: Reduce concurrent scans in daemon configuration:
Docker:
environment: - SCANOPY_CONCURRENT_SCANS=10 # Reduce from defaultBinary:
scanopy-daemon --concurrent-scans 10 ...See Daemon Configuration for recommended values.
”Too Many Open Files” Error
Section titled “”Too Many Open Files” Error”Symptoms: Critical error scanning: Too many open files (os error 24) in daemon logs
Causes: System file descriptor limit is too low for the configured concurrent scans.
Solutions:
-
Reduce concurrent scans (easiest):
environment:- SCANOPY_CONCURRENT_SCANS=10 -
Increase system file descriptor limit:
Terminal window # Check current limitulimit -n# Increase temporarilyulimit -n 65535# Increase permanently (add to /etc/security/limits.conf)* soft nofile 65535* hard nofile 65535 -
For Docker: Add to your daemon container:
ulimits:nofile:soft: 65535hard: 65535
Permission Denied Errors (Linux)
Section titled “Permission Denied Errors (Linux)”Symptoms: “Permission denied” when accessing Docker socket
Solution: Add user to docker group:
sudo usermod -aG docker $USERnewgrp dockerLog out and back in for changes to take effect.
Daemon Stops When Terminal Closes
Section titled “Daemon Stops When Terminal Closes”Symptoms: Daemon runs in foreground and stops when SSH session ends
Solution: Install as a systemd service (see Installing a Daemon), or run with a process manager like screen or tmux.
Discovery Issues
Section titled “Discovery Issues”Discovery Takes Hours
Section titled “Discovery Takes Hours”Symptoms: Network discovery takes 10+ hours to complete
Most likely cause: You’re scanning a Docker bridge network. The default 172.17.0.0/16 is 65,536 IPs.
Solutions:
-
Remove large subnets: In your Network Scan discovery, remove any Docker bridge networks (172.17.0.0/16, etc.)
-
Use Docker discovery instead: It queries the Docker API directly and takes seconds
-
Check your subnet list: Only scan subnets that actually contain hosts
Topology Empty After Discovery
Section titled “Topology Empty After Discovery”Symptoms: Discovery completes but topology shows nothing
Check these:
- Discovery errors: Check Discover > Sessions for failures
- Network filter: Check topology options panel — wrong network may be selected
- Service filters: Category filters may be hiding everything
- Reachability: Verify daemon can actually reach the target network
Getting Help
Section titled “Getting Help”If your issue isn’t covered here:
- Discord: Join our Discord community
- GitHub Issues: Open an issue