這個工具對syslog、apache或其他web服務器或mysql和其他雜項特別有用。而且日誌的格式只是為了更人性化的數據展示,不會增加計算消耗。
Logstash本身有120個不同語言的默認匹配模式(其實很容易看出是正則表達式)。也可以自己寫表達式,提出拉取請求;。
Grok通過匹配文本標簽和日誌內容來格式化。
格式:% {語法:語義}
語法是標簽的名稱,語義是通過標簽映射獲得的數據的存儲變量。
默認情況下,如果需要其他存儲類型,所有字段的存儲類型都是字符串。
%{NUMBER:num:int}使用此匹配將生成int類型的字段。
您可以直接使用它來定制壹個在field_name中存儲數據的規範。
您還可以編寫壹個文件來定制模式。
最常用的是格式化消息字段。
}
如果要多次格式化同壹個字段
其中“Duration:”是正則直接匹配的對應字符,% {}是grok的匹配標簽,前者是正則,後者是字段。
是的,它非常容易使用。妳可以把這個東西加到每個過濾器上。
從字面上看,刪除壹些字段
值得註意的是,壹些標簽的使用需要過濾器成功工作。如果妳的標簽無效,記得檢查前置過濾體(有些標簽必須過濾後才能工作)。
這個過濾器的目的是將多條消息的數據聚合成壹條消息,並提供壹個“code”字段自定義int屬性的增減,然後扔進壹條最終的消息中,再進入輸出流程。
但是,為了使用這個過濾器,您需要將Logstash的過濾器參數設置為1 (-w 1標誌),這樣過濾器才能正常工作。否則,妳會掉頭發。
總的來說,這是壹個非常混亂的過濾器。請嘗試在源或Kibana中完成消息聚合。使用這種濾鏡極其麻煩。
拒絕翻譯這個東西= =
英語文檔
變形(?)濾鏡。允許您對字段進行常規更改。您可以重命名、刪除、替換和修改收到的消息中的參數。
如果妳仔細閱讀以上內容,妳會發現grok還提供了刪除字段的功能。其實相當多的過濾器提供了很多重復的功能,但是我覺得針對不同的操作調用相應的過濾器會讓配置變得簡單明了。
有壹些涉及真假的轉換規則。詳情請點擊標題下方的英文文檔鏈接。(沒錯。妳自己看吧。hhhh)
妳會發現有兩個反斜杠,沒錯,妳需要在正則中的所有反斜杠上加反斜杠。。。我知道這有點繞彎,hhh。
哈希也可以合並。
反正妳自己玩。=
日期過濾器是用來解析日期格式的過濾器,解析出的日期作為logstash的時間戳。
栗子
日期過濾器是壹個非常重要的過濾器,用於排序郵件和重新填充舊數據。如果妳沒有在妳的信息中得到正確的時間,那麽以後對它們的搜索很可能會失去秩序。
如果沒有這樣的過濾器,時間中沒有設置時間戳,logstash會根據自己第壹次獲取消息的時間設置壹個時間戳,比如從壹個文件中讀取消息,每次讀取的時間會作為時間戳。