1. 程式人生 > >logstash grok 多項匹配

logstash grok 多項匹配

業務場景:新版本日誌需要新增欄位,需要相容新舊日誌匹配

版本:logstash-2.3

filter {
    grok {
         match => [
            "message" , "%{DATA:hostname}\|%{DATA:tag}\|%{DATA:types}\|%{DATA:uid}\|%{GREEDYDATA:msg}",
            "message" , "%{DATA:hostname}\|%{DATA:tag}\|%{GREEDYDATA:msg}"
         ]
        remove_field => ['type','_id','input_type','tags','message','beat','offset']
    }
}
filter {
    grok {
	match => {
	    "message"=>[
		"%{DATA:hostname}\|%{DATA:tag}\|%{DATA:types}\|%{DATA:uid}\|%{GREEDYDATA:msg}",
		"%{DATA:hostname}\|%{DATA:tag}\|%{GREEDYDATA:msg}"]
	    }
    }
}
太多使用DATA和GREEDYDAYA會導致效能cpu負載嚴重。建議多使用正則匹配,或者ruby程式碼塊
filter {
     grok {
        match => [
               "message", "(?<hostname>[a-zA-Z0-9._-]+)\|%{DATA:tag}\|%{NUMBER:types}\|(?<uid>[0-9]+)\|%{GREEDYDATA:msg}",
               "message", "(?<hostname>[a-zA-Z0-9._-]+)\|%{DATA:tag}\|%{GREEDYDATA:msg}",
        ]
       remove_field => ['type','_id','input_type','tags','message','beat','offset']
    }
}
filter {
    ruby {
        code =>'
        arr = event["message"].split("|")
        if arr.length == 5
            event["hostname"] = arr[0]
            event["tag"] = arr[1]
            event["types"] = arr[2]
            event["uid"] = arr[3]
            event["msg"] = arr[4]
        elsif arr.length == 3
            event["hostname"] = arr[0]
            event["tag"] = arr[1]
            event["msg"] = arr[2]
        end'
       remove_field => ['type','_id','input_type','tags','message','beat','offset']
    }
}

相關推薦

logstash grok 匹配

