質問

私はawstatsを実行しており、レポートはiis logfilesから構築されています。サイト上の実行されたperlscriptsのすべてのアクションを表示するための追加セクションがあります。

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

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つの列を追加セクションに2つの列を持つことはできないと言ったすべてのフォーラムの投稿をしました awstats.pl

今、私はそれを使用して1つの列に入れようとしています 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は最初のブラケットペアから値を取得し、残りを無視します。内部的には機能していると思います $1 Perl Regex 'Magic'によって提供されました。

何か案は?

役に立ちましたか?

解決 2

解決策を見つけました。

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]+)"

言うまでもなく、aを追加する必要があります $3 $4 $5 ... より多くのグループが必要な場合。

他のヒント

多分?

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

ExtraSectionFirstColumnTitle2="Action"
ExtraSectionFirstColumnValues2="QUERY_STRING,action=([a-zA-Z0-9]+)"
ExtraSectionFirstColumnFormat2="%s"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top