2017-03-09 2 views
0

AWS EC2에서 Google 스택 드라이버를 사용하고 있습니다. EC2에 stackdriver를 설치하는 데 사용할 수있는 모든 단계를 수행했습니다.Google Stackdriver에서 fluentd logger를 사용하여 로깅하는 동안 예외가 발생했습니다.

검증 다음

A)는 & collectd 상태

PS 도끼를 Fluentd에 | grep fluentd 11429 pts/1 S + 0:00 grep --color = auto fluentd

ps ax | grep collect 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 그렙 --color = 자동

B) 현재 자격 증명 가용성

sudo는 고양이 내가 어떤 오류를 기록하지만 여전히 유래 오류가

/etc/google/auth/application_default_credentials.json을 collectd 시스템

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) 

답변

0

상품 내용 google-fluentd 서비스의 흔적이 보이지 않습니다. Stackdriver 로깅 에이전트의 상태를 확인하는 가장 좋은 방법은 sudo service google-fluentd status을 실행하는 것입니다. Stackdriver 모니터링 에이전트 (sudo service stackdriver-agent status)도 마찬가지입니다.

로깅 에이전트가 실제로 실행되고 있지 않으면 Java 로깅 라이브러리가 해당 로깅 에이전트에 연결하지 못했음을 설명합니다. StackOverflow 예외는 아마도 Java가 로깅으로 인한 오류를 포함하여 모든 오류를 기록하여 무한 재귀를 발생시키는 일부 구성 때문일 수 있습니다.

이 질문에 완전히 대답하려면 위에서 설명한대로 로깅 서비스의 상태와 Java 로거의 구성을 확인해야합니다.