很多時候應用程式出錯是都是抛出一堆 堆棧資訊(即在日志檔案輸出多行),此時logstash可以使用multiline的插件收集日志時需要把錯誤堆棧資訊收集為一個記錄。multiline字面意思是多行,顧名思義就是對多行日志進行處理。
multiline配置與用法
## pattern支援正規表達式,通過正規表達式比對日志資訊,grok pattern定義的參數也是支援,eg:%{timestamp_iso8601} ,具體資訊可以檢視grok-patterns
## negate 隻支援布爾值,true 或者false,預設為false。如果設定為true,表示資訊不跟上面正規表達式(pattern)比對的内容都與比對的整合,具體整合在前還是在後,看what參數。如果設定為false,即與pattern比對的内容
## what 前一行 或者後一行,指出上面對應的規則與前一行内容收集為一行,還是與後一行整合在一起
官方原文
在這裡用php-fpm的慢查詢日志做個測試
php-fpm的慢查詢日志如下:
添加logstash的配置檔案logstash_php-fpm.conf
##測試配置檔案是否符合文法
{logstash_home}/bin/logstash –t logstash_php-fpm.conf
運作logstash,檢視輸出内容
tomcat堆棧資訊收集也類似,找出規則,然後進行比對即可,在此不重複測試