的值設置爲空XML字段我得到logstash一些XML消息,我才能分析得到相關信息我怎樣才能在logstash
if ([message] =~ /^</) {
xml {
source => "message"
store_xml => false
xpath => [
"name(/APIOS_MOM_EVENT/DATA/APIOS_EXPORT/*[not(self::METADATA)])","MESSAGE_TYPE",
]
target => "xml"
}
if ([MESSAGE_TYPE] == "") {
mutate {
update => { "MESSAGE_TYPE" => "EDITO" }
}
}
}
我的目標是讓所有MESSAGE_TYPE,如果它是空的,將其設置爲EDITO。 現在我可以用(MESSAGE_TYPE.raw:「」)看到kibana中的空信息,但是我沒有看到任何EDITO MESSAGE_TYPE。
我有一些MESSAGE_TYPE:文本,資料,照片,但沒有EDITO(只空消息)
所以總結起來,空字符串應該EDITO
我已經讀一些文檔(https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html#plugins-filters-mutate-replacehttps://groups.google.com/forum/#!msg/logstash-users/mKJVO6yAmSc/on9mLRtLgTYJ)但仍然沒有運氣
我也檢查http://stackoverflow.com/questions/4489976/xpath-to-return-default-value-if-node-not-present但我不知道如何處理它 – glmrenard
試試的東西,不應該既成事實'''如果[MESSAGE_TYPE] { 如果([MESSAGE_TYPE] == 「」){ 發生變異{ 更新=> { 「MESSAGE_TYPE」=> 「EDITO」}} } } 否則{ 發生變異{ add_field => { 「MESSAGE_TYPE」=> 「EDITO」}} } '''但仍然是空的,而不是EDITO – glmrenard
也許訣竅是使用'alter'插件(https://www.elastic.co/guide/en/logstash/current/plugins-filters-alter.html)'''alter condrewrite => [ 「MESSAGE_TYPE」,「」, 「EDITO」 ] } ''' – glmrenard