dashboard resources API의 open_basedir 대응 수정 결과

humanpchumanpc ·
05-2042
open_basedir 제한 환경에서 /api/admin/dashboard/resources API가 HTTP 500으로 중단되던 문제에 대해 수정 결과를 정리합니다. 기존 문제는 dashboard resource 수집 과정에서 /proc/meminfo 같은 시스템 경로에 직접 접근하면서 발생했습니다. open_basedir 환경에서는 해당 경로 접근이 차단되고, PHP warning이 Laravel ErrorException으로 전환되면서 API 전체가 실패했습니다. 이번 수정 방향은 다음과 같습니다. - 시스템 리소스 probe 예외 안전 처리 - filesystem warning 전파 차단 - 리소스 수집 실패와 API 실패 분리 - fallback response 유지 - dashboard 화면 렌더 유지 수정 이후에는 시스템 리소스 일부를 읽지 못하더라도 dashboard API 자체는 정상 응답을 유지하도록 정리했습니다. 현재 기준은 다음과 같습니다. - dashboard API는 HTTP 200 유지 - JSON response shape 유지 - CPU / memory / disk 정보는 fallback 처리 - 관리자 화면은 계속 사용 가능 - 제한 환경에서도 전체 API 실패로 전파되지 않음 이번 이슈는 dashboard 기능 자체의 문제라기보다, 운영 환경 차이를 runtime condition으로 다루지 못한 데서 발생한 문제에 가까웠습니다. 앞으로도 filesystem 접근, process 실행, system resource probe는 제한 환경을 전제로 runtime-safe하게 다루는 방향으로 정리할 예정입니다.

Comments and actions are deferred

Load the comment and action area when you need it. Comments: 0