Apache | Apache 서버 관리 (mod_status) | 작동 상태 확인 (server-status)

Apache에서는 “mod_status” 모듈에 “server-status"라는 핸들러를 제공한다. (핸들러는 있는 동작을 시키는 함수 같은 것이다. 프로그램의 모임이라고 생각하면 된다.)

“server-status” 핸들러를 호출하여 Apache의 동작 상황을 확인할 수 있다. 그럼 브라우저에서 “server-status” 핸들러를 호출하여 동작 상황을 볼 수 있도록 해보자.

mod_status 모듈 로드

먼저 “mod_status"모듈을 이용할 수 있도록 “LoadModule"에서 모듈을 로드한다. “httpd.conf” 파일에서 “mod_status"로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

#LoadModule status_module modules/mod_status.so

“LoadModule” 앞부분에 “#“이 있다면 “#“을 제거한다.

LoadModule status_module modules/mod_status.so

다음은 “server-status” 핸들러를 호출하는 설정을 한다. “Include"을 사용하여 “httpd-info.conf” 파일을 로드한다. “httpd.conf” 파일에서 “httpd-info.conf"로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf

“Include” 앞부분에 “#“이 있다면 “#“을 제거한다.

# Real-time info on requests and configuration
Include conf/extra/httpd-info.conf

httpd-info.conf 파일 확인

다음은 “httpd-info.conf” 파일에서 “/server-status"로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

<Location /server-status>
    SetHandler server-status
    Require host .example.com
    Require ip 127
</Location>

“Location"을 사용하여 URL 경로를 “/server-status"으로 설정되었고, “/ server-status” 라고 URL 경로로 호출 할때 “server-status” 핸들러를 호출하여 실행 설정을 “SetHandler"가 지정되어 있다.

이와 같이 작성되면 브라우저에서 “http://localhost/server-status"라고 요청하게 되면 “server-status” 핸들러를 실행하고 결과를 돌려준다. 또한 서버의 작동 상황은 누구에게나 공개하는 것은 아니다. 그래서 로컬 호스트에서만 액세스를 허용한다.

실행 확인

로컬에서 “http://127.0.0.1/server-status"에 액세스하십시오.

server-status

이 처럼 URL에 접근할 수 있다면 위와 같이 Apache의 작동 상태를 모니터링 할 수 있다.

지정된 시간에 자동 업데이트

로컬 호스트에서 접속할 때 URL에 페라미터로 “?refresh=초"와 같이 넣으면, 지정한 초마다 최신 정보를 다시 받아오게 된다.

그럼 5초 단위로 자동 업데이트하도록 “http://127.0.0.1/server-status?refresh=5"라고 URL 입력한다.

server-status

위와 같이 5초 단위로 자동으로 최신의 정보를 얻을 다시 받아와 표시하는 것을 확인할 수 있다.




최종 수정 : 2019-12-10