有人能推荐一些好的 Proftpd 日志报告软件吗?
我正在寻找至少和http://xferlogdb.sourceforge.net 日志被输入到数据库中,并构建动态网页来检索每个用户、时间段等的历史数据和统计数据。Xferlogdb 非常有用,但不幸的是最新版本是 2004
答案1
http://www.proftpd.org/docs/howto/Logging.html列出了 5 个可以使用的包。
嘿,不过请注意 - 请注意这些软件包中的大多数都不能正确地进行 ftp 报告,尽管这可能不是它们的错。
我们在这里下载了很多软件,我们以前就遇到过这个问题。因为很多人使用各种下载加速器,当下载一个 5 MB 的文件时,它很可能会显示在您的日志中(虽然我没有使用 proftpd,但 wuftpd 和 ncftpd 确实如此),作为一堆不同行的较小增量 - 比如每行 50k 的 100 行。如果您通过大多数日志分析程序运行此操作,它们都会告诉您“先生,您的文件已下载 100 次!”这是不好的,也是错误的。
一些 FTP 守护进程(proftpd 似乎就是这样)在末尾有一个“完成状态”字段,设置为“i”表示未完成,或“c”表示已完成下载。因此,理论上您可以查找“c”并确定成功或失败的次数。但这是一个陷阱!该字段由客户端设置。如果您仔细检查日志,您会发现一些不合理的部分,它们将每次传输(即使只是文件的特定字节范围块)都设置为“c”。即使设置正确,如果不执行诸如“好吧,我们假设从一个 IP 尝试这个文件的所有尝试都在一个小时内完成?是相同的尝试。”之类的操作,也很难确定完成率占总数的百分比。
据我所知,只有两种方法可以解决这个问题。
让您的 FTP 守护程序清楚地记录发送文件的第一个字节和最后一个字节的时间(尽管如此,他们可能错过了中间的块,但已经很接近了)。我知道 Akamai 会破解他们的 FTP 服务器来做到这一点,我们向 ncftpd 人员提出了这个建议,他把它放在了他的列表中,但我认为它还没有完成。
跟踪每个文件的大小,并进行复杂的计算以确定您是否认为一个 IP 下载了正确大小的文件。这无法解决有人尝试了十次,每次传输失败前都只获得 1/10 的文件的问题,但再次接近了。
如果您不介意,则不必费心,但我想告诉您,您不能相信大多数日志分析程序为 FTP 生成的数字,它们会相差一个数量级。请对照它们验证真实日志,以了解您得到的是什么。
答案2
统计支持 ftp。