아파치웹서버 모니터링하기
아파치웹서버를 동작시킨 후에 관리자는 서버의 부하를 어느정도 받고 있는지 모니터링을 해야한다.
부하가 많고 응답속도가 현저하게 떨어졌을 때에는 적절한 조치를 취해야하며, 데몬은 뜨있지만 제대로 응답하지 않는 경우도 있기 때문에 항상 모니터링을 해야한다.
아파치웹서버의 모니터링은 유닉스의 쉘상태에서도 할 수 있으며, 웹으로도 할 수 있다.
일단 이런 모니터링을 가능하게 하려면 httpd.conf파일에 다음과 같이 설정을 해야한다.
아파치웹서버를 처음설치하고 나면 이부분은 주석처리가 되어있으므로 주석부분을 제거한 후에 위의 예처럼 "SetHandler"부분에 "server-status"라고 설정을 해두어야한다.
자, 이제 서버모니터링을 웹브라우즈로 해보자.
먼저 아파치를 띄워야하며 웹브라우즈를 실행시키도록 한다.
실행시킨후에 다음과 같은 URL을 주소입력부분에 입력한다.
http://www.yourdomain.co.kr/server-status
또한 주기적인 갱신으로 계속적인 모니터링을 하려면 다음과 같이 refresh주기를 주면 된다. 단위는 초이다.
http://www.yourdomain.co.kr/server-status?refresh=5
예를들어 자신의 도메인이 www.manualand.co.kr이라면
http://www.manualand.co.kr라고 하면 된다.
이 부분에 대한 대략적인 설명은 다음과 같다.
- Server Version : 아파치서버의 버전을 나타낸다.
- Server Built : 아파치서버가 설치된 년, 월, 일, 시
- Current Time : 현재 모니터링하는 년, 월, 일, 요일, 시간
- Restart Time : 아파치서버가 재동작한 년, 월, 일, 요일, 시간
- Parent Server Generation : 서버 부하방지을 위한 아파치서버 생성갯수 총서버 개수중 요구에 응하고 있는 서버의 개수와 놀고 있는 서버의 개수 Scoreboard Key 에 대한 정보
- "-" : 응답을 하기 위해 대기중임을 나타냄.
- "S" : 시작되고 있음을 나타냄.
- "R" : 응답을 위해 요구사항을 해석하고 있음.
- "L" : 요구에 대한 응답을 하고 있음.
- "K" : 계속연결중임.
- "D" : DNS서버에 요구도메인 검색중임.
- PID key : 프로세스정보를 보여준다.
또한 유닉스의 쉘에서도 간단히 아파치웹서버에서 제공되는 쉘스크립트로 모니터링을 할 수가 있다.
쉘프롬프트상에서 다음과 같은 명령을 이용하면 된다.
#./apachectl fullstatus