본문 바로가기

미들웨어/Apache,Tomcat

mod_status를 사용한 Apache monitoring

반응형

이번 포스팅에서는 mod_info와 mod_status를 사용해 Apache모니터링 설정을 해보려고 한다.

해당 모듈은 기본적으로 제공이 된다는 장점이 있지만 보기 좋은 환경을 제공하진 않는다.


1. mod_info와 mod_status

  • mod_info : 기동된 Apache의 config, 로딩된 모듈, 버전정보등등의 Apache의 정보를 확인 할 수 있는 모듈
  • mod_status : Apache의 상태(connection갯수, resource사용률, threads수 등)를 실시간으로 모니터링 할 수 있는 모듈

 

2. 모듈 로딩

  • Apache를 설치하고 나면 기본적으로 mod_info와 mod_status 모듈이 제공된다.
    설정파일에 해당 모듈들을 로딩해준다.

 

  • httpd.conf
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so

...

Include conf/extra/httpd-info.conf

 

2. 설정.

  • 필요한 설정을 추가한다. 위치는 상관없지만 httpd-info.conf에 설정을 진행하였다.
  • httpd-info.conf
<Location /server-status>
    SetHandler server-status
#    Require host .example.com
#    Require ip 0.0.0.0
    order allow,deny
    allow from all
</Location>

<Location /server-info>
    SetHandler server-info
#    Require host .example.com
#    Require ip 0.0.0.0
    order allow,deny
    allow from all
</Location>
  • Require host, Require ip : 접근가능한 host, IP를 지정한다. 설정하지 않으면 모든 host와 IP에 대한 접근을 허용한다.
  • 설정 후 접속시 /server-status, /server-info 를 통해 접속하며 경우에 따라 port분리 또는 context 분리 설정이 필요하다.

 

3. 호출 화면

  • server-info

  • Apache의 config부터 사용중인 모듈, 버전정보등 확인이 가능하다.

 

  • server-status

  • Apache, openssl, mod_jk, 사용중인 mpm종류 등 기본적인 정보를 제공한다.
  • 프로세스 정보, 기동시간, total access count, resource사용량등의 확인이 가능하다
반응형

  • 현재 기동중인 프로세스 각각의 connections, threads(active/idle) 와 전체 프로세스, threads등의 수를 표로 제공한다.
  • threads 하나하나의 현재 상태를 ., -, S, R, W 등으로 보여준다.(이건 사실 너무 보기 불편하다)

 

  • 위에 나타낸 ., -, S, R 등의 정보를 request와 맵핑하여 정보를 보여준다.
  • 각 thread별로 처리횟수, 사용중인 resource의 양, 현재 처리중인 request 등의 정보 확인이 가능하다.

Datadog도 Apache모니터링을 위해서 mod_status를 사용할 정도로 Apache 모니터링은 다른방법이 거의 없어보인다.

업무에서는 mod_status의 정보를 스크립트로 가공하여 사용중인데 나중에 기회가 된다면 공유하도록 하겠다.

반응형