我正在尝试使用tcp输入插件将wso2carbon日志传输到elk
我的wso2 log4jproperties文件的配置。
#TCP logger pattern log4j.appender.tcp=org.apache.log4j.net.SocketAppender
log4j.appender.tcp.layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout
# ConversionPattern will be overridden by the configuration setting in the DB log4j.appender.tcp.layout.ConversionPattern=TID: [%T] [%S] [%d] %P%5p {%c} - %x %m {%c}%n log4j.appender.tcp.layout.TenantPattern=%U%@%D [%T] [%S] log4j.appender.tcp.Port=6000 log4j.appender.tcp.RemoteHost=localhost log4j.appender.tcp.ReconnectionDelay=10000 log4j.appender.tcp.threshold=DEBUG log4j.appender.tcp.Application=wso2carbon
配置logstash.conf
input { tcp { mode => server port => 6000 add_field => type
=> "wso2carbon"
} } }
我成功地从wso2carbon获取消息。但加密格式的消息。如下。
{
"message" => "threadNameq\\u0000~\\u0000\\u0001L\\u0000\\rthrowableInfot\\u0000+Lorg/apache/log4j/spi/ThrowableInformation;xp\\u0000\\u0000\\u0000\\u0000\\u0001c\\xD9\\xC9\\xF3,t\\u0000Forg.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorkerpsr\\u0000\\u0013java.util.Hashtable\\u0013\\xBB\\u000F%!J\\xE4\\xB8\\u0003\\u0000\\u0002F\\u0000",
"host" => "127.0.0.1",
"@version" => "1",
"port" => 59581,
"type" => "wso2carbon",
"@timestamp" => 2018-06-07T10:28:01.179Z,
"tags" => [
[0] "_grokparsefailure"
] }
请让我知道如何解密。
答案 0 :(得分:0)
这是因为您收到时没有specify the codec用于解码您的消息,编解码器是一种在数据进入输入之前解码数据的便捷方法,而无需在Logstash管道中使用单独的过滤器。
在mode => server
,
codec => json
如果有帮助请告诉我