デフォルトでは、1 つのファイルは 1 つの Logtail 構成のみとマッチします。本トピックでは、単一のファイルからログを複数回収集する方法について説明します。
背景情報
複数の Logtail 構成が同一ファイルとマッチする場合、Logtail は CPU、メモリ、ディスク I/O、ネットワーク I/O の各リソースを複数回消費します。これにより、サーバー上で実行中の他のサービスのパフォーマンスが低下する可能性があります。そのため、デフォルトでは、1 つのファイルは 1 つの Logtail 構成のみとマッチするようになっています。
ソリューション
ログデータを異なる Logstore に格納する
複数の Logtail 構成を作成する代わりに、Simple Log Service (SLS) のデータ変換機能を用いてログをレプリケートできます。この方法では、ホスト上の他のサービスのパフォーマンスへの影響を回避できます。「Logstore からのデータのレプリケーション」をご参照ください。
複数の Logtail 構成を作成する
ホスト環境における対応
-
ディレクトリへのシンボリックリンクを作成する
対象ファイルを含むディレクトリに対してシンボリックリンクを作成します。1 つの Logtail 構成では元のパスを、もう 1 つの構成ではシンボリックリンクのパスを使用します。たとえば、ディレクトリ
/home/log/nginx/logに対して、/home/log/nginx/link_logという名前のシンボリックリンクを作成するには、以下のコマンドを実行します。その後、シンボリックリンク経由で該当ディレクトリ内のファイルにアクセスできます。ln -s /home/log/nginx/log /home/log/nginx/link_log -
強制収集を有効化する
Logtail 構成の「入力設定」セクションで、「ファイルの複数回収集を許可」スイッチをオンにします。「サーバーからのテキストログの収集」および「サーバーからのテキストログ収集のための Logtail の手動インストール」をご参照ください。

コンテナ シナリオ
コンテナログ収集の設定については、「DaemonSet モードでの ACK クラスターからのテキストログ収集」および「コンソールを用いたクラスターからのコンテナログ(標準出力およびファイル)の収集」をご参照ください。
-
コンソール
Logtail 構成の「入力設定」セクションで、「ファイルの複数回収集を許可」スイッチをオンにします。

-
カスタムリソース定義 (CRD)
複数の CRD を定義します。