问题标签 [logfile-analysis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
359 浏览

apache - Apache 日志格式:“%{c}a”是什么意思?

我的任务是解析 Apache Web 日志文件以将数据提取为另一种格式。客户向我提供了包含指令“%{c}a”的格式行。

虽然我可以找到“%a”(远程 IP 地址)的定义,但我找不到任何关于括号部分含义的参考。

有没有人认出它并让我知道它代表什么?

0 投票
4 回答
698 浏览

r - 如何从文本文件中读取信息?

我有数百个文本文件,每个文件中包含以下信息:

现在,我想读取所有这些文件,并从每个文件(例如)中“收集” Sen 的统计.24信息,并与相应的文件名一起编译成一个文件。我必须在 R 中做到这一点。

我使用过 CSV 文件,但不确定如何使用文本文件。

这是我现在使用的代码:

当前代码无法正确读取所有值并给出此错误:

我也没有得到输出的另一列的文件名。请帮忙!


诊断 1

代码也在读取 = 符号。这是 print(spl) 的输出

诊断 2

发现了我认为的问题。负号有点棘手。在某些文件中是

由于 = 之后的差距,我得到了第一个的 NA,但代码正在读取第二个。如何修改正则表达式来解决这个问题?谢谢!

0 投票
1 回答
1541 浏览

perl - 在 Perl 中为文件建立索引

我目前是 Perl 的新手,我偶然发现了一个问题:

我的任务是创建一种在 Perl 中访问大文件行的简单方法,这是可能的最快方法。我创建了一个包含 500 万行的文件,每行都有行号。然后,我创建了需要能够打印给定行的任何内容的主程序。为此,我使用了在互联网上找到的两种方法:

这些方法有时有效,我在十次尝试中得到一个值,但大多数时候我得到“在 test2.pl 第 10 行的字符串中使用了未初始化的值 $line”(在查找第 566 行时)文件)或不是正确的数值。此外,索引似乎在前两百行左右工作正常,但后来我得到了错误。我真的不知道我在做什么错..

我知道您可以使用一个基本循环来解析每一行,但我确实需要一种在任何给定时间访问文件的一行而无需重新解析它的方法。

编辑:我尝试使用此处找到的一个小提示:在一个非常大的文件中逐行读取特定的行号 我已将包的“N”模板替换为:

它使过程更好地工作,直到第 128 行,我没有得到 128 ,而是得到一个空白字符串。对于 129,我得到 3,这并不意味着什么..

Edit2:基本上我需要的是一种机制,使我能够读取接下来的 2 行,例如对于已经被读取的文件,同时将读取的“head”保持在当前行(而不是之后的 2 行)。

谢谢你的帮助 !

0 投票
3 回答
1855 浏览

matlab - 将多条线绘制为热图

我正在尝试处理来自数据记录器的大量(约 1000 个)文件。

如果我想从其中一个日志文件中绘制趋势,我可以使用

我希望能够以类似于示波器如何具有“持久”模式的方式同时查看所有这些行。

示波器显示

我可能可以拼凑一些使用直方图的东西,但我希望这个问题有预先存在的或更优雅的解决方案。

0 投票
0 回答
96 浏览

hadoop - 我可以在 mapreduce 作业中为我的映射器提供自定义输入吗?

如果您想使用 mapreduce 处理文本文件或日志文件,默认情况下映射器输入值 ll ba 排成换行符,但我想处理日志文件

在这里,我的映射器应该从 11:40:04,202 取值到新的时间戳,这意味着 A 将是一个值,整个 B 将是另一个值,所以我该怎么做..?提前谢谢请帮忙...

0 投票
2 回答
205 浏览

powershell-3.0 - Powershell - 如何处理非时间戳日志文件条目,包括空行

我问了一个关于如何根据开始和结束时间戳从日志文件中提取数据的问题,最近我得到了一个很好的快速答案,有关详细信息,请参阅此问题/帖子。

Powershell - 如何从基于文本的日志文件中选择一个文本块,该文件在日志文件条目中具有时间戳

但是,我现在发现我正在尝试实现的目标存在问题,因为我正在处理/查询的日志文件的每一行都没有时间戳条目,实际上有些行是空白的,并且还有 XML 条目被分成多行。

此处显示了一个简短的经过处理的提取物,以尝试显示我要处理的日志文件数据的概念:

只要日志文件条目具有时间戳,上一个问题/帖子就为我提供了能够识别和输出日志文件数据所需的解决方案。

如果日志文件条目没有时间戳,我会在脚本尝试处理这些行时收到错误报告:

这是显而易见的,因为空行无法拆分,而那些没有时间戳的行,即使可以拆分也不符合我作为时间戳进行测试的要求。

有人可以建议我如何阅读日志文件并在两个时间戳之间输出日志文件中的所有条目。

我不是编码员,只是一个管理员黑客,所以我正在努力锻炼如何解决这个问题。

我非常乐意尝试任何事情,但任何让我了解如何最好地尝试和解决这个问题的意见将不胜感激。


更新 - PSGuy,在您上次更新之后,我玩了一些游戏来尝试确定为什么在将您的脚本应用于我的实时日志文件时我没有得到所需的结果。

