Question

J'ai un AWStats en cours d'exécution et les rapports sont compilés à partir IIS logfiles. J'ai une section supplémentaire pour afficher toutes les actions des perlscripts exécutées sur le site.

Les regards de configuration comme ceci:

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

Les regards de sortie comme ceci:

Action    Pages    Hits
foo       1234     1234
bar       5678     5678

Mais il y a des actions avec le même nom dans différents scripts Perl.
Je aurais besoin ceci:

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

Quelqu'un sait comment créer un tel rapport?

EDIT:

je l'ai fait quelques recherches et tous les messages du forum j'ai trouvé dire qu'il est impossible d'avoir deux colonnes dans une section supplémentaire sans le piratage dans awstats.pl

Maintenant, je suis en train de le mettre dans une colonne à l'aide URLWITHQUERY à someting de sortie comme ceci:

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

Le nouveau problème est que la requête a plus de paramètres que l'action, qui ne sont pas ordonnés. J'ai essayé

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

mais AWstats obtient la valeur de la première paire de support et ne tient pas compte du reste. Je pense que cela fonctionne en interne avec $1 fourni par le perl regex « magique ».

Toutes les idées?

Était-ce utile?

La solution 2

Je l'ai trouvé une solution.

awstats.pl récupère les données pour les sections supplémentaires spécifiées dans line 19664 - 19750

Ceci est ma modification:

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

obtiendra le premier et le deuxième groupe de capture spécifié dans le regex ExtraSectionFirstColumnValuesX.

Exemple:

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

Inutile de dire que vous devez ajouter un $3 $4 $5 ... si vous avez besoin de plusieurs groupes.

Autres conseils

peut-être?

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

ExtraSectionFirstColumnTitle2="Action"
ExtraSectionFirstColumnValues2="QUERY_STRING,action=([a-zA-Z0-9]+)"
ExtraSectionFirstColumnFormat2="%s"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top