2016-11-30 35 views
0

二○一六年十一月三十○日15不斷匹配場09.3060 DEBUG 20 Company.Product.LoggerDataFilter [UOW:583ee57782fe0140c6dfbfd8] [DP:0]創建 DeviceDataTransformationRequest爲記錄器 [d:4E3239200C5032593D004100 ]。logstash在消息

%{TIMESTAMP_ISO8601:時間戳}%{LOGLEVEL:記錄等級} \ S +%{INT:的threadId} %{DATA:loggerName}%{UOW}%{DATAPACKET}%{GREEDYDATA:消息} %{DEVICEID}

的輸出是

{ 
    "timestamp": [ 
    "2016-11-30 15:43:09.3060" 
    ], 
    "loglevel": [ 
    "DEBUG" 
    ], 
    "threadId": [ 
    "20" 
    ], 
    "loggerName": [ 
    "Tts.IoT.DataLogger.Etl.Core.Filters.LoggerDataFilter" 
    ], 
    "correlationId": [ 
    "583ee57782fe0140c6dfbfd8" 
    ], 
    "datapacket": [ 
    "0" 
    ], 
    "message": [ 
    "Creating DeviceDataTransformationRequest for logger" 
    ], 
    "deviceId": [ 
    "4E3239200C5032593D004100" 
    ] 
} 

這是很好的 - 除了 - 消息現在缺乏的,我提取的DeviceID屬性。 我希望它們都是 - 作爲一個單獨的領域,並且仍然保留在消息中。

你能這樣做嗎?

(在一個側面說明...如何將結構化記錄像serilog幫助在這方面?)

+0

到目前爲止,'DEVICEID'出現在'message'內嗎? – Kulasangar

+0

是的,比較「消息」結果與原始消息([D:4E32 ...])是DEVICEID(我有一個自定義Grok模式) – lapsus

回答

0

如何試圖改變它

%{GREEDYDATA:消息}%{} DEVICEID

%{GREEDYDATA:testmessage} %{DEVICEID}
再增加一個字段

mutate { 
    add_field => { 
    "message" => "%{testmessage} %{DEVICEID}" 
    } 
    remove_field => ["testmessage"] 
} 
相關問題