我创建了一个稍长的日志文件示例来运行,ExampleLogfile.log 如下所示,这提供了几行我试图提取日志的确切内容的行,包括 XML 行。

然后我编辑了您的代码,如下所示,从 00:08:45 提取 5 分钟的日志部分

这产生了以下输出:

所以它给了我从开始时间 ($tempTime = "00:08:45") 分钟数 ($upperBound = $lowerBound.AddMinutes(5)) 的所有带时间戳的行,但它没有输出 XML 或其他非时间戳行。使用上面的 ExampleLogfile.log 时,我试图实现以下输出:

我在这里做错了吗?这听起来像一个简单的要求,但我正在努力解决这个问题。

0 投票
1 回答
1113 浏览

parsing - 空格分隔,日志文件中的大括号内除外 - Python

我是一个长期的读者,第一次提问(请温柔)。

我一直在 Unix Bash 中使用非常混乱的 WHILE READ 来做这件事,但我正在学习 python 并想尝试制作一个更有效的解析器例程。

所以我有一堆日志文件,它们大多是用空格分隔的,但在可能还有空格的地方包含方括号。查找分隔符时如何忽略大括号内的内容?

(我假设 RE 库是必要的)

即样本输入:

期望的输出:

如果您注意到第一个和最后一个字段(方括号中的字段)仍然有完整的空格。

奖励积分 第 14 个字段 (URL) 始终采用以下格式之一:

  • htp://google.com/path-data-might-be-here-and-can-contain-special-characters

  • google.com/path-data-might-be-here-and-can-contain-special-characters

  • xyz.abc.www.google.com/path-data-might-be-here-and-can-contain-special-characters

  • google.com:443

  • google.com

我想在仅包含域的数据中添加一个附加列(即 xyz.abc.www.google.com 或 google.com)。

到目前为止,我一直在使用带有 IF 语句的 Unix AWK 获取解析后的输出,以用“/”分割该字段并检查第三个字段是否为空白。如果是,则返回第一个字段(直到 : 如果存在),否则返回第三个字段)。如果有更好的方法来做到这一点——最好是在与上述相同的例程中,我很想听听——所以我的最终输出可能是:

脚注:我在示例中将 http 更改为 htp,因此它不会创建一堆分散注意力的链接。

0 投票
3 回答
5788 浏览

command-line - How to count requests per hour?

I have access log file with data only per 1 day like:

I am using the following command:

0 投票
1 回答
294 浏览

amazon-web-services - 亚马逊 s3 访问日志文件的值不正确»发送的字节«

分析我们的 S3 访问日志文件 我注意到 S3 访问日志文件(S3stat 和自己的日志文件分析)中的“每月数据传输”的值与您账单中的值有很大不同。

现在我已经从我们的一个存储桶中下载文件进行了测试,看起来访问日志文件不正确。

在 2015 年 3 月 2 日,我在我们的存储桶上上传了一个 zip 文件,然后使用两个不同的互联网连接成功下载了完整的文件。一天后的 2015 年 4 月 2 日,我分析了日志文件。不幸的是,这两个条目在“Bytes Sent”处都有值“-”。Amazons »服务器访问日志格式« ( http://docs.aws.amazon.com/AmazonS3/latest/dev/LogFormat.html ) 表示:»发送的响应字节数,不包括 HTTP 协议开销,如果是“-”零。”

相应的条目如下所示:

Bucket Owner Bucket [03 / Feb / 2015: 10: 28: 41 +0000] RemoteIP - RequestID REST.GET.OBJECT Download.zip "GET /Bucket/Download.zip HTTP / 1.1 "200 - - 760 542 2228865159 58" - "" Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 35.0) Gecko / 20100101 Firefox / 35.0 "-

Bucket Owner Bucket [03 / Feb / 2015: 10: 28: 57 +0000] RemoteIP - RequestID REST.GET.OBJECT Download.zip "GET /Bucket/Download.zip HTTP / 1.1 "200 - - 860 028 2228865159 23" - "" Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 35.0) Gecko / 20100101 Firefox / 35.0 "-

如您所见,两个日志的连接持续时间都很长»Total Time«:0:12:40 和 0:14:20。

然后,我根据这些发现检查了 2014 年 12 月的主要存储桶的日志文件。在 2332 个相关条目(我们存储桶上的所有 ZIP 文件)中,我找到了 860 个出现此错误的条目。

因此,Amazon S3 访问日志文件似乎存在缺陷且对我们的分析毫无用处。

有谁能够帮我?我是否犯了错误,如果是,如何可靠地评估这些日志文件?

谢谢彼得

0 投票
1 回答
920 浏览

java - Hadoop MapReduce 作业成功完成,但未向 DB 写入任何内容

我正在编写一个 MR 作业来挖掘网络服务器日志。作业的输入来自文本文件,输出到 MySQL 数据库。问题是,作业成功完成,但没有向数据库写入任何内容。我已经有一段时间没有进行 MR 编程了,所以很可能是我找不到的错误。这不是模式匹配(见下文),我已经过单元测试并且工作正常。我错过了什么? Mac OS X, Oracle JDK 1.8.0_31, hadoop-2.6.0 注意:记录了异常,为简洁起见,我省略了它们。

可跳过的日志记录:

映射器:

减速器:

数据库记录:

司机:

作业执行日志: