Troubleshooting
Common issues and solutions for VMProber.
Application Won’t Start
Configuration Loading Error
Symptoms:
Failed to load configuration: failed to parse config: yaml: ...
Solutions:
- Check YAML syntax:
yamllint config.yaml - Validate configuration structure
- Ensure file exists and is readable
Port Already in Use
Symptoms:
Failed to start HTTP server: listen tcp :8429: bind: address already in use
Solutions:
- Change port in configuration
- Stop the process using the port:
lsof -i :8429 && kill <PID>
Metrics Not Exporting
/metrics Endpoint Not Responding
Solutions:
- Check HTTP server is running:
curl http://localhost:8429/health - Check logs for errors
- Ensure
pull.enabled: truein configuration
Metrics Are Empty
Solutions:
- Verify targets are configured
- Check logs for probe execution errors
- Ensure targets are accessible
Probes Not Executing
All Probes Fail
Solutions:
- Check target accessibility:
telnet example.com 80 - Check firewall rules
- Increase timeout in configuration
- Enable debug logging
ICMP Probes Not Working
Solutions:
- Check permissions (requires root/administrator)
- Check system settings:
sysctl net.ipv4.ping_group_range - Use alternative library in configuration
Performance Issues
High CPU Usage
Solutions:
- Reduce concurrent probes
- Increase intervals between probes
- Use jitter for load distribution
High Memory Usage
Solutions:
- Reduce queue size
- Configure WAL to limit size
- Check for memory leaks using pprof
WAL Issues
WAL Write Errors
Solutions:
- Check WAL directory permissions
- Ensure directory exists
- Change WAL path to accessible directory
WAL Taking Too Much Space
Solutions:
- Configure retention
- Configure maximum size
- Enable compression
Push Mode Issues
Metrics Not Sending to VictoriaMetrics
Solutions:
- Check endpoint accessibility
- Check authentication (tokens, credentials)
- Enable debug logging
- Check retry settings
Debugging
Enable Debug Logging
logging:
level: "debug"
format: "json"
Or via command line:
./bin/vmprober --config=config.yaml --log-level=debug
Using pprof
Enable in configuration:
observability:
pprof:
enabled: true
port: 6060
Profile:
go tool pprof http://localhost:6060/debug/pprof/profile
Getting Help
If issues persist:
- Collect information:
- VMProber version
- Configuration (without secrets)
- Logs with debug level
- Metrics (
/metrics) - Environment information
- Create an issue with:
- Problem description
- Steps to reproduce
- Collected information
See Also
- Deployment - Deployment guide
- Monitoring - Monitoring setup