2017-07-18 110 views
0

我使用Elastic stack。有很多消息由我的Logstash解析。我決定爲Logstash添加一些額外的規則。 我已將Syslog pri plugin安裝到我的Logstash中,因爲我想爲我的系統日誌的嚴重性級別創建一些映射。Logstash:如何使用syslog_pri插件

我的郵件都有根據RFC-3164,其中error消息有syslog_pri值 「(3,11,19,...,187)」 的syslog_pri值。

嗯,我有兩個問題:

1)這不是對我來說非常有用,因爲通過Kibana查詢是不可用的。當我想要過濾的錯誤,它看起來像:

syslog_pri: (3 OR 11 OR 19 OR 27 OR 35 OR 43 OR 51 OR 59 OR 67 OR 75 OR 83 OR 91 OR 99 OR 107 OR 115 OR 123 OR 131 OR 139 OR 147 OR 155 OR 163 OR 171 OR 179 OR 187) 

,但它會隨着syslog_pri插件容易得多。我期望有這樣的事情:

syslog_pri: "error" 

是否有可能以某種方式創建此映射?

2)我想改變某些特定信息這syslog_pri值。 例如,我正在捕獲像「Hello world」這樣的消息,並希望將嚴重性從14(信息消息)更改爲11(錯誤消息)。

我在做這樣的事情:

filter { 
    grok { 
    match => { "message" => "..." } 
    } 

    syslog_pri { } 
    if "Hello world" in [message] 
    { 
    mutate { syslog_pri => 11 } 
    } 

但這種失敗,出現錯誤: logstash.filters.mutate - Unknown setting 'syslog_pri' for mutate

建議?

回答

1

要使用syslog_pri過濾器,你只需要與價值,這反過來會被過濾器解碼的領域。如果你有這已經是名爲syslog_pri,然後使用領域中,如把

syslog_pri { } 

在logstash配置簡單。

這個插件將創建4個額外的字段,其將包含解碼syslog_pri信息:

  • SYSLOG_FACILITY
  • syslog_severity
  • syslog_facility_code
  • syslog_severity_code

至於突變字段中的語法如下。

mutate { 
    replace => { "syslog_pri" => "11"} 
} 
相關問題