2016-11-30 5 views
0

2016年11月30日15に一致フィールドを保つ09.3060 DEBUG 20 Company.Product.LoggerDataFilter [UOW:583ee57782fe0140c6dfbfd8] [DP:0]ロガー ためDeviceDataTransformationRequestの作成[D:4E3239200C5032593D004100 ]。logstashメッセージ

% {TIMESTAMP_ISO8601:タイムスタンプ}%{LOGLEVEL:ログレベル} \秒+%{INT:スレッドID} %{DATA:loggerName}%{UOW}%{DATAPACKET}%{GREEDYDATA:メッセージ} %{DEVICEID} EXCEPT - - メッセージは、今、私が抽出された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" 
    ] 
} 

です。 私はそれを両方とも必要とします - 別のフィールドとして、それでもメッセージに残してください。

できますか?

(?この点で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"] 
} 
関連する問題