簡體   English   中英

在Logstash服務器計算機上使用glob?

[英]Using glob on logstash server machine?

我們有一個單獨的Logstash服務器,日志位於遠程計算機上。 我們使用lumberjack的Logstash插件將這些相同的日志從遠程計算機發送到Logstash服務器。

我嘗試了這個:

客戶端配置(存在日志):

input {
        file{
                path => "/home/Desktop/Logstash-Input/**/*_log"
        }
}

output {

        lumberjack {
                hosts => ["xx.xx.xx.xx"]
                port => 4545
                ssl_certificate => "./logstash.pub"
    }

我想從文件輸入的path變量中提取字段,以便相應地對於不同的字段值可以應用不同的解析模式。

例如:

grok {
    match => ["path", "/home/Desktop/Logstash-Input/(?<server>[^/]+)/(?<logtype>[^/]+)/(?<logdate>[\d]+.[\d]+.[\d]+)/(?<logfilename>.*)_log"]
}

在這里,服務器,日志類型是目錄名稱,我希望在我的字段中應用不同的解析模式,例如:

filter{

   if [server] == "Server2" and [logtype] == "CronLog" {
               grok........
}


if [server] == "Server3" and [logtype] == "CronLog" {
               grok............
}
}

我應該如何在我的logstash-server配置中應用以上內容,因為文件輸入位於要從路徑中提取字段的客戶端計算機上?

伐木工人成功地將日志發送到服務器。 我嘗試在客戶端上應用grok:

grok {
    match => ["path", "/home/Desktop/Logstash-Input/(?<server>[^/]+)/(?<logtype>[^/]+)/(?<logdate>[\d]+.[\d]+.[\d]+)/(?<logfilename>.*)_log"]
}

我在客戶端控制台上檢查是否將諸如服務器,日志類型之類的字段添加到日志中,但是在logstsh服務器控制台上未添加該字段。

我應該如何實現以上目標????

兩種選擇:

  1. 設置它們最初出廠時的字段。 完整的logstash和Logstash轉發器(又名伐木工人)使您可以執行此操作。
  2. 從文件路徑中獲取信息,我的文檔在名為“ file”的字段中具有該信息。 檢查您的文檔以查找實際的字段名稱。

暫無
暫無

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

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