| 1968 번 글의 답장글: Re: Re: Re: 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수 있을까요? |
| 글쓴이: 산이
[홈페이지]
|
글쓴날: 2004년 03월 07일 21:05:53 일(저녁) |
조회: 733 |
[하얀피]님이 남기신 글:
>아래 로그 기록을 각 버츄얼호스트 부분에 몽땅 써주어야
하나요???
>버츄얼 외의 공란에 써주었더니 파일생성은 되지만 로그는
안남네요..
>
>[산이]님이 남기신 글:
>
>>[하얀피]님이 남기신 글:
>>
>>>요즘 www 1번 서버와 3번서버가 랜덤적으로 폭주하고
있습니다.
>>>가끔 스스로 폭주가 멈추는 경우는 있지만...
>>>폭주할때마다
cpu가 99% 이상으로 차며 아파치 프로세서가 맥스를
넘어버립니다.
>>>어떤 계정에서의 무한루프쪽을 의심하고 있는데요.
>>>그래서 그런데..
>>>실시간으로 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수
있을런지요?
>>>일단 셸을 이용해서 cpu와 memory를 체크할 수 있는 스크립트를
사용하는데
>>>이것을 계정 list와 대조시켜서 계속 감지한다는게
조금--;;;;
>>>다른 방법이 없을까요???
>>>
>>>아래는 제가 구한 스크립트 입니다.
>>>#!/bin/sh
>>>#
>>># uid 찾기
>>>#
>>>ARG=$1
>>>FINDED_UID=$(cat /etc/passwd | grep ^$ARG | cut -f3 -d:)
>>>a=`ps -eo uid,pcpu |tail +2| tr -s [:space:]`
>>>set `echo $a`
>>>SUM=0
>>>SUM1=0
>>>while [ $# -gt 0 ]
>>>do
>>> FIRST=$1
>>> SECONT=$2
>>> if [ $FIRST -eq $FINDED_UID ]
>>> then
>>> SECONT_F=$(echo $SECONT|cut -f1 -d.)
>>> SECONT_S=$(echo $SECONT|cut -f2 -d.)
>>> SUM=`expr $SUM + $SECONT_F`
>>> SUM1=`expr $SUM1 + $SECONT_S`
>>> fi
>>>shift 2
>>>done
>>>SUM=`expr $SUM + $SUM1 / 10 `
>>>SUM1=`expr $SUM1 % 10`
>>>echo "현재 ${ARG}의 CPU 사용량은 $SUM.$SUM1% 입니다."
>>
>>========================================
>>
>>답변이 늦었습니다.
>>
>>사용자 계정에 대한 체크는 이와 같이 하면 됩니다.
>>다만 그 결과치가 몇 % 이상일 경우 관리자 메일로
보낸다거나
>>어떤 메시지가 출력하도록 설정해 놓으면 되겠죠.
>>
>>그런데
>>
>>apche 는 보통 nobody 아니면 www 권한으로 돌아가기
때문에
>>이와 같은 원리로는 체크할 수 없습니다.
>>
>>`가상호스트 == 계정'
>>
>>이라는 공식이 성립되므로 아파치 쪽에서 설정 및
모니터링해야 합니다.
>>
>>즉 어느 가상호스트에서
트래픽이 많이 생기는지 또한 어느
>>가상호스트에서
실행시간이 많이 걸리는지 체크해야 합니다.
>>
>>전자는 log 파일과 MRTG (설치/설정)를 또는 throttle 를
기준으로
>>방향을 잡고
>>후자 역시 log 파일을 중점으로 모니터링해야 합니다.
>>
>>[아파치 로그 포맷]
>>
>>http://linuxchannel.net/docs/apache_log.txt
>>
>>전자 :
>>
>>년도월일시간분
호스트네임 전송바이트
>>LogFormat "%{%Y%m%d%H%M}t %v %b" trafficrx
>>CustomLog /usr/local/apache/logs/trafficrx_log trafficrx
>>
>>후자는
>>
>>년도월일시간분
호스트네임 실생한시간
>>LogFormat "%{%Y%m%d%H%M}t %v %T" runtime
>>CustomLog /usr/local/apache/logs/runtime_log runtime
>>
>>물론 이 두개를 하나의 로그 파일로 관리할 수 도 있습니다.
>
>========================================
========================================
LogFormat "%{%Y%m%d%H%M}t %v %b" trafficrx
LogFormat "%{%Y%m%d%H%M}t %v %T" runtime
CustomLog /usr/local/apache/logs/trafficrx_log trafficrx
CustomLog /usr/local/apache/logs/runtime_log runtime
....
NameVirtualHost ....
이렇게 메인 설정 부분에 설정하세요.
$v (호스트 네임) 가 있으므로 어느 호스트에서 이상이 있는지
쉽게 알 수 있을 겁니다.
|
이전글 : Re: Re: 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수 있을까요?
다음글 : Re: Re: Re: Re: 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수 있을까요?
|
from 61.254.74.228
JS(Redhands)Board 0.4 +@
|