Add DNS error logging and server diagnostic script
Some checks failed
Lint and Build / Lint (push) Failing after 4s
Lint and Build / Build (push) Has been skipped
Lint and Build / Docker Build (push) Has been skipped

- Enhanced MongoDB connection error handling with DNS-specific logging
- DNS resolution errors now display clear diagnostic messages
- Added diagnose-server.sh script for remote server troubleshooting
- Graceful degradation continues when database connection fails
This commit is contained in:
goose 2026-02-24 10:57:01 -03:00
parent cd5c1709c6
commit 7b48f04fd1
2 changed files with 45 additions and 0 deletions

38
backend/diagnose-server.sh Executable file
View file

@ -0,0 +1,38 @@
#!/bin/bash
echo "=========================================="
echo "Backend Diagnostic Script for 10.0.10.30"
echo "=========================================="
echo ""
echo "1. Checking Docker containers..."
docker ps --filter "name=normogen" --format "table {{.Names}} {{.Status}} {{.Ports}}"
echo ""
echo "2. Checking if port 6500 is listening..."
sudo ss -tlnp | grep 6500 || echo "Port 6500 NOT listening"
echo ""
echo "3. Checking firewall status..."
sudo ufw status || echo "UFW not installed"
echo ""
echo "4. Checking Docker network..."
docker network ls | grep normogen
echo ""
echo "5. Backend container logs (last 20 lines)..."
docker logs --tail 20 normogen-backend-dev 2>&1
echo ""
echo "6. Testing local connection..."
curl -s --max-time 3 http://localhost:6500/health || echo "Local connection failed"
echo ""
echo "7. Testing container connection..."
docker exec normogen-backend-dev curl -s --max-time 3 http://localhost:8000/health || echo "Container connection failed"
echo ""
echo "=========================================="
echo "Diagnostic complete"
echo "=========================================="

View file

@ -28,6 +28,13 @@ impl MongoDb {
}
Err(e) => {
eprintln!("[MongoDB] ERROR: Failed to parse URI: {}", e);
let error_msg = e.to_string().to_lowercase();
if error_msg.contains("dns") || error_msg.contains("resolution") || error_msg.contains("lookup") {
eprintln!("[MongoDB] DNS RESOLUTION ERROR DETECTED!");
eprintln!("[MongoDB] Cannot resolve hostname in: {}", uri);
eprintln!("[MongoDB] Error: {}", e);
}
eprintln!("[MongoDB] Will continue in degraded mode (database operations will fail)");
// Create a minimal configuration that will allow the server to start