공개하기부끄러운블로그
공개하기부끄러운블로그
공개하기부끄러운블로그
전체 방문자
오늘
어제
  • 🥇Home (100)
    • 👨🏻‍💻Infra (73)
      • 🌐Network (4)
      • 🐧Linux (27)
      • 🌎Cloud (9)
      • ⚫️Virtualization (2)
      • 🐳Docker & Kubernetes (1)
      • 🟦WEB & WAS (18)
      • 🟩IaC (0)
      • 🟨CI & CD (0)
      • ⚙️Application (6)
      • 💻Monitoring (2)
      • 📡HA (4)
    • 👨🏻‍💻Development (3)
      • 💻Frontend (2)
      • 💾Backend (0)
      • 🐍Bash (1)
    • 💾Data (16)
      • 🧩Database (13)
      • 📁Storage (3)
    • 🎓BBS (5)
    • 👨‍👧‍👧Git (0)

최근 글

인기 글

최근 댓글

태그

  • xe
  • tomcat
  • nginx
  • CentOS6 PostgreSQL
  • 카카오 주소API
  • CentOS7 PostgreSQL
  • CentOS8 PostgreSQL
  • log4j 취약점
  • 취약점
  • Tomcat HTTP 헤더
  • WAF
  • 보안
  • Tomcat 버전 노출
  • 톰캣
  • pacemaker
  • 방화벽
  • 톰캣 HTTP 헤더
  • pcs
  • 웹방화벽
  • 레드마인 테마
  • RHCS
  • 레드마인
  • 다음 카카오 주소API
  • GFS2
  • Tomcat 취약점
  • 톰캣 버전 노출
  • 다음 주소API
  • Redmine
  • 라이믹스
  • 제로보드

티스토리

hELLO · Designed By 정상우.
공개하기부끄러운블로그

공개하기부끄러운블로그

[Apache] Apache server-status  로 모니터링 하기
👨🏻‍💻Infra/🟦WEB & WAS

[Apache] Apache server-status 로 모니터링 하기

2020. 4. 23. 21:04
반응형

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
    '👨🏻‍💻Infra/🟦WEB & WAS' 카테고리의 다른 글
    • Tomcat 버전 노출
    • Apache LogFormat 정리
    • Tomcat 원격 코드 취약점 | CVE-2020-1938 Ghostcat
    • PHP 메모리 부족 (PHP Fatal Error: Allowed memory size of)
    공개하기부끄러운블로그
    공개하기부끄러운블로그
    IT 기술 블로그

    티스토리툴바