2017-01-13 1 views
0

私のzeppelinデモアプリケーションで3つのログアペンダーを設定しました。そのうち2つはcassandraログアペンダーで、もう1つはRESTログアペンダーです。カサンドラのログアペンダーは正常に動作しており、AWS EC2ホスト上のcassandra DBとZeppelinのデータを見ることができますが、RESTログアペンダーはデータを送信できません。REST LogAppenderがaws beanstalkにデータを投稿しているときに500と400のエラーを表示します

私はlocalhostとしてホストを保持し、デフォルトと新しいポートを試しましたが、何も動作していないようです。デフォルトポートと新しいポートの両方がAWSセキュリティ設定で開かれています。したがって、ホストまたはポートの定義に問題はありません。

ログを以下に示します。

2017-02-06 23:53:57,240 [pool-33-thread-1] TRACE o.k.k.s.a.r.appender.RestLogAppender - [24510582477967418632] executing POST http://enmonitor.ap-south-1.elasticbeanstalk.com:80/powerdata HTTP/1.1 


2017-02-06 23:53:57,240 [nioEventLoopGroup-9-1] TRACE o.k.k.s.t.t.t.netty.KaaTcpEncoder - Returned future [[email protected](failure: java.nio.channels.ClosedChannelException)] isSuccess [false] isDone [true] isCancelled [false] cause [java.nio.channels.ClosedChannelException] for frame MqttFrame [messageType=KAASYNC, currentState=NONE] 

2017-02-06 23:53:57,246 [nioEventLoopGroup-9-1] TRACE o.k.k.s.t.t.t.netty.KaaTcpEncoder - Write operation failed due to: java.nio.channels.ClosedChannelException: null 


2017-02-06 23:53:57,319 [pool-33-thread-1] TRACE o.k.k.s.a.r.appender.RestLogAppender - [24510582477967418632] received HTTP/1.1 500 Internal Server Error [Content-Type: text/html; charset=UTF-8, Date: Mon, 06 Feb 2017 18:23:57 GMT, Server: Apache/2.4.25 (Amazon) mod_wsgi/3.5 Python/3.4.3, transfer-encoding: chunked, Connection: keep-alive] response code 

2017-02-06 23:53:57,321 [pool-33-thread-1] WARN o.k.k.s.a.r.appender.RestLogAppender - [RestLogAppender] bad response code 500 


2017-02-06 23:53:57,328 [nioEventLoopGroup-9-1] TRACE o.k.k.s.t.t.t.netty.KaaTcpEncoder - Write operation failed due to: java.nio.channels.ClosedChannelException: null 
+0

3つのログアペンダーを設定しましたか?はいの場合は、あなたの質問にそれを修正してください。サーバーログには、RESTログアペンダーに関連するエラーはありません。クライアント側でエラーが発生しましたか?あなたはあなたのログでRestLogAppenderクラスを検索できますか?私は1つのレコードを見つけました。クライアントからのリクエストがこのログアペンダーにまったく届かなかったようです。 –

答えて

1

私が直面していた500エラーは、次によるものであった:

私は、管理パネルでRestLogAppenderの私の構成で2つのエラーを発見しました。まず、ホストの前にhttp://を入れました。同じものを取り除かなければならなかった。第二に、相対パスの開始と終了をスラッシュ/で終わらせる必要があります。

500エラーを解決した後も、私はまだ400エラーが発生していました。これは、次の理由によるものです。

DjangoモデルのJSONフィールドには少し異なる名前が付けられました。フィールドの順序は問題ではありませんでしたが、フィールドの名前が重要でした。

関連する問題