Awstats несколько столбцов в дополнительном разделе
Вопрос
У меня бегут ровесники, и отчеты построены из журналов IIS. У меня есть дополнительный раздел, чтобы просмотреть все действия выполненных 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
Кто -нибудь знает, как создать такой отчет?
РЕДАКТИРОВАТЬ:
Я провел еще несколько исследований, и все сообщения на форуме, которые я обнаружил awstats.pl
Теперь я пытаюсь положить его в одну колонку, используя 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.
Пример:
ExtraSectionFirstColumnValues1="URLWITHQUERY,([a-zA-Z0-9]+\.pl\?).*(action=[a-zA-Z0-9]+)"
Излишне говорить, что вам нужно добавить $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"