我正在嘗試使用logstash爲項目解析appache accesslogs。Logstash在分割後以特定順序加入字段值。
要讓elasticsearch搜索效率,我想要反轉域名。 因此,例如:
www.example.com變爲com.example.www
我試圖分裂域名和反向使用logstash變異插件。當分析爲是我得到一個場
- 域名: 「www.example.com」
使用設置下我得到如下結果:
設置:
mutate{
split => {"domainname" => "."}
add_field => {"reversed_domainname" => ["%{[domainname][-1]}","%{[domainname][-2]}"]}
join => {"reversed_domainname" => "."}
}
結果:
domainname = [「www」,「example」,「com」]
reversed_domainname =「COM」,「例如」]
一切都會按計劃,直到聯接功能的結果我不明白com。示例
看到如果我取下逆轉加入(將域名拆分爲「。」並將它們與「。」結合。我得到相同的結果。
www.example.com成爲www.example.com
我如何加入以相反的順序,因爲它清楚應該工作領域。
但是這應該工作,我得到了以下錯誤:出現 紅寶石例外:未定義的方法'反」對零:NilClass {:水平=>:錯誤} – JasperFennet
@JasperFennet你確定了'domainname'領域存在?另外,如果您使用LS 5,請使用'event.get('domainname')' – baudsp
我確定字段域名存在。爲了測試pupose,我嘗試了下面的代碼: x = event ['domainname']。reverse print x 這會打印按預期顛倒的數組。但只要我把它分配給一個字段,我得到了ruby異常(logstash 2.4.1) – JasperFennet