0

AWStats を実行しており、レポートは IIS ログファイルから作成されています。サイトで実行された perlscript のすべてのアクションを表示する追加のセクションがあります。

構成は次のようになります。

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

そのようなレポートを作成する方法を知っている人はいますか?

編集:

さらに調査を行ったところ、見つけたすべてのフォーラム投稿は、ハッキングせずに余分なセクションに 2 つの列を含めることはできないと言っています。awstats.pl

URLWITHQUERY今、私はそれを次のような出力を使用して1つの列に入れようとしています:

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 は最初のブラケット ペアからのみ値を取得し、残りは無視します。$1perl regex 'magic' によって提供されるもので内部的に動作すると思います。

何か案は?

4

2 に答える 2

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

これにより、ExtraSectionFirstColumnValuesX regex で指定された最初と 2 番目のキャプチャ グループが取得されます。

例:

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

言うまでもなく、$3 $4 $5 ...さらにグループが必要な場合は を追加する必要があります。

于 2012-02-28T15:57:59.617 に答える
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"
于 2012-02-17T16:09:45.830 に答える