我正在尝试使用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=wso2carbonlogstash.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"
] }请让我知道如何解密这个。
发布于 2018-06-08 06:38:28
这是因为你没有在收到消息时使用specify the codec来解码消息,编解码器是在数据进入输入之前解码数据的一种方便的方法,而不需要在你的Logstash管道中使用单独的过滤器。
将此代码添加到mode => server下的输入中,
codec => json如果有帮助,请告诉我
https://stackoverflow.com/questions/50739432
复制相似问题