簡體   English   中英

如何在 logstash 中拆分文件名?

[英]How to split file name in logstash?

我正在將 s3 存儲桶中的文件注入到 logstash,我的文件名包含一些信息,我想將文件名拆分為多個字段,以便將它們用作單獨的字段。 請幫助我,我是麋鹿的新手。

input {
 s3 {
    bucket => "***********"
    access_key_id => "***********"
    secret_access_key => "*******"
    "region" => "*********"
    
    "prefix" => "Logs"
    "interval" => "1"
    "additional_settings" => {
           "force_path_style" => true
           "follow_redirects" => false
           }
    }
}

filter {
  mutate {
    add_field => {
      "file" => "%{[@metadata][s3][key]}"              //This file name have to split
    }
   
  }
}

output {
 elasticsearch {
  hosts => ["localhost:9200"]
  index => "indexforlogstash"
     
 }
}

filter部分,您可以利用dissect過濾器來實現您想要的:

filter {
    ...

    dissect {
      mapping => {
        "file" => "Logs/%{deviceId}-%{buildId}-log.txt"
      }
    }
}

通過此過濾器后,您的文檔將獲得兩個新字段,即:

  • 設備 ID ( deviceId )
  • buildId (custombuildv12)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM