| 1968 번 글의 답장글: Re: Re: Re: Re: 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수 있을까요? |
| 글쓴이: 하얀피
|
글쓴날: 2004년 03월 07일 23:37:28 일(저녁) |
조회: 813 |
확실히.. httpd.conf에서 메인부분에 적어주었습니다.
# user checklog
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
### Section 3: Virtual Hosts
NameVirtualHost ...
<VirtualHost ...>
....
....
</VirtualHost>
logs 폴더에 보면
-rw-r--r-- 1 root root 0 3월 7 23:32 runtime_log
-rw-r--r-- 1 root root 0 3월 7 23:32 trafficrx_log
분명히 로그 파일이 생성되긴 합니다.
그러나 보다싶이 0바이트. 로그값이 전혀 저장되지 않네요.
httpd.conf파일이라도
전체적으로 포스팅 해드려야 할까요?
[산이]님이 남기신 글:
>
>[하얀피]님이 남기신 글:
>
>>아래 로그 기록을 각 버츄얼호스트 부분에 몽땅 써주어야
하나요???
>>버츄얼 외의 공란에 써주었더니 파일생성은 되지만 로그는
안남네요..
>>
>>[산이]님이 남기신 글:
>>
>>>[하얀피]님이
남기신 글:
>>>
>>>>요즘 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: Re: 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수 있을까요?
다음글 : Re: Re: Re: Re: Re: 어떤 유저가 얼마만큼의 CPU를 사용하는지 알 수 있을까요?
|
from 218.234.140.244
JS(Redhands)Board 0.4 +@
|