デフォルトでは、ファイルは収集用のLogtail設定を1つだけ照合できます。 このトピックでは、ファイル内のログの複数のコピーを収集する方法について説明します。
背景情報
ファイルが収集用の複数のLogtail設定と一致する場合、CPU、メモリ、ディスクI/O、およびネットワークI/Oリソースの使用量が大幅に増加します。 これは、Logtailと同じサーバーにデプロイされている他のサービスのパフォーマンスに影響します。 したがって、ファイルは、デフォルトのシナリオで収集用の1つのLogtail設定にのみ一致します。
解決策
異なるログストアにログを保存
複数のLogtail設定を作成する必要はありません。 Simple Log Serviceのデータ変換機能を使用して、ログを複製できます。 これにより、同じサーバー上の他のサービスのパフォーマンスに影響を与えないようにします。 詳細については、「Logstoreからのデータの複製」をご参照ください。
複数のLogtail設定の作成
ホストシナリオ
ディレクトリのシンボリックリンクを作成する
必要なファイルが格納されているディレクトリのシンボリックリンクを作成します。 次に、1つのLogtail構成で実際のパスを指定し、もう1つのLogtail構成でシンボリックリンクを指定できます。 たとえば、
/home/log/nginx/log
ディレクトリに/home/log/nginx/link_log
シンボリックリンクを作成できます。ln -s /home/log/nginx/log /home/log/nginx/link_log
Logtail構成に設定を追加して、強制的にログを収集する
Logtail設定を作成するときは、[入力設定] セクションの [ファイルの複数回の収集を許可] をオンにします。 詳細については、「サーバーからのテキストログの収集」をご参照ください。
コンテナーシナリオ
コンテナログを収集する方法の詳細については、「Simple Log Serviceコンソールを使用してDaemonSetモードでコンテナテキストログを収集する」および「Simple Log Serviceコンソールを使用してSidecarモードでコンテナテキストログを収集する」をご参照ください。
コンソール
Logtail設定を作成するときは、[入力設定] セクションの [ファイルの複数回の収集を許可] をオンにします。
CRD
複数のカスタムリソース定義 (CRD) を作成します。