mirror of
https://github.com/taylanbakircioglu/haproxy-openmanager.git
synced 2026-09-24 03:16:24 +00:00
a6b223c0e7
PRODUCTION STABILITY FIX - Detailed Logging for Malformed Agent Payloads PROBLEM: - demo-agent1 and demo-agent2 sending malformed JSON - Error: JSON decode error at body position 322 - No visibility into WHAT is malformed or WHY - Impossible to debug without raw payload inspection ROOT CAUSE: - FastAPI consumes request body before error handler - Pydantic validation fails but does not show raw input - Agent script might be generating invalid JSON - No logging of actual problematic payload SOLUTION - ENHANCED ERROR HANDLING: 1. MIDDLEWARE ENHANCEMENT (error_handler.py): - Extract RAW body in validation error handler - Parse agent name from JSON (even if malformed) - Log first 500 chars of problematic payload - Add body size to error details - Special handling for /heartbeat endpoint - Detailed logging for json_invalid errors 2. HEARTBEAT ENDPOINT (agent.py): - Added Request parameter for raw body access - Enhanced docstring with troubleshooting info BENEFITS: - Instant visibility into malformed JSON - Agent name logged even on parse failure - Exact payload position + preview - No performance impact (only on errors) - Backward compatible (does not change API) NEXT STEPS (After Deploy): 1. Check logs for CRITICAL JSON PARSE ERROR 2. Identify exact field causing parse failure 3. Fix agent script if needed 4. Or fix backend to be more tolerant This enables root cause analysis without SSH access to agent servers