2012-02-17 10 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 

しかし、同じ名前を持ついくつかのアクションは、別のPerlスクリプトです。私はこれが必要になり

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

誰もが、このようなレポートを作成する方法を知っていますか?

EDIT:

私はいくつかのより多くの研究を行なったし、私が見つけたすべてのフォーラムの投稿は、今、私はawstats.pl

にハッキングすることなく、余分なセクションに2つの列を持つことが可能ではないことを言います

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

新しい問題は、クエリがアクションよりも多くのパラメータを持っているということで、これはA:このような出力いろいろ書いへ URLWITHQUERYを使用して1列に入れしようとしています再順序付けされていない。 私はこの

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

を試みたが、AWStatsのは、唯一の第1ブラケットのペアから値を取得し、残りを無視します。私は内部的には$1 perlの正規表現 '魔法'によって提供されると思う。

アイデア?

答えて

0

私は解決策を見つけました。

# 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; 
    } 
} 

これはExtraSectionFirstColumnValuesX正規表現で指定された第一及び第二のキャプチャグループを取得します:

awstats.plは、これは私の修正であるline 19664 - 19750

で指定された余分なセクションのためのデータを取得します。

例:あなたはより多くのグループが必要な場合$3 $4 $5 ...を追加する必要があると言って

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

言うまでもないです。

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

新しいセクションを作成しませんか? (この文章は正しいですか?私が間違っていれば私を修正してください...)しかし、私はそれをmondayで試してみましょう。 – Demnogonis

+0

いいえ、それは動作しませんでした。 :-(その他のアイデア? – Demnogonis

+0

エラーメッセージは何ですか? – user1126070

関連する問題