Wso2carbon使用tcp输入插件记录2个logstash,没有filebeat

时间:2018-06-07 10:54:42

标签: logstash wso2carbon elastic-stack

我正在尝试使用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"
    ] }

请让我知道如何解密。

1 个答案:

答案 0 :(得分:0)

这是因为您收到时没有specify the codec用于解码您的消息,编解码器是一种在数据进入输入之前解码数据的便捷方法,而无需在Logstash管道中使用单独的过滤器。

mode => server

下的输入中添加此内容
codec => json

如果有帮助请告诉我