【问题标题】:Epoch time field extraction in splunksplunk中的纪元时间场提取
【发布时间】:2020-11-05 12:10:25
【问题描述】:

我们如何为以下日志编写正则表达式或字段提取?字段是开始和结束,其中值是纪元格式,我想以人类可读的格式更改它..

cs7=45.45 cs7Label=latitude cs8=28.05 cs8Label=longitude Customer=Romania-UPC start=1604484735041 request=scoala.bibliotecapemobil.ro/download.php ref=https://scoala.bibliotecapemobil.ro/893/borgia requestMethod=GET qstr=book_id\=893&user_id\=&download\=pdf cn1=200 app=HTTPS act=REQ_PASSED deviceExternalId=37982221230540227 sip=195.191.47.151 spt=443 in=45 xff=82.208.137.89 cpt=62542 src=82.208.137.89 ver=TLSv1.3 TLS_AES_128_GCM_SHA256 end=1604484735097

【问题讨论】:

    标签: splunk splunk-query splunk-calculation


    【解决方案1】:

    可以使用extract 命令在搜索时提取字段。

    ... | extract pairdelim=" " kvdelim="=" | ...
    

    使用strptime()转换时间字段。

    ... | eval start=strptime(start, "%s%3N")
    

    索引时间字段提取应该是自动的,但请尝试使用这些 props.conf 设置进行提取和时间处理。

    [mysourcetype]
    TIME_PREFIX = start=
    TIME_FORMAT = %s%3N
    MAX_TIMESTAMP_LOOKAHEAD = 13
    SHOULD_LINEMERGE = false
    LINE_BREAKER = ([\r\n]+)
    KV_MODE = auto
    

    【讨论】:

    • 感谢 Rich .. 但我想将其更改为人类可读的格式 ..
    • 没问题。为此使用strftime()... | eval startstr=strftime(strptime(start, "%s%3N"), "%c").
    • 我也可以得到像CEST,GMT这样的纪元时间的时区吗?
    • 要获得毫秒,只需更改格式字符串。有关如何编写格式字符串的信息,请参阅搜索参考手册。 ... | eval startstr=strftime(strptime(start, "%s%3N"), "%Y-%m-%dT%H:%M:%S.%3N%Z")
    • Splunk 在提取时间戳时将其转换为 UTC,并将其转换为用户首选的显示时区。
    猜你喜欢
    • 2021-01-23
    • 2021-06-20
    • 2018-01-17
    • 2011-04-27
    • 2015-08-21
    • 1970-01-01
    • 2014-09-25
    • 2016-06-15
    • 2013-08-15
    相关资源
    最近更新 更多