2017-09-21 5 views
1

カスタムカフカ接続シンクコネクタからは、すべてのログをポートにプッシュする方法がありますか、それを処理するカスタムログアペンダーを作成する必要がありますか?kafkaコネクタからポートにログをプッシュ

私は(場合には、それが直接に達成することはできません)2つのステップでタスクを分割するようになる:

1)は、すべてのカフカローカルディレクトリ 2上のログファイルに分散したログを接続)公開ログを書きますログファイルのポートで

したがって、アプリケーション/ビジネスロジックのログだけでなく、すべてのkafka接続ログ(起動および接続確立メッセージ)を書き込む方法はありますか?

+0

あなたはこれをしたい理由を説明できますか?そのサウンドから、あなたのConnectタスクからログを取り出して別の場所に置いてもらいたいのですか? 「どこか」とは何ですか?これは、カスタムコネクタではなく、Connect自体でやりたいことのように思えます。 –

+0

logstashで公開されているポートにkafkaコネクタアプリケーションログを投稿します。だから、私は弾力的な検索ですべての私のカフカ接続ログをホストすることができます –

答えて

1

Kafka ConnectはLog4Jを使用しているので、必要なロギングを持つインターフェイスはすべて使用されます。あなたのように見えますpreviously realised that :)

SocketAppenderを使用すると、Kafka Connectと簡単にやり取りできます。

ここで私は私のetc/kafka/connect-log4j.propertiesに追加するときに機能の設定例です:

log4j.rootLogger=INFO, server 
log4j.appender.server=org.apache.log4j.net.SocketAppender 
log4j.appender.server.Port=4512 
log4j.appender.server.RemoteHost=localhost 
log4j.appender.server.ReconnectionDelay=10000 

は、その後、私は、接続の起動時に:

$ ./bin/connect-distributed ./etc/kafka/connect-distributed.properties 

、私はこれを見て、別のセッションでのnetcatを使用しました:

$ nc -l -k 4512 
��sr!org.apache.log4j.spi.LoggingEvent��#t�? 
ZmdcCopyLookupRequiredZndcLookupRequiredJ  timeStampLcategoryNametLjava/lang/String;LlocationInfot#Lorg/apache/log4j/spi/LocationInfo;LmdcCopytLjava/util/Hashtable;Lndcq~LrenderedMessageq~L 
throwableInfot+Lorg/apache/log4j/spi/ThrowableInformation;xp^�'�[email protected]erpppt<Registered loader: [email protected] pxysr!org.apache.log4j.spi.LoggingEvent��#t�? 
ZmdcCopyLookupRequiredZndcLookupRequiredJ  timeStampLcategoryNametLjava/lang/String;LlocationInfot#Lorg/apache/log4j/spi/LocationInfo;LmdcCopytLjava/util/Hashtable;Lndcq~LrenderedMessageq~L 
throwableInfot+Lorg/apache/log4j/spi/ThrowableInformation;xp^�'�'[email protected]erppptDAdded plugin 'org.apache.kafka.connect.file.FileStreamSinkConnector'tmainpwN pxysr!org.apache.log4j.spi.LoggingEvent��#t�? 
ZmdcCopyLookupRequiredZndcLookupRequiredJ  timeStampLcategoryNametLjava/lang/String;LlocationInfot#Lorg/apache/log4j/spi/LocationInfo;LmdcCopytLjava/util/Hashtable;Lndcq~LrenderedMessageq~L 

次に、log4j logstash pluginを実行する必要がありますこれをデコードする。


sending Log4J to Logstashについては、このノートをお読みください。代わりに答えはFilebeatを使用することです。

+0

応答ありがとう!上記のリンクに基づいて、以下はノートです - '現在のLog4j入力ユーザーはlog4jのSocketAppenderをアプリケーションで使用することを推奨します。 log4jログを安全に転送するには、ログをディスクに書き込むようにlog4jを設定し、Filebeatを使用してLogstashにログ情報を転送してください。 これは、ログをファイルに書き込んだり、ドッカーコンテナ。 –

関連する問題