当前位置: 首页 > 知识库问答 >
问题:

从日志消息中提取时间戳

孟新知
2023-03-14

我试图将日志文件索引到弹性搜索。所有日志条目都被索引到一个名为消息的字段中。@时间戳字段显示条目被索引的时间,而不是日志条目的时间戳。

我用grok processor创建了一个摄取管道来定义日志条目的模式。我尝试了几种模式,但都无法实现,尤其是因为我是新手。

日志样本

2019-08-05 00:04:06 info [index.js]: Request: HTTP GET /
2019-08-05 00:04:06 error [error.js]: No authorization token was found

用grok吞食管道

"description" : "Extracting date from log line"
, "processors": [
{
"grok": {
"field": "message",
"patterns": ["%{yyyy-mm-dd HH:mm:ss:logtime} %{LOGLEVEL:loglevel} %{GREEDYDATA:message}"]
},
"date": {
"field": "logtime",
"target_field": "@timestamp",
"formats": ["yyyy-mm-dd HH:mm:ss"]
}
}
]
}

我想要的就是能够从日志消息中提取时间戳,其他所有内容都可以被忽略、通配符或存储在一个变量中,比如消息。因此,从本质上来说,索引日志文件应该索引日志消息中的时间戳,消息的其余部分可以作为文本或字符串保留在一个字段中,无需解析消息的其余部分。

任何帮助都将不胜感激。

共有2个答案

雷献
2023-03-14

我做了下面的改变,日志消息现在正在被索引。虽然我不明白是怎么回事,但如果有人能给我一些启示,我将不胜感激

我在filebeat配置文件的Elasticsearch输出部分设置了管道:“pipelinename”。我把那行移到了文件路径部分下面的filebeat输入部分,就像这样

菲利贝特。输入:-类型:日志路径:-D:\home\site\wwwroot\logs*。日志管道:“redate”

日志消息现在正在被索引

丌官信厚
2023-03-14

将其用作grok模式:

%{TIMESTAMP_ISO8601:logtime} %{LOGLEVEL:loglevel} %{GREEDYDATA:message}

使用这些设置时间戳

date{
      match => ["logtime", "yyyy-MM-dd HH:mm:ss", "ISO8601"]
      timezone => "Europe/Berlin"
      target => "@timestamp"
    }

您可以将时区更改为您的时区

 类似资料:
  • TL; DR是否有可能在不破坏所有日志的情况下抑制单个Spark日志消息? 我正在EMR上运行火花流作业,并获得日志消息,如: 在开发的这个阶段,没有一个是有用的,它掩盖了我的应用程序故意发出的真实日志。我想阻止Spark发出这些日志消息,或者禁止它们的记录。 AWS客户支持和各种答案(例如)表明,这可以通过在集群创建时传递一些JSON配置来实现。然而,由于这是一个流式作业(理想情况下,群集将永远

  • 在我的Android应用程序中,我收到使用Firebase发送的消息,问题不是所有消息都到达,有时消息到达非常慢。 在我的服务器端,我跟踪我发送到FCM的消息,我总是收到成功:来自FCM的1个响应,仍然有我在Android应用程序中没有收到的消息。 我认为FCM消息日志在上面描述的情况下会有很大的帮助,但我不确定是否存在此选项。 有办法浏览Firebase消息日志吗?

  • 嗨,我已经在不和谐的py日志删除消息,但现在它是这样的,当消息被删除的机器人什么都没有显示,我可以以某种方式使没有消息发送时,机器人删除消息

  • 我成功地为应用程序使用了logback,但无法从ch.qos.logback记录消息。我知道一个无法记录初始消息(下面的回答确认了这一点),这是有意义的。我不明白的是,为什么我还不能记录logback完成自身配置后生成的消息。 因此,没有办法告诉Logback将它自己的on-startup-log-events定向到文件附加器。 由ch.qos.logback.classic.net.smtpap

  • 问题内容: 我需要从Graylog删除特定的日志消息,但是似乎没有任何公共API可以做到这一点(由Graylog API浏览器进行)。 关于如何执行此操作的文档很少。我发现一些随机文章暗示可以通过curl和查询API来实现,但是没有实质性意义。 鉴于可以通过“ http://1.2.3.4:5678 ” 访问灰色日志,并且我在索引“ graylog_0”中收到一条ID为“ 94c84300-d3c

  • 我们对使用k3s和skaffold在本地部署(到CI构建代理)的应用程序运行了一些自动化测试。 当我们运行时,我们如何查看(标准输出或文件)pod日志?(我们在部署期间遇到了错误,除非我们ssh到构建代理上,否则我们无法看到这些错误。) 以下内容在部署成功后运行时会捕获日志,但如果我们在运行skaffold deploy之前运行它,则不会起作用,可能是因为它不会拾取在运行此命令后启动的任何pod: