【问题标题】:exception while logging using fluentd logger with Google Stackdriver使用 fluentd logger 和 Google Stackdriver 进行日志记录时出现异常
【发布时间】:2017-03-09 05:27:49
【问题描述】:

我在 AWS EC2 上使用 Google 堆栈驱动程序。遵循可用于在 EC2 上安装 stackdriver 的所有步骤。

验证如下

A) 流利和收集状态

ps 斧头 | grep 流利 11429 分/1 S+ 0:00 grep --color=auto fluentd

ps 斧头 | grep 收集 第1341章? Ssl 0:02 /opt/stackdriver/collectd/sbin/stackdriver-collectd -C /opt/stackdriver/collectd/etc/collectd.conf -P /var/run/stackdriver-agent.pid 11431 pts/1 S+ 0:00 grep --color=auto collectd

B) 当前凭据可用性

sudo cat /etc/google/auth/application_default_credentials.json

但是,当我在系统中记录任何错误时,仍然会出现 stackoverflow 错误

java.lang.StackOverflowError
    java.lang.StringCoding$StringDecoder.decode(StringCoding.java:153)
    java.lang.StringCoding.decode(StringCoding.java:193)
    java.lang.String.<init>(String.java:426)
    java.lang.String.<init>(String.java:491)
    java.net.PlainSocketImpl.socketConnect(Native Method)
    java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    java.net.Socket.connect(Socket.java:589)
    org.fluentd.logger.sender.RawSocketSender.connect(RawSocketSender.java:83)
    org.fluentd.logger.sender.RawSocketSender.reconnect(RawSocketSender.java:95)
    org.fluentd.logger.sender.RawSocketSender.flush(RawSocketSender.java:186)
    org.fluentd.logger.sender.RawSocketSender.flushBuffer(RawSocketSender.java:152)
    org.fluentd.logger.sender.RawSocketSender.send(RawSocketSender.java:164)
    org.fluentd.logger.sender.RawSocketSender.emit(RawSocketSender.java:147)
    org.fluentd.logger.sender.RawSocketSender.emit(RawSocketSender.java:129)
    org.fluentd.logger.sender.RawSocketSender.emit(RawSocketSender.java:124)
    org.fluentd.logger.FluentLogger.log(FluentLogger.java:101)
    org.fluentd.logger.FluentLogger.log(FluentLogger.java:86)

【问题讨论】:

    标签: amazon-ec2 stackdriver


    【解决方案1】:

    您的项目 A 没有显示任何google-fluentd 服务的痕迹。找出 Stackdriver 日志记录代理状态的最佳方法是运行 sudo service google-fluentd status。 Stackdriver 监控代理 (sudo service stackdriver-agent status) 也是如此。

    如果您的日志记录代理确实没有运行,则说明 Java 日志库无法连接到它。 StackOverflow 异常可能是由于某些配置导致 Java 记录所有错误,包括记录导致的错误,从而导致无限递归。

    为了能够完全回答这个问题,我们需要查看日志服务的状态(如上所述)和您的 Java 记录器的配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 2017-12-14
      • 1970-01-01
      • 1970-01-01
      • 2014-04-27
      • 2019-12-29
      相关资源
      最近更新 更多