猿问

流利的java

我正在尝试将日志从基本的 java maven 项目发送到远程机器上配置的 fluent-bit。Fluent-bit 然后会将它们写入文件。这是我的基本java配置。


爪哇


private final static Logger logger = LoggerFactory.getLogger(App.class);


public static void main(String[] args) {

   for (int i = 0; ; i++) {

      logger.debug("Warn msg");

      try {

         Thread.sleep(5000);

       } catch (InterruptedException e) {

        // do nothing now

      }

   }

}

和 logback.xml


<appender name="fluentd" class="ch.qos.logback.more.appenders.DataFluentAppender">

   <remoteHost>xx.xxx.xxx.xxx</remoteHost>

   <port>7777</port>

   <encoder>

            <pattern>%message%n</pattern>

    </encoder>

</appender>


<root level="DEBUG">

    <appender-ref ref="fluentd" />

</root>

流畅的位配置:


td-agent-bit.conf


[INPUT]

    Name          tcp

    Listen        xx.xxx.xxx.xxx

    Port          7777

    Parsers_File  /etc/td-agent-bit/parsers.conf

    Parser        custom_parser


[OUTPUT]

    Name          file

    Match         *

    Path          /home/td-agent-bit/output.txt

解析器配置文件


[PARSER]

    Name    custom_parser

    Format  regex

    Regex   .*

应用程序运行时,我不断收到以下异常


[2018/09/27 08:29:13] [trace] [in_tcp] read()=74 pre_len=370 now_len=444


[2018/09/27 08:29:13] [debug] [in_serial] 无效的 JSON 消息,跳过


但是当我尝试通过命令行测试配置时,它可以工作


echo '{"key 1": 10, "key 2": "YYY"}' | nc xx.xxx.xxx.xxx 7777

我没有任何异常,输出文件具有所有权限。远程机器也是基于光子操作系统的系统。


任何想法将不胜感激。


胡子哥哥
浏览 135回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答