# "Couldn't find any filter plugin named 'multiline'. Are you sure this is correct

**URL:** https://discuss.elastic.co/t/couldnt-find-any-filter-plugin-named-multiline-are-you-sure-this-is-correct/90207
**Category:** Logstash
**Created:** [June 21, 2017, 7:18am UTC](https://discuss.elastic.co/t/couldnt-find-any-filter-plugin-named-multiline-are-you-sure-this-is-correct/90207 "2017-06-21T07:18:40Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Saket\_Kumar](https://avatars.discourse-cdn.com/v4/letter/s/c57346/32.png) [@Saket\_Kumar](https://discuss.elastic.co/u/Saket_Kumar)
#### Post date: [June 21, 2017, 7:18am UTC](https://discuss.elastic.co/t/couldnt-find-any-filter-plugin-named-multiline-are-you-sure-this-is-correct/90207/1 "2017-06-21T07:18:40Z")

</div>

I am migrated to Logstash 5.4 and running the conf with multiline plugin. its not working.

filter {  
if [message] =~ "^\<?xml .\*" {  
drop {}  
}  
multiline {  
pattern =\> "^\</response\>"  
negate =\> true  
what =\> "next"  
}

Please suggest workaround.

---

<div class="post-metadata">

### Author: ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)
#### Post date: [June 21, 2017, 7:21am UTC](https://discuss.elastic.co/t/couldnt-find-any-filter-plugin-named-multiline-are-you-sure-this-is-correct/90207/2 "2017-06-21T07:21:26Z")

</div>

You are using the multiline filter, which has been deprecated. It is recommended that you perform multiline processing as close to the source as possible. If you are using Filebeat, configure multiline processing there. Otherwise use the Logstash [multiline codec](https://www.elastic.co/guide/en/logstash/current/plugins-codecs-multiline.html) with your input.

---

<div class="post-metadata">

### Author: ![Saket\_Kumar](https://avatars.discourse-cdn.com/v4/letter/s/c57346/32.png) [@Saket\_Kumar](https://discuss.elastic.co/u/Saket_Kumar)
#### Post date: [June 21, 2017, 9:39am UTC](https://discuss.elastic.co/t/couldnt-find-any-filter-plugin-named-multiline-are-you-sure-this-is-correct/90207/3 "2017-06-21T09:39:29Z")

</div>

Thanks but how would it help me i am wondering.

with previous versions of LS we desinged this LS configuration which was working perfectly:

input {  
stdin { type =\> "C:/xampp/htdocs/logimport/pageAnalysis/results/demo/RUN21Jun2017122934/21Jun2017122934\_170621\_FV\_HHB\_Swissotel-Desktop\_WebpageSummary.xml"  
}  
}  
filter {  
if [message] =~ "^\<?xml ._" {  
drop {}  
}  
multiline {  
pattern =\> "^\</response\>"  
negate =\> true  
what =\> "next"  
}  
xml {  
source =\> "message"  
target =\> "videoFrames"  
store\_xml =\> false  
xpath =\> ["/response/data/run/firstView/videoFrames/frame[_]/time/text()","Time\_FV"]  
xpath =\> ["/response/data/run/firstView/videoFrames/frame[_]/image/text()","Image\_FV"]  
xpath =\> ["/response/data/run/firstView/videoFrames/frame[_]/VisuallyComplete/text()","Progress\_FV"]  
xpath =\> ["/response/data/run/repeatView/videoFrames//frame[_]/time/text()","Time\_RV"]  
xpath =\> ["/response/data/run/repeatView/videoFrames/frame[_]/image/text()","Image\_RV"]  
xpath =\> ["/response/data/run/repeatView/videoFrames/frame[_]/VisuallyComplete/text()","Progress\_RV"]  
xpath =\> ["/response/data/median/firstView/visualComplete/text()","FV\_visualComplete"]  
xpath =\> ["/response/data/median/firstView/lastVisualChange/text()","FV\_lastVisualChange"]  
xpath =\> ["/response/data/median/firstView/loadTime/text()","FV\_loadTime"]  
xpath =\> ["/response/data/median/firstView/fullyLoaded/text()","FV\_fullyLoaded"]  
xpath =\> ["/response/data/median/firstView/SpeedIndex/text()","FV\_SpeedIndex"]  
xpath =\> ["/response/data/median/firstView/TTFB/text()","FV\_TTFB"]  
xpath =\> ["/response/data/median/firstView/titleTime/text()","FV\_titleTime"]  
xpath =\> ["/response/data/median/firstView/render/text()","FV\_startRender"]  
xpath =\> ["/response/data/median/repeatView/visualComplete/text()","RV\_visualComplete"]  
xpath =\> ["/response/data/median/repeatView/lastVisualChange/text()","RV\_lastVisualChange"]  
xpath =\> ["/response/data/median/repeatView/loadTime/text()","RV\_loadTime"]  
xpath =\> ["/response/data/median/repeatView/fullyLoaded/text()","RV\_fullyLoaded"]  
xpath =\> ["/response/data/median/repeatView/SpeedIndex/text()","RV\_SpeedIndex"]  
xpath =\> ["/response/data/median/repeatView/TTFB/text()","RV\_TTFB"]  
xpath =\> ["/response/data/median/repeatView/titleTime/text()","RV\_titleTime"]  
xpath =\> ["/response/data/median/repeatView/render/text()","RV\_startRender"]  
xpath =\> ["/response/data/median/firstView/score\_etags/text()","FV\_score\_etags"]  
xpath =\> ["/response/data/median/firstView/score\_compress/text()","FV\_score\_compress"]  
xpath =\> ["/response/data/median/firstView/score\_combine/text()","FV\_score\_combine"]  
xpath =\> ["/response/data/median/firstView/score\_minify/text()","FV\_score\_minify"]  
xpath =\> ["/response/data/median/firstView/score\_keep-alive/text()","FV\_score\_keep-alive"]  
xpath =\> ["/response/data/median/firstView/score\_cookies/text()","FV\_score\_cookies"]  
xpath =\> ["/response/data/median/firstView/score\_gzip/text()","FV\_score\_gzip"]  
xpath =\> ["/response/data/median/firstView/score\_cdn/text()","FV\_score\_cdn"]  
xpath =\> ["/response/data/median/firstView/score\_cache/text()","FV\_score\_cache"]  
xpath =\> ["/response/data/median/repeatView/score\_etags/text()","RV\_score\_etags"]  
xpath =\> ["/response/data/median/repeatView/score\_compress/text()","RV\_score\_compress"]  
xpath =\> ["/response/data/median/repeatView/score\_combine/text()","RV\_score\_combine"]  
xpath =\> ["/response/data/median/repeatView/score\_minify/text()","RV\_score\_minify"]  
xpath =\> ["/response/data/median/repeatView/score\_keep-alive/text()","RV\_score\_keep-alive"]  
xpath =\> ["/response/data/median/repeatView/score\_cookies/text()","RV\_score\_cookies"]  
xpath =\> ["/response/data/median/repeatView/score\_gzip/text()","RV\_score\_gzip"]  
xpath =\> ["/response/data/median/repeatView/score\_cdn/text()","RV\_score\_cdn"]  
xpath =\> ["/response/data/median/repeatView/score\_cache/text()","RV\_score\_cache"]  
xpath =\> ["/response/data/median/firstView/docCPUms/text()","FV\_docCPUms"]  
xpath =\> ["/response/data/median/firstView/fullyLoadedCPUms/text()","FV\_fullyLoadedCPUms"]  
xpath =\> ["/response/data/median/firstView/docCPUpct/text()","FV\_docCPUpct"]  
xpath =\> ["/response/data/median/firstView/fullyLoadedCPUpct/text()","FV\_fullyLoadedCPUpct"]  
xpath =\> ["/response/data/median/repeatView/docCPUms/text()","RV\_docCPUms"]  
xpath =\> ["/response/data/median/repeatView/fullyLoadedCPUms/text()","RV\_fullyLoadedCPUms"]  
xpath =\> ["/response/data/median/repeatView/docCPUpct/text()","RV\_docCPUpct"]  
xpath =\> ["/response/data/median/repeatView/fullyLoadedCPUpct/text()","RV\_fullyLoadedCPUpct"]  
}  
ruby {  
code =\> "  
##Finding max for splitting event for that many number of times  
x= [event.get('Time\_FV').length, event.get('Time\_RV').length]  
max= x.max  
if event.get('Time\_FV').length==max  
event.set('flag','FV')  
end  
if event.get('Time\_RV').length==max  
event.set('flag','RV')  
end  
"  
}  
if [flag]=="FV" {  
split { field =\> "Time\_FV" }  
}  
if [flag]=="RV" {  
split { field =\> "Time\_RV" }  
}   
ruby {  
code =\> "  
my\_variable = ENV['mycount3']  
if my\_variable.nil?  
ENV['mycount3']=0.to\_s  
counter=0  
else  
counter=ENV['mycount3'].to\_i  
counter=counter+1  
ENV['mycount3']=counter.to\_s  
end  
if event.get('flag') == 'FV'  
tfv=event.get('Time\_RV')  
event.set('TimeRV',tfv[counter])  
end  
if event.get('flag') == 'RV'   
trv=event.get('Time\_FV')  
event.set('TimeFV',trv[counter])  
end  
pfv=event.get('Progress\_FV')  
prv=event.get('Progress\_RV')  
event.set('ProgressFV',pfv[counter])  
event.set('ProgressRV',prv[counter])  
##Extracting test id, run id and url from file name   
filename = File.basename(event.get('type'), '._')  
value = filename.split('_')  
event.set('Test\_Id', value[0])  
event.set('Run\_Id', value[1] + '_' + value[2] + '\_' + value[3])  
event.set('Keyword', value[4])   
"   
}  
if [flag]=="FV" {  
mutate {rename =\> { "Time\_FV" =\> "TimeFV" }}  
}  
if [flag]=="RV" {  
mutate {rename =\> { "Time\_RV" =\> "TimeRV" }}  
}   
grok {match =\> ["type", "C:/xampp/htdocs/logimport/pageAnalysis/results/(?[^/]+)"]}  
mutate {lowercase =\> ["Project"]}  
}  
output {  
elasticsearch {  
action =\> "index"  
hosts =\> "localhost:9200"  
index =\> "logstash-wpt-%{Project}-%{+YYYY.MM.dd}"  
}  
stdout {}  
}

....

but due to deprecation it seems the entire pipeline went on toss. we cannot use 5.4.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 19, 2017, 9:39am UTC](https://discuss.elastic.co/t/couldnt-find-any-filter-plugin-named-multiline-are-you-sure-this-is-correct/90207/4 "2017-07-19T09:39:30Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
