Troubleshooting Guide
Solutions for common PrintMaster issues.
Table of Contents
- Discovery Issues
- Connection Issues
- Web UI Issues
- Service Issues
- Database Issues
- Performance Issues
- Logs & Diagnostics
Discovery Issues
No Printers Found
Symptoms: Scan completes but no devices appear.
Solutions:
Verify network connectivity
# Can you reach the printer? ping 192.168.1.100Check SNMP is enabled on the printer
- Access the printer’s web interface
- Look for SNMP settings in Network or Security
- Ensure SNMP v1/v2c is enabled
Verify the SNMP community string
# Test with snmpwalk (if available) snmpwalk -v2c -c public 192.168.1.100 sysDescr- Default is
public, but some printers useprivateor a custom string - Update in Settings → SNMP Community
- Default is
Check firewall rules
- SNMP uses UDP port 161
- Ensure outbound UDP 161 is allowed from the agent
Check the IP range configuration
- Verify the correct subnet is configured
- Try scanning a single known-good IP first
Some Printers Missing
Symptoms: Some printers found, others not.
Solutions:
Different SNMP community strings
- Some printers may use a different community string
- Try scanning those IPs individually with the correct string
SNMP timeout too short
- Increase timeout: Settings → SNMP Timeout → 3000ms or higher
Printer SNMP disabled or restricted
- Check the printer’s SNMP access list
- Some printers only respond to specific IP addresses
Network segmentation
- Verify the agent can reach all subnets
- May need agents in multiple VLANs
Incomplete Device Information
Symptoms: Devices found but missing model, serial, or counters.
Solutions:
Increase SNMP timeout and retries
[snmp] timeout_ms = 3000 retries = 2Check vendor support
- Some older or budget printers have limited SNMP
- Check the logs for specific OID errors
Run a manual deep scan
- Go to Devices → select device → Rescan
Connection Issues
Agent Not Connecting to Server
Symptoms: Agent shows “Disconnected” in server dashboard.
Solutions:
Verify server URL format
[server] url = "http://server-ip:9090" # Include protocol and port!Test network connectivity
# From agent machine curl http://server-ip:9090/api/v1/healthCheck firewall
- Server port (default 9090) must be accessible
- Both TCP HTTP and WebSocket connections needed
Verify server is running
docker ps | grep printmaster # or systemctl status printmaster-serverCheck agent logs
- Look for connection errors
- See Logs & Diagnostics
WebSocket Connection Failing
Symptoms: “WebSocket error” messages, real-time updates not working.
Solutions:
Agent will auto-fallback to HTTP
- This is normal behavior, not an error
- Real-time updates will be slightly delayed
Check proxy configuration
- Reverse proxies must support WebSocket passthrough
- For Nginx:
location / { proxy_pass http://printmaster:9090; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
Check for WebSocket blocking
- Some corporate firewalls block WebSocket
- Test with direct connection (bypassing proxy)
Agent Keeps Reconnecting
Symptoms: Agent status flapping between connected/disconnected.
Solutions:
Network instability
- Check network path between agent and server
- Monitor for packet loss or high latency
Server resource issues
- Check server CPU/memory usage
- May need to scale up server resources
Increase heartbeat interval
[server] heartbeat_interval_seconds = 120
Web UI Issues
Cannot Access Web UI
Symptoms: Browser shows connection refused or timeout.
Solutions:
Verify service is running
# Windows Get-Service PrintMasterAgent # Linux systemctl status printmaster-agentCheck the correct port
- Default: Agent = 8080, Server = 9090
- May be configured differently
Check bind address
- Default binds to all interfaces
- May be restricted to localhost only
Check firewall
- Ensure the port is open
Try localhost
- Access from the local machine first
http://localhost:8080
UI Loading Slowly
Solutions:
Check network latency
- High latency = slow UI
Check device count
- Large device lists may load slowly
- Use pagination or filters
Clear browser cache
- Old cached assets may cause issues
Login Issues
Symptoms: Cannot log in, or session keeps expiring.
Solutions:
Verify credentials
- Default server:
admin/printmaster(or your set password)
- Default server:
Check for cookie issues
- Clear browser cookies
- Ensure cookies are enabled
Reset password (server)
- Stop the server
- Delete the database (⚠️ loses all data)
- Restart with new
ADMIN_PASSWORD
Service Issues
Service Won’t Start (Windows)
Solutions:
Check Event Viewer
- Look in Application log for PrintMaster errors
Run interactively to see errors
.\printmaster-agent.exeCheck port conflicts
netstat -ano | findstr :8080Reinstall service
.\printmaster-agent.exe --service uninstall .\printmaster-agent.exe --service install .\printmaster-agent.exe --service start
Service Won’t Start (Linux)
Solutions:
Check systemd logs
journalctl -u printmaster-agent -fCheck permissions
- Service needs read/write to data directory
- Check file ownership
Check SELinux/AppArmor
- May be blocking network or file access
ausearch -m avc -ts recent
Service Stops Unexpectedly
Solutions:
Check logs for crash information
Check resource usage
- Out of memory may cause crashes
- Check disk space for database
Update to latest version
- May be a known bug that’s been fixed
Database Issues
Database Locked Errors
Symptoms: “database is locked” errors in logs.
Solutions:
Check for multiple instances
- Only one process should access the database
- Kill duplicate processes
Check disk space
df -h /var/lib/printmasterCheck disk I/O
- High I/O latency can cause locking issues
Database Corruption
Symptoms: Startup errors mentioning database, or missing data.
Solutions:
Stop the service
Create a backup of the database
cp printmaster.db printmaster.db.backupTry recovery
sqlite3 printmaster.db "PRAGMA integrity_check;"If corrupt, restore from backup or recreate
- Delete the database file
- Restart the service (creates new database)
- Rediscover devices
Performance Issues
Slow Discovery Scans
Solutions:
Reduce concurrent scans (if network constrained)
discovery_concurrency = 25Increase concurrent scans (if CPU constrained)
discovery_concurrency = 100Reduce IP range scope
- Scan only subnets with printers
- Avoid scanning entire /16 networks
Increase timeout if many devices offline
- Scanning dead IPs wastes time waiting for timeout
High Memory Usage
Solutions:
Check device count
- Normal: ~1MB per 100 devices
Restart service to clear memory
Check for memory leaks
- Report persistent memory growth as a bug
High CPU Usage
Solutions:
During scans is normal
- CPU usage spikes during discovery
Check scan frequency
- Too frequent = constant high CPU
- Hourly scans usually sufficient
Check log level
- Debug logging increases CPU usage
- Set to
infofor production
Logs & Diagnostics
Log Locations
| Platform | Agent Logs | Server Logs |
|---|---|---|
| Windows | Event Viewer → Application | Event Viewer → Application |
| Linux | journalctl -u printmaster-agent | journalctl -u printmaster-server |
| Docker | docker logs printmaster-server | docker logs printmaster-agent |
Enabling Debug Logging
Via config file:
[logging]
level = "debug"
Via environment variable:
export AGENT_LOG_LEVEL=debug
Via command line:
./printmaster-agent -log-level debug
Collecting Diagnostics
When reporting an issue, include:
Version information
./printmaster-agent -versionConfiguration (redact sensitive values)
Relevant log entries
Steps to reproduce
Expected vs actual behavior
Health Check Endpoints
Agent:
curl http://localhost:8080/api/v1/health
Server:
curl http://localhost:9090/api/v1/health
These return JSON with status information useful for diagnostics.
Getting Help
If you can’t resolve an issue:
Search existing issues: GitHub Issues
Ask the community: GitHub Discussions
Report a bug: Create a new GitHub issue with diagnostics