私は Apache Flume バージョン 1.3 を使用しており、Apache Flume User guideを参照しています。
私の目的は、Apache サーバーのログを Apache Flume Agent のチャネルに直接パイプすることです。私の理解が正しければ、Apache サーバーはローカル ファイルを作成しません。server.log、error.log ですが、対応する出力をエージェントのチャネルに直接書き込みます。ログに書き込む場合でも、エージェントはそれらのファイルから読み取ることはありません。しかし、少なくともApacheサーバーのドキュメントには、同じ例はありません。
私のクエリは次のとおりです。
Apache Flume ではなく Cloudera Flume に関連するこのリンクを参照しました。これを試してみましたが、予想どおり、Apache サーバーでエラーが発生しました。
/bin/sh: flume: not found piped log program 'flume node_nowatch -1 -s -n apache -c \\'apache:console|agentBESink("collector");\\'' failed unexpectedly piped log program 'flume node_nowatch -1 -s -n apache -c \\'apache:console|agentDFOSink("collector");\\'' failed unexpectedly
Apache Flume と Cloudera Flume が同期しているとは思えません。
- Apache サーバーのドキュメントによると、 Apache httpd は、ファイルに直接ではなく、パイプを介して別のプロセスにエラーおよびアクセス ログ ファイルを書き込むことができます。 実行中の Apache Flume エージェントでこれを達成するにはどうすればよいですか。つまり、Apache conf のエントリは何である必要がありますか?
CustomLog "| ?" 一般