AWStats 额外部分中的多个列

发布于 2025-01-06 18:44:14 字数 1477 浏览 0 评论 0原文

我正在运行 AWStats,报告是根据 IIS 日志文件构建的。 我有一个额外的部分来查看站点上执行的 perl 脚本的所有操作。

配置如下所示:

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 只从第一个括号对中获取值,而忽略其余部分。我认为它在内部与 perl 正则表达式“magic”提供的 $1 一起工作。

有什么想法吗?

I have an AWStats running and the reports are built from IIS logfiles.
I have an extra section to view all the actions of the executed perlscripts on the site.

The config looks like this:

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

The output looks like this:

Action    Pages    Hits
foo       1234     1234
bar       5678     5678

But there are some actions with the same name in different perl scripts.
I would need this:

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

Does anyone know how to create such a report?

EDIT:

I did some more research and all forum posts I've found say that it is not possible to have two columns in an extra section without hacking in awstats.pl

Now I am trying to put it into one column using URLWITHQUERY to output someting like this:

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

The new problem is that the query has more parameters than action, which are unordered.
I tried this

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

but AWStats only gets the value from the first bracket pair and ignores the rest. I think it internally works with $1 provided by the perl regex 'magic'.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

站稳脚跟 2025-01-13 18:44:14

或许?

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

ExtraSectionFirstColumnTitle2="Action"
ExtraSectionFirstColumnValues2="QUERY_STRING,action=([a-zA-Z0-9]+)"
ExtraSectionFirstColumnFormat2="%s"

maybe?

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

ExtraSectionFirstColumnTitle2="Action"
ExtraSectionFirstColumnValues2="QUERY_STRING,action=([a-zA-Z0-9]+)"
ExtraSectionFirstColumnFormat2="%s"
音盲 2025-01-13 18:44:14

我找到了解决方案。

awstats.pl 获取第 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 ...

I've found a solution.

awstats.pl fetches the data for the specified extra sections in line 19664 - 19750

This is my 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;
    }
}

This will get the first and the second capture group specified in the ExtraSectionFirstColumnValuesX regex.

Example:

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

Needless to say that you need to add a $3 $4 $5 ... if you need more groups.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文