2012-02-17 4 views
0

AWStats가 실행 중이며 보고서가 IIS 로그 파일에서 작성됩니다. 사이트에서 실행 된 perl 스크립트의 모든 동작을 볼 수있는 추가 섹션이 있습니다.AWStats 여분의 섹션에 여러 열이 있습니다.

ExtraSectionName1="Actions" 
ExtraSectionCodeFilter1="200 304" 
ExtraSectionCondition1="URL,\/cgi\-bin\/.+\.pl" 
ExtraSectionFirstColumnTitle1="Action" 
ExtraSectionFirstColumnValues1="QUERY_STRING,action=([a-zA-Z0-9]+)" 
ExtraSectionFirstColumnFormat1="%s" 
ExtraSectionStatTypes1=HPB 
ExtraSectionAddAverageRow1=0 
ExtraSectionAddSumRow1=1 
MaxNbOfExtra1=20 
MinHitExtra1=1 

출력은 다음과 같습니다 :

Action Pages Hits 
foo  1234  1234 
bar  5678  5678 

을하지만 다른 펄 스크립트에서 동일한 이름을 가진 일부 작업이 있습니다

는 config는 다음과 같습니다. 나는이 필요
:

Script Action Pages Hits 
foo.pl foo  1234  1234 
bar.pl foo  1234  1234 
foo.pl bar  5678  5678 
bar.pl bar  5678  5678 

사람이 같은 보고서를 만드는 방법을 알고 있나요?

편집 :

좀 더 많은 연구와 내가 발견 한 모든 포럼 게시물은 지금 내가

awstats.pl 해킹하지 않고 별도의 섹션에 두 개의 열을 가질 수 없음을 말 했는가 이런 식으로 출력가 someting에 URLWITHQUERY를 사용하여 하나 개의 컬럼에 넣어하려고 :

Action     Pages Hits 
foo.pl?action=foo  1234  1234 
foo.pl?action=bar  1234  1234 
bar.pl?action=foo  5678  5678 
... 

새로운 문제가하면 쿼리가 행동보다 더 많은 매개 변수를 가지고 있다는 것입니다 이는 재 순서가 없다. 나는이

ExtraSectionFirstColumnValues1="URLWITHQUERY,([a-zA-Z0-9]+\.pl\?).*(action=[a-zA-Z0-9]+)" 

을 시도했지만 AWStats는 첫 번째 브래킷 쌍의 값을 가져옵니다하고 나머지는 무시합니다. 나는 내부적으로 perl 정규식 'magic'이 제공하는 $1으로 동작한다고 생각한다.

아이디어가 있으십니까?

답변

0

해결책을 찾았습니다.

awstats.pl이 내 수정입니다 line 19664 - 19750

에 지정된 별도의 섹션에 대한 데이터를 가져 오는 :

# Line 19693 - 19701 in awstats.pl (AWStats version 7 Revision 1.971) 
elsif ($rowkeytype eq 'URLWITHQUERY') { 
    if ("$urlwithnoquery$tokenquery$standalonequery" =~ 
     /$rowkeytypeval/) 
    { 
     $rowkeyval = "$1$2"; # I simply added a $2 for the second capture group 
     $rowkeyok = 1; 
     last; 
    } 
} 

이, 제 1 및 ExtraSectionFirstColumnValuesX 정규식에 지정된 두 번째 캡처 그룹을 얻을 것이다.

예 :없이

ExtraSectionFirstColumnValues1="URLWITHQUERY,([a-zA-Z0-9]+\.pl\?).*(action=[a-zA-Z0-9]+)"

당신이 이상의 그룹을 필요로하는 경우 $3 $4 $5 ...를 추가 할 필요가 있다고합니다.

0

어쩌면?

ExtraSectionFirstColumnTitle1="Script" 
ExtraSectionFirstColumnValues1="URL,\/cgi\-bin\/(.+\.pl)`enter code here`" 
ExtraSectionFirstColumnFormat1="%s" 

ExtraSectionFirstColumnTitle2="Action" 
ExtraSectionFirstColumnValues2="QUERY_STRING,action=([a-zA-Z0-9]+)" 
ExtraSectionFirstColumnFormat2="%s" 
+0

새 섹션을 만들지 않습니까? (이 문장은 정확한 말로 번역 되었습니까? 제가 틀렸다면 수정하십시오 ...) 그러나 나는 월요일에 그것을 시도 할 것입니다. – Demnogonis

+0

아니요. 작동하지 않았습니다. :-(다른 아이디어? – Demnogonis

+0

오류 메시지가 무엇입니까? – user1126070

관련 문제