日志解析器sql查询格式化以在特定时间范围内搜索特定关键字?

8zzbczxx  于 2021-08-09  发布在  Java
关注(0)|答案(2)|浏览(393)

我正在使用microsoftlogparser studio v2.2gui来解析iissmtp中继服务器,我想知道用什么sql查询来获取具有指定电子邮件地址的字符串。user@domain.org 从2020年1月6日到今天这段时间?
iislog中的行示例是:

  1. 144.42.115.31, OutboundConnectionCommand, 4/06/2020, 2:25:52, SMTPSVC1, PRDMAIL05-VM, -, 187, 0, 4, 0, 0, MAIL, -, FROM:<Super.User@domain.org> SIZE=3159,
  2. 82.55.126.143, OutboundConnectionCommand, 8/06/2020, 12:54:52, SMTPSVC1, PRDMAIL05-VM, -, 187, 0, 4, 0, 0, MAIL, -, TO:<Super.User@domain.org> SIZE=4822,

我尝试了下面的代码,但没有显示任何结果:

  1. SELECT logfilename,
  2. logrow,
  3. userip,
  4. username,
  5. To_localtime(To_timestamp(date, time)) AS timestamp,
  6. hostname,
  7. requesttype,
  8. parameters
  9. FROM '[LOGFILEPATH]'
  10. WHERE ( parameters LIKE '%Super.User@domain.org%'
  11. AND timestamp >= '1/06/2020 12:00 AM'
  12. AND timestamp <= '9/06/2020 12:00 PM' )

抛出错误:

x7yiwoj4

x7yiwoj41#

-------log parser studio

qmelpv7a

qmelpv7a2#

-分析查询时出错:where子句:语义错误:内容字段“1/06/2020 12:00 am”与左操作数类型“timestamp”不匹配[sql查询语法无效或不受支持。]
新建查询
好的
在使用tolocaltime(totimestamp(date,time))作为时间戳之后,logparser gui中的列timestamp将显示出来

  1. 4/06/2020 12:25:52 PM
  2. 4/06/2020 5:06:38 PM

当实际日志文件分别显示时:

  1. 4/06/2020, 2:25:52
  2. 4/06/2020, 7:06:38

日志文件目录是50gb+并且它使用iislog作为类型。

相关问题