Apache에서는 "mod_status" 모듈에 "server-status"라는 핸들러를 제공한다.
(핸들러는 있는 동작을 시키는 함수 같은 것이다. 프로그램의 모임이라고 생각하면 된다.)
"server-status" 핸들러를 호출하여 Apache의 동작 상황을 확인할 수 있다.
그럼 브라우저에서 "server-status" 핸들러를 호출하여 동작 상황을 보자
mod_status 모듈 로드
먼저 "mod_status"모듈을 이용할 수 있도록 "LoadModule"에서 모듈을 로드한다.
앞부분에 주석을 제거한다.
LoadModule status_module modules/mod_status.so
다음은 "server-status" 핸들러를 호출하는 설정을 한다. "Include"을 사용하여 "httpd-info.conf" 파일을 로드한다.
직접 httpd.conf 에 작성해줘도 된다.
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 192.168.0.9
</Location>
"Location"을 사용하여 URL 경로를 "/server-status"으로 설정되었고, "/server-status" 라고 URL 경로로 호출 할때 "server-status" 핸들러를 호출하여 실행 설정을 "SetHandler"가 지정되어 있다.
이와 같이 작성되면 브라우저에서 "http://localhost/server-status"라고 요청하게 되면 "server-status" 핸들러를 실행하고 결과를 돌려준다.
보안상 로컬 혹은 사설IP만 액세스를 허용한다.
실행 확인
"http://서버IP/server-status"
위와 같이 Apache의 작동 상태를 모니터링이 가능하다.
refresh 설정하기
로컬 호스트에서 접속할 때 URL에 페라미터로 "?refresh=초"와 같이 넣으면,
지정한 초마다 최신 정보를 다시 받아온다
다음은 5초단위로 업데이트 하도록 설정하였다.
위와 같이 5초 단위로 자동으로 최신의 정보를 얻을 다시 받아와 표시하는 것을 확인할 수 있다.
물론 숫자를 1로 바꾸면 1초 단위로 보여준다
"server-status" 핸들러를 실행할 때 "ExtendedStatus"에 "On"을 설정하면, 현재 처리하고 있는 URL 및 자원에 대한 정보도 함께 확인할 수 있다.
httpd-info.conf" 파일에서 기본으로 Off라고 설명이 되어 있다. "ExtendedStatus On"의 "#"을 제거하여 확장 상태를 "On"으로 설정하면 상세 접보를 확인 할 수 있게 된다.
ExtendedStatus On
기본으로 Off라고 설명이 되어 있다. "ExtendedStatus On"의 "#"을 제거하여 확장 상태를 "On"으로 설정하면 상세 정보를 확인 할 수 있게 된다.
그럼 "On"으로 설정하겨 "http://localhost/server-status"에 액세스한다.
화면의 맨 마지막보다 자세한 정보가 표시된 것을 볼 수 있다.
'👨🏻💻Infra > 🟦WEB & WAS' 카테고리의 다른 글
Tomcat 버전 노출 (0) | 2020.08.11 |
---|---|
Apache LogFormat 정리 (0) | 2020.04.23 |
Tomcat 원격 코드 취약점 | CVE-2020-1938 Ghostcat (0) | 2020.04.09 |
PHP 메모리 부족 (PHP Fatal Error: Allowed memory size of) (0) | 2020.03.23 |
Apache log에 favicon.ico 출력 제거 (0) | 2020.03.04 |