| 969 번 글의 답장글: Re: 링크를 통해서 들어오는 접속통계를...추가질문입니다.. |
| 글쓴이: 산이
[홈페이지]
|
글쓴날: 2002년 03월 14일 06:21:51 목(오전) |
조회: 702 |
[나희찬]님이 남기신 글:
>안녕하세요..^^
>
>-- 산이님의 답변에 이해가 안되는부분이 있어서여..!!
>
>LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" combined
>
>내용이 있는지 확인해 보세요
>없다면 위와 같이 추가합니다.
>중요한점은 %{Referer} 이 있어야합니다.
>
>그리고
>다음의 한줄도 추가합니다.
>
>SetEnvIfNoCase Referer \.A_systemp\.com myreferer
>
>\".A_systemp\.com
>
>부분을 A 시스템의 도메인으로 설정합니다.
>점(.) 앞에는 \를 추가해야합니다.
>
>그다음 B 시스템의 가상호스트 섹션이나 적용 가상호스트에
>다음과 같이 로그를 저장하도록 합니다.
>
>CustomLog /usr/local/apache/logs/myrefer_log combined env=myrefer
>
>
>위의 내용에 관한 질문---------------------------------------------
>
>
>위의 부분에서 env=myrefer 로 지정된 \".A_systemp\.com 로부터의
접속만 myrefer_log에 쌓이게 하는설정이지여..?
>
>그런데
>\".A_systemp\.com
>부분을 A 시스템의 도메인으로 설정합니다.
>
>--위의 부분이 이해가 안됩니다..^^;; 그리고 아래와 연관이
있겠네요..
>
>SetEnvIfNoCase 의 지시자가는 하는 역할을 하고
싶습니다..!!
>
>SetEnvIfNoCase Referer \.A_systemp\.com myreferer
>==> 의 해석이 정확히 어케 되는지여..?
>이해가 될것도 같은데....헷갈리네요..^^;;
>
>
>----------------------------------------------------------------
>
>
>
>제가 하고 싶은내용은
>
>1. B system에 access_log는 쌓여야합니다(A
system에서의 접속 + B system으로의 다이렉트접속)
> B system에 A system으로 들어오는 referer_log는 따로 분리해서
쌓여야합니다.
> 이부분은 되긴 되었습니다..!!
> 제가 설정한내용은 아래와같습니다..
>
>httpd.conf 내용------------
>
>LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" combined
>LogFormat "%h %l %u %t \"%r\" %>s %b" common
>LogFormat "%{Referer}i -> %h %l %u %t \"%r\" %>s %b"
referer
>#LogFormat "%{Referer}i -> %U" referer
>LogFormat "%{User-agent}i" agent
>
>CustomLog /usr/local/apache/logs/referer_log referer
>CustomLog /usr/local/apache/logs/agent_log agent
>
>대략 위와같은 설정으로 A system의 베너를 통한 접속은
되었습니다..다만
해당 A system의 베너를 통한 접속뿐만이 아니라..
>다른 접속도 referer_log에 쌓입니다..!! Setenv환경변수를
사용해야 A system의 베너를 통한 접속로그만 따로
뽑을것같은데..
>Setenv환경변수의
내용을 이해를 못하겠습니다..^^;;
위에 제가 이해하지 못한부분을 적어보았습니다..
>
>-------------------------
>
>2. 만약 웹호스팅서비스를
한다고 할때
> VirtualHost지시자에다가
logfile을 따로 지정을 해서 webalizer를 사용하여 username_log를
각각이 따로 분석을 하고 싶습니다.
>
>3. VirtualHost를 사용을 할때도 referer_log를 사용을 해서 1번과
똑같은 상황을 처리해야한다고
할때
> VirtualHost지시자에
어떻게 설정을 해야하는지요..?
>
>4. 위의 내용이 모두 가능할꺼 같은데...산이님의
"특이한 녀석들은 따로 담거나 없애기" 와 제 나름대로
책을 본결과로...^^;;
> 가정으로 위의 내용이 모두 실행이 되었을때 webalizer를
실행하는데에 문제가 한가지 있습니다..
> webalizer를 cron으로 돌려서 사용을 하면 되겠지만...
> webalizer를 webhosting하는 모든 계정(만약 10개의 계정에
로그분석을 따로 해야한다면...)에
> 아래의 내용 (/etc/webalizer.conf) 을 따로 따로 실행을
해야하는데 말이죠..^^;;
>
> ---- 아래 ----
> LogFile /usr/local/apache/logs/referer_log
>
> OutputDir /usr/local/apache/htdocs/referer/
>
>
> 위의 내용을 10개를 써주어야하는지(계정수
만큼)...10개를 써주어도 실행은 하나만 되니까...(되긴되는데
실행이 하나밖에 안되더라구여..)
> 어떻게 자동으로 10개의 LogFile지시자에 나와있는내용을
한번에 실행할수 있는 방법이 있습니까..?
>
>
>
>-- VirtualHost 설정 -- 을 함 적어보겠습니다..-------------------------
>
>
><VirtualHost 192.168.0.12>
> ServerAdmin hcna@aaaaa.com
> DocumentRoot /usr/local/apache/htdocs
> ServerName aaaaa.com
> ErrorLog logs/error_log
> CustomLog logs/access_log common
></VirtualHost>
>
><VirtualHost 192.168.0.12>
> ServerAdmin hcna@aaaaa.com
> DocumentRoot /home/djkim/public_html
> ServerName bbbbb.com
> ErrorLog /home/djkim/logs/djkim-error_log
> CustomLog /home/djkim/logs/djkim-access_log common
></VirtualHost>
>
><VirtualHost 192.168.0.12>
> ServerAdmin hcna@aaaaa.com
> DocumentRoot /home/hcna/public_html
> ServerName ccccc.com
> ErrorLog /home/hcna/logs/hcna-error_log
># CustomLog /home/hcna/logs/hcna-access_log common
> TransferLog /home/hcna/logs/hcna-access_log
></VirtualHost>
>
>.
>.
>.
>
>----------------------------------------------------------------
>
>마지막으로 TrasferLog와 CustomLog의 관계는 어떻게
되지여..?
>비슷한것으로 알고 있는데...VirtualHost에
TransferLog를 쓰고 CustomLog를 안써도 상관없는건가여..?
>왜 따로 분리를 해놓은것인지...^^;;
더 헷갈리게...ㅋㅋㅋ...
>
>넘 장황하게 질문을 한것은 아닌지...심히 죄송스럽게
생각합니다..
>바쁘신데도 불구하고 친절한답변에 항상 감사하게
생각합니다..
>그럼 수고하십시요..^^
========================================
[webalizer]
/etc/webalizer/webalizer.conf 파일을 다른 이름로 복사합니다.
분석하고자 하는 수 만큼..그리고 편집도..
/etc/cron.daily/webalizer
파일을 열어 분석하고자 하는 로그 파일을 모두
추가해줘야합니다.
쉘스크립트이므로
쉘스크립트로 짜야합니다.
>SetEnvIfNoCase Referer \.A_systemp\.com myreferer
>==> 의 해석이 정확히 어케 되는지여..?
>이해가 될것도 같은데....헷갈리네요..^^;;
환경변수 이름은 모두 동일하게 myreferer 로 해야합니다.
제가 실수로 myrefer 로 했군요...
SetEnvIfNoCase 지시자는
체크 부분을 대소문자 구별없이 체크하여 특정
환경변수(myreferer)
이름으로
지정하는 지시자입니다.
SetEnvIfNoCase Referer \.aaa\.com myreferer
이것은 HTTP헤더 요청중 Referer가 .aaa.com 문자열을 포함하고
있으면
환경변수 myreferer 로 지정합니다.
예를들어 .aaa.com문자열이
없으면 myreferer 환경변수는 NULL이 되겠지요.
좀더 포괄적으로 적용하기 위해서는
SetEnvIfNoCase Referer aaa\.com myreferer
이게 더 낫겠군요..
그리고
CustomLog /usr/local/apache/logs/myrefer_log combined env=myreferer
이것은 로그포맷 형식은 위에서 정의한 combined 형식으로
저장하되
myreferer 환경변수가 있는 것만 저장하라는 의미입니다.
따라서 myreferer가 NULL이면 저장하지 않죠...
>마지막으로 TrasferLog와 CustomLog의 관계는 어떻게
되지여..?
>비슷한것으로 알고 있는데...VirtualHost에
TransferLog를 쓰고 CustomLog를 안써도 상관없는건가여..?
>왜 따로 분리를 해놓은것인지...^^;;
더 헷갈리게...ㅋㅋㅋ...
TransferLog 지시자는 CustomLog지시자 처럼 로그포맷
인자(combinded,common,refer,...)
나 환경변수를 그 인자로 사용할 수 없습니다.
즉 단순히 아무런 필터기능없이 로깅하려면 TransferLog를
사용합니다.
앞의 예와 같이
어떤 특정한 형태(combinded)나
환경변수 조건에(env=myreferer)에
맞는
경우에는 당연히 CustomLog지시자를
사용해야합니다.
VirtualHost 섹션에는 둘중 어느것을 사용해도 상관없습니다.
|
이전글 : 링크를 통해서 들어오는 접속통계를...추가질문입니다..
다음글 : [질문] sysinfo 에서 파티션정보 출력문제...
|
from 211.245.187.25
JS(Redhands)Board 0.4 +@
|