Troubleshooting
Common issues and their solutions when running the Haltless edge agent.
Connection issues
Agent cannot reach the API
Symptoms: Connection refused or timeout errors in agent logs.
Solutions:
- Verify outbound HTTPS is allowed:
curl -v https://api.haltless.io/health - Check proxy settings: set
HTTPS_PROXYif you're behind a corporate proxy - Verify DNS resolution:
nslookup api.haltless.io - Check firewall rules , only outbound port 443 is needed
401 Unauthorized
Symptoms: Agent receives 401 on ingestion or heartbeat.
Solutions:
- Verify the API key is correct and hasn't been revoked
- Check for trailing whitespace in the key
- Confirm the key hasn't expired (
expires_atfield) - Generate a new key via Settings > API Keys in the dashboard
402 Payment Required
Symptoms: Heartbeat returns 402.
Solutions:
- Your subscription is inactive or past the grace period
- Check billing status in the dashboard under Settings > Billing
- Update your payment method to restore access
429 Too Many Requests
Symptoms: Ingestion requests are rate-limited.
Solutions:
- Check the
Retry-Afterheader for when to retry - Reduce push frequency or batch size
- Consider upgrading your tier for higher limits:
- Free: 60 writes/min
- Pro: 300 writes/min
- Enterprise: 1,200 writes/min
Data issues
Readings rejected with "Machine not found"
The machine_identifier in your readings must match a registered machine exactly.
- List your machines:
GET /api/v1/machines - Check for case sensitivity , identifiers are case-sensitive
- Register the machine first via the dashboard or API
Readings rejected with "Value must be finite"
Sensor values must be finite numbers. NaN, Infinity, and -Infinity are rejected.
- Check your data source for fault conditions that output non-finite values
- Add a filter in your agent configuration to skip invalid readings
Readings rejected with timestamp errors
- "Timestamp too far in the future" , clock skew exceeds 5 minutes. Sync your edge device clock with NTP.
- "Timestamp too old" , reading exceeds your tier's retention window
Duplicate readings
Haltless deduplicates based on (machine_id, metric_name, timestamp). Sending the same reading twice won't create duplicates but also won't return an error.
OPC-UA issues
Connection timeout
- Verify the OPC-UA server is running:
telnet <host> <port> - Check the endpoint URL format:
opc.tcp://host:port - Verify security settings match the server's requirements
- Try
security_mode = "None"for testing (not production)
BadNodeIdUnknown
The node ID doesn't exist on the server. Use an OPC-UA browser tool (e.g., UaExpert, Prosys OPC UA Browser) to verify node IDs.
Certificate errors
For SignAndEncrypt mode, ensure:
- The agent's certificate is trusted by the OPC-UA server
- The server's certificate is trusted by the agent
- Certificates are not expired
Modbus issues
No response from device
- Verify network connectivity:
telnet <host> 502 - Check the
unit_id(slave address) matches the device - Ensure the device supports Modbus TCP (not just RTU)
Incorrect values
- Verify register addresses in the device documentation
- Check
register_type,holding(FC 03) vsinput(FC 04) - Adjust
scaleandoffsetvalues - Check register byte order (big-endian vs little-endian)
Performance tuning
High memory usage
- Reduce
max_buffer_mbif offline buffer is growing too large - Reduce the number of concurrent data sources
- Decrease
batch_sizeto reduce per-request memory
Slow data push
- Increase
batch_sizeto reduce HTTP overhead (up to 1,000) - Check network latency to
api.haltless.io - Ensure the buffer directory is on fast storage (SSD preferred)
Getting help
If you can't resolve an issue:
- Collect agent logs:
journalctl -u haltless-agent --since "1 hour ago" - Note the error message and HTTP status code
- Contact support at support@haltless.io with:
- Agent version
- Configuration (redact API keys and passwords)
- Relevant log excerpts
- Error screenshots from the dashboard