【问题标题】:How to Make Epoch Time which is there in the middle of my log as @timestamp in Logstash?如何将日志中间的纪元时间设置为 Logstash 中的@timestamp?
【发布时间】:2019-11-07 18:24:06
【问题描述】:

我有以下日志

1 iCEXnXWuShGYRlDbHEADlQ 1 3 sara482 1573151463576 1.5 13.8 0.0 0 0 62.6||

我的 grok 模式在下面

"消息", "%{NUMBER:log_Level} (?[^\s]+) %{NUMBER:mcty} %{NUMBER:agty} (?[^\s]+) %{INT:ts} %{NUMBER:cpu} %{NUMBER:mem} %{NUMBER:swap} %{NUMBER:diskr} %{NUMBER:diskw} %{NUMBER:diskc}\|\|%{GREEDYDATA:appc}"

如何将归档 ts 设置为 @timestamp,目前如果我检查这些日志存储在 Elastic Search 中的索引的字段映射,ts 归档被映射为字符串,我可以将其余字段更改为 Num/浮动但是只有字段 ts 我无法转换或匹配为@timestamp。

我尝试将文件转换为 UNIX/UNIX_MS,但是如果我尝试将它映射到除 NUM/INT 以外的任何东西,我的 logstash 就会中断

【问题讨论】:

    标签: logstash logstash-grok


    【解决方案1】:

    您可以将其添加到 logstash 配置中:

    date {
      match => [ "ts", "UNIX" ]
      target => "ts"
    }
    

    【讨论】:

    • 我已经尝试过了,但是当我在 kibana 中刷新映射时,我仍然看到 ts 仅作为字符串提交,它没有将其检测为日期。
    • 我已尝试将其映射到 %{NUMBER:ts:int},现在我看到 ts 已更改为数字,我将应用日期设置并检查它是否有效。
    猜你喜欢
    • 1970-01-01
    • 2018-11-09
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    相关资源
    最近更新 更多