このトピックでは、複数のLogtail設定を使用してログファイルからログを収集する方法について説明します。
デフォルトでは、ログファイルからログを収集するために使用できるLogtail設定は1つだけです。 複数のLogtail設定を使用してログファイルからログを収集する場合、適用できるLogtail設定は1つだけです。 複数のLogtail設定が適用されると、リソースが複数回消費され、Logtailと同じサーバーにデプロイされている他のサービスのパフォーマンスが影響を受けます。 リソースは、CPU、メモリ、ディスクI/O、およびネットワークI/Oを含む。 ログファイルからログを収集するために、複数のLogtail設定を使用しないことを推奨します。
同じログを異なるログストアに保存する場合は、Log Serviceのデータ変換機能を使用できます。 データ変換機能は、Logtailと同じサーバーにデプロイされている他のサービスのパフォーマンスに影響を与えることなく、ログを複製できます。 詳細については、「Logstoreからのデータの複製」をご参照ください。
- ディレクトリのシンボリックリンクを作成する
ログファイルが格納されているディレクトリのシンボリックリンクを作成します。 たとえば、2つのLogtail設定を使用して /home/log/nginx/log/log.logファイルからログを収集する場合は、次のコマンドを実行してファイルのディレクトリを指すシンボリックリンクを作成する必要があります。 次に、1つのLogtail構成で実際のパスを指定し、もう1つのLogtail構成でシンボリックリンクを指定できます。
ln -s /home/log/nginx/log /home/log/nginx/link_log
- Logtail構成に設定を追加して、強制的にログを収集する複数のLogtail設定を使用してログファイルからログを強制的に収集する場合は、Logtail設定のセクションに
{"force_multiconfig": true}
を追加します。 - Logtailの起動パラメーターの設定
複数のLogtail設定を使用してログファイルからログを収集する場合は、Logtailがインストールされているサーバーで /usr/local/ilogtail/ilogtail_config.jsonファイルを開き、
"accept_multi_config": true
を追加します。 詳細については、「起動パラメータの設定」をご参照ください。