業務場景:新版本日誌需要新增欄位,需要相容新舊日誌匹配版本:logstash-2.3filter { grok { match => [ "mes

logstash過濾器filter grok多種日誌匹配使用心得

IPV6 ((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[

Aho-Corasick 模式匹配算法、AC自動機詳解

實現 輸出 dfa 輸入 開始 img 添加 每一個 jpg Aho-Corasick算法是多模式匹配中的經典算法,目前在實際應用中較多。 Aho-Corasick算法對應的數據結構是Aho-Corasick自動機,簡稱AC自動機。 搞編程的一般都應該知道自動機FA吧,具體

Ubuntu下Apache+SVN搭建SVN服務目管理

svn apache2 一、系統環境[email protected]/* */:~# cat /etc/issueUbuntu 16.04.2 LTS \n \l二、創建svn組和用戶[email protected]/* */:~# addgroup svnserAddin

MySQL模糊查詢

logs alt 查找 cat com 關鍵字 導師 concat 復雜 最近有個需求,就是要根據搜索框裏面的關鍵字,找到符合條件的數據。 如果是單個條件的話,其實就是一個普通的select語句。 但是需求是這個關鍵字,要在id,desc,step等多個字段模糊查找。 然後

Filebeat 關鍵字匹配日誌采集(multiline與include_lines)

filebeat 關鍵字多行匹配日誌采集(multiline與include_lines)很多同事認為filebeat采集日誌不能做到多行處理,今天這裏討論下filebeat的multiline與include_lines。 先來個案例,以下日誌,我們只要求采集error的字段,2017/06/22 11:2

SVN目並行版本管理解決方案

alt 效率 log 需求 覆蓋率 順序 導致 技術 dup 1、背景 隨著公司業務拓展,各業務部門頻繁的需求變更,導致系統集成沖突的問題日益突出。 2、現狀 基於SVN版本管理模式,多分支版本並行,分支合並主幹交付。多分支開發存在依賴關系且有交付的先後順序, 導

Eclipse(STS) 導入本地 spring boot (gradle)

技術分享 log .com port -1 .cn arch project images 1、Import-General-Project from Folder or Archive 2、選擇需要導入的項目(這裏是一個多項目,選擇主項目導入就行) 3、選中後fini

的屬性對應表如何做按照類別的屬性匹配搜索

engine 自然 inno def lan 連表 creat 進行 針對 電商設計中常用到的屬性對應表需要做按照類別的多屬性匹配功能,舉例建表如下 CREATE TABLE goods_attr ( `id` int(11) unsigned NOT NULL AU

字符串有匹配結果

另一個 指定 col regex site please find() str visit java 代碼 // Java中 獲取指定字符串在另一個字符串中出現的次數 //方法一、//不區分大小寫 String str =

jQuery選項卡的實現

spl abs span readonly char 樣式 nlint adding () 請勿盜版。轉載請加上出處http://blog.csdn.net/yanlintao1 請勿盜版,轉載請加上出處http://blog.csdn.net/yanlint

iOS9.0.1發布,修復bug

wsb gty tmm aid baidu sap ios axu ios9 SQLServer2008SP3%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E7%89%88%E5%AE%98%E6%96%B9%E4%B8%8B%E8%BD%BD

Tomcat單機實例部署-目部署

linux tomcat 博文說明【前言】: 本文將通過個人口吻介紹Tomcat單機多實例部署,在目前時間點【2017年8月13號】下,所掌握的技術水平有限,可能會存在不少知識理解不夠深入或全面,望大家指出問題共同交流,在後續工作及學習中如發現本文內容與實際情況有所偏差,將會完善該博文內容。本文

Android Gradle Plugin指南(三)——依賴關系、android庫和目配置

tool 全部 ocs 共享 項目路徑 多項目配置 path 用戶 so文件 原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Dependencies-Android-L

centos下搭建目svn服務器

服務器環境 出現 配置文件 png 演示 sta 圖形界面 -a 3.4 svn是多人協作開發中的利器,是一個開放源代碼的版本控制系統。 相比與git,他的操作更加簡單,windows下有優秀的圖形界面,並且支持的文件類型比較多。 本文講述如何在linux下搭建一個sv

WinRAR 5.50 簡體中文正式版發布(20改進)

安全漏洞 配置 指定 簡體中文 pan 替換 點擊 防止 指示 感謝ikimi的投遞 流行好用的壓縮工具,支持鼠標拖放及外殼擴展,完美支持 ZIP 檔案,內置程序可以解開 CAB、ARJ、LZH、TAR、GZ、ACE、UUE、BZ2、JAR、ISO 等多種類型的壓縮文

模擬Select-Options對象實現數據輸入功能

按鈕 new select ont exce pub and append copy SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF } .L0S

Go語言的網絡功能太強了,這麽目。。。

etc rpc服務 框架 file olt 配置 lan 實現 dubbo Centrifugo 是一個用 Golang 實現的基於 Websocket 或者 SockJS 的實時通信平臺。https://www.oschina.net/p/centrifugalrpcx是

關於html的匹配,正則re.S的使用(爬取豆瓣電影短評)

htm detail 3.1 port encoding 關於 color tel frame 參考鏈接:http://www.python(tab).com/html/2017/pythonhexinbiancheng_0904/1170.html(去除括號)     

微信小程序實現給循環列表點擊添加類(單項和

idt flex lec ont wid width size span 頁面 在微信小程序裏面沒有DOM對象, 不能操作DOM. 所有的操作通過數據來實現,下面主要實現了給循環列表點擊添加類的操作 一、單項 目標需求:實現下圖,給點擊的view增加類,每次只能選擇一個。