3

ログをlogstashに送信する必要があり、logbackにはlogstashアペンダー( logstash-logback-appender )があるため、logbackをロギングフレームワークとして使用するflinkジョブがあります。アペンダーは正常に動作し、Eclipse などの IDE から flink ジョブを実行すると、logstash でアプリケーション ログを確認できます。ログ構成ファイルlogback.xmlsrc/main/resourcesに配置され、クラスパスに含まれます。IDE の外部のコマンド ラインからジョブを実行している場合でも、ログは正常に機能します。

ただし、このジョブを flink ダッシュボードを介して flink クラスター (スタンドアロン、使用開始./start-cluster.bat) にデプロイすると、logback 構成は無視され、ログはlogstashに送信されません。

flink のロギング メカニズムについて詳しく調べたところ、 logback の構成に関するドキュメントに出会いました。このドキュメントに記載されている手順は、 jarlogstash-logback-encoderとともに lib/ フォルダーに libを追加するなどの追加の手順を使用しても正常に機能します。logback

上記の手順は機能しますが、 flink によって使用されるflink/confフォルダー内のログバック構成が flink セットアップ全体と flink で実行されているすべてのジョブに適用されるため、これには問題があります。ジョブに独自のログ構成を設定することはできません。たとえば。ジョブ 1 はに書き込みfile、ジョブ 2 は のみに書き込みます。consolelogstashfile

ダッシュボードから開始された各 flink ジョブに個別のログ設定を提供するにはどうすればよいですか? ダッシュボードでジョブを送信する際にログ設定を渡す方法はありますか?

クラスパスでログ設定を使用するように flink を強制する方法はありますか?

4

1 に答える 1