【问题标题】:Splunk Rex: Extracting fields of a string to a valueSplunk Rex:将字符串的字段提取为值
【发布时间】:2019-11-19 17:50:03
【问题描述】:

我是 SPlunk 的新手,试图做一些仪表板,需要帮助来提取特定变量的字段

在我的例子中,我只想将 KB_List":"KB000119050,KB000119026,KB000119036" 值提取到列中

Expected output:

KB_List
KB000119050,KB000119026,KB000119036

我试过了:

| rex field=_raw "\*"KB_List":(?<KB_List>\d+)\*"

在日志中突出显示以下部分

svc_log_ERROR","Impact":4.0,"CategoryId":"94296c474f356a0009019ffd0210c738","hasKBList":"true","lastNumOfAlerts":1,"splunkURL":false,"impactedInstances":"","highestSeverity" :"Minor","Source":"hsym-plyfss01","re​​qEmail":"true","AlertGroup":"TIBCOP","re​​qPage":"","KB_List":"KB000119050,KB000119026,KB000119036", "reqTicket":"true","autoTicket":true,"SupportGroup":"TESTPP","Environment":"UAT","Urgency":4.0,"AssetId":"AST000000000159689","LiveSupportGroup":"TESTPP ","sentPageTo":"TESTPP"},"Notification":{"":{"requestId":"532938335"}},"":

【问题讨论】:

    标签: splunk splunk-query splunk-formula rex splunk-sum


    【解决方案1】:
    rex field=_raw "KB_List\":\"(?<KB_List>[^\"])\""
    

    此正则表达式将查找以KB_List":" 开头的任何内容,捕获除" 之外的所有内容。

    在您的示例中,您仅捕获数字 (\d+),而 KB_List 字段中的内容还包含字符(“KB”和“,”)

    【讨论】:

    • 谢谢@Simon Duff,但我无法通过上面得到任何输出?任何指针——
    【解决方案2】:

    唉:

    看了这么多文章才知道:

    | rex "KB_List\":\"(?<KB_Listed>[^\"]+)" | table KB_Listed
    

    【讨论】:

    • 并不是说它有很大的不同,但是这个正则表达式的效率稍微高一点:KB_List[^K]+(?&lt;kblist&gt;[^\"]+)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多