AWStats 正在处理日志文件,但未显示它们

AWStats 正在处理日志文件,但未显示它们

我已经在我的 VPS 上安装了 AWStats,以便更深入地了解访问我网站的流量。指示我运行了手动构建/更新,运行良好:

sudo -u www-data ./awstats.pl -config=example.com

Create/Update database for config "/etc/awstats/awstats.example.com.conf" by AWStats version 6.9 (build 1.925)
From data in log file "/usr/share/doc/awstats/examples/logresolvemerge.pl /var/www/example.com/logs/*-access.log |"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Warning: awstats has detected that some hosts names were already resolved in your logfile /usr/share/doc/awstats/examples/logresolvemerge.pl /var/www/example.com/logs/*-access.log |.
If DNS lookup was already made by the logger (web server), you should change your setup DNSLookup=1 into DNSLookup=0 to increase awstats speed.
Jumped lines in file: 0
Parsed lines in file: 814
 Found 0 dropped records,
 Found 0 corrupted records,
 Found 0 old records,
 Found 814 new qualified records.

它还在 DatDir 中生成了文件:/var/lib/awstats/awstats052010.example.com.txt,其中包含我所期望的内容。

当我访问:example.com/awstats/awstats.pl 它告诉我

Last Update:  Never updated (See 'Build/Update' on awstats_setup.html page)

页面的其余部分都是空白的。我很确定我设置正确,但现在我不知道为什么会发生这种情况。希望有人比我聪明,可以帮助我。

答案1

两种可能性。

您运行 awstats 时创建的文件的权限未设置为允许您的 Web 服务器读取这些文件,即,它们归 www-data 以外的用户所有,且具有 640 的权限。

或者

正则表达式的设置使得主机名期望 URL 为 domain.com 并且您正在访问 www.domain.com(不太可能,因为您的 sudo -u www-data 方法有效)

答案2

首先尝试找到 awstats/tools 目录并执行更新所有脚本。

/usr/share/awstats/tools/awstats_updateall.pl now

它会清楚地告诉您以下任何文件中是否存在任何权限问题:服务器日志文件、awstats conf 文件、用于写入数据的 awstats 目录。

否则,如果它正确执行,它将更新统计 Web UI 中的“最后更新”信息。

并且,最好安排一个 cron 作业来使用新创建的日志条目定期更新 AWSats 数据库。

答案3

对我来说,这是一个问题linux系统

grep awstats.pl /var/log/audit.log

显示被否认声明获取属性打开读写控制命令操作awstats.plhttpd_t语境。

为了允许这些操作,我把这些线通过audit2allow像这样:

audit2allow -m 'httpd_awstats' <<EOF
<paste the regarding lines from /var/log/audit/audit.log here>
EOF

创建 selinux 策略

semodule -i httpd_awstats.pp

激活该政策

如果你使用 centos 7/var/log/audit/audit.log被替换为日志. 要从那里获取日志,请使用以下命令

journalctl -xln 50 --no-pager | grep awstats.pl

50是从日志中获取的最后几行的数量

相关内容