Apache 웹서버 server-status 모니터링

by 조쉬 posted Feb 27, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄


아파치웹서버 모니터링하기

 

아파치웹서버를 동작시킨 후에 관리자는 서버의 부하를 어느정도 받고 있는지 모니터링을 해야한다. 부하가 많고 응답속도가 현저하게 떨어졌을 때에는 적절한 조치를 취해야하며, 데몬은 떠있지만 제대로 응답하지 않는 경우도 있기 때문에 항상 모니터링을 해야한다. 아파치웹서버의 모니터링은 유닉스의 쉘상태에서도 할 수 있으며, 웹으로도 할 수 있다.

일단 이런 모니터링을 가능하게 하려면 httpd.conf파일에 다음과 같이 설정을 해야한다.

 

제일먼저 ExtendedStatus On 에 주석# 을 제거한다. 

 

[아파치 모니터링을 위하여 httpd.conf의 설정] : 특정 IP주소자만 허용

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 192.168.0.203
</Location>

위의 예와 같이 아파치 모니터링을 위해서는 httpd.conf 파일내에 server-status 설정이 되어 있어야 한다. 위의 설정에서 Order deny, allow 와 Deny from all 그리고 Allow from 192.168.0.203 설정으로 인하여 이 모니터링페이지를 웹브라우저로 확인가능한 곳은 192.168.0.203 IP 사용자만 가능하다. 당연히 192.168.0.203 사용자는 아파치웹서버의 관리자일 것이다.

만약 특정 IP 주소가 아닌 네트워크로 지정하고자 한다면 다음과 같이 하면 된다.

 

[아파치 모니터링을 위하여 httpd.conf의 설정] : 특정 네트워크 사용자 모드 허용

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 192.168.0.0/24
</Location>

즉, 192.168.0.0번 IP 사용자부터 192.168.0.255 사용자까지만 모니터링페이지를 로딩할 수 있다는 의미이다. 위의 설정은 관리자에 소속된 사용자들만 접속을 허용하기 위한 설정이라고 생각하면 된다.

 

이제 서버모니터링을 웹브라우저로 해보자. 먼저 아파치를 재시작시켜야 한다.

http://192.168.0.201/server-status

또한 주기적인 갱신으로 계속적인 모니터링을 하려면 다음과 같이 refresh 주기를 주면 된다. 단위는 초이다.

http://192.168.0.201/server-status?refresh=5


  -   Server Version : 아파치서버의 버전을 나타낸다. 

  -   Server Built : 아파치서버가 설치된 년, 월, 일, 시

  -   Current Time : 현재 모니터링하는 년, 월, 일, 요일, 시간

  -   Restart Time : 아파치서버가 재동작한 년, 월, 일, 요일, 시간

  -   Parent Server Generation : 서버 부하방지을 위한 아파치서버 생성갯수 총서버 개수중 요구에 응하고 있는 서버의 개수와 놀고 있는 서버의 개수 Scoreboard Key 에 대한 정보  

  -   "-" : 응답을 하기 위해 대기중임을 나타냄.

  -   "S" : 시작되고 있음을 나타냄.

  -   "R" : 응답을 위해 요구사항을 해석하고 있음.

  -   "L" : 요구에 대한 응답을 하고 있음.

  -   "K" : 계속연결중임.

  -   "D" : DNS서버에 요구도메인 검색중임.

  -   PID key : 프로세스정보를 보여준다.