すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Logtail とは

最終更新日:Jun 11, 2025

Logtail は、Simple Log Service が提供するログ収集エージェントです。 Logtail を使用すると、Alibaba Cloud Elastic Compute Service (ECS) インスタンス、データセンター内のサーバー、サードパーティのクラウド サービス プロバイダーのサーバーなど、複数のデータソースからログを収集できます。 このトピックでは、Logtail のログ収集プロセス、機能、利点、制限、および構成プロセスについて説明します。

収集プロセス

ログの監視

サーバーに Logtail をインストールし、Simple Log Service コンソールで Logtail 構成を作成すると、構成はサーバーにリアルタイムで同期されます。 Logtail は、構成に基づいて、サーバーのログファイル内のログを監視します。 Logtail は、ログファイルのパスと、構成で監視対象として指定した最大ディレクトリ深度に基づいて、ログディレクトリとファイルをスキャンします。

Logtail 構成がマシングループに適用された後、マシングループ内のサーバーのログファイルが更新されない場合、ログファイルは履歴ログファイルと見なされます。 Logtail は、履歴ログファイルからログを収集しません。 ログファイルが更新されると、Logtail はファイルからログを読み取って収集し、Simple Log Service に送信します。 履歴ログファイルからログを収集する方法の詳細については、「ログファイルから履歴ログをインポートする」をご参照ください。

Logtail は、ログが収集されるディレクトリを監視するためにイベントリスナーを登録します。 イベントリスナーは、ディレクトリ内のログファイルを定期的にポーリングします。 これにより、ログが安定した方法でできるだけ早く収集されるようになります。 Linux サーバーの場合、ディレクトリの監視とログファイルのポーリングには Inotify が使用されます。

ログの読み取り

更新されたログファイルを検出すると、Logtail はログファイル内のデータを読み取ります。

  • Logtail がログファイル内のデータを初めて読み取るとき、デフォルトでは、ログファイル内の最大 1,024 KB のデータを読み取ることができます。

    • ファイルサイズが 1,024 KB 未満の場合、Logtail はファイルの先頭からデータを読み取ります。

    • ファイルサイズが 1,024 KB を超える場合、Logtail はファイルの最後の 1,024 KB のデータを読み取ります。

    説明

    Simple Log Service では、Logtail が初めてファイルを読み取るときに Logtail が読み取ることができるデータサイズを指定できます。

    • コンソールモード: Logtail 構成ページの [詳細オプション] セクションで、[最初の収集サイズ] パラメーターを変更します。 詳細については、「詳細設定」をご参照ください。

    • API モード: Logtail 構成の tail_size_kb パラメーターを変更します。 詳細については、「詳細」をご参照ください。

  • ログファイル内のデータが以前に読み取られている場合、Logtail は前回のチェックポイントからファイル内のデータを読み取ります。

  • Logtail は一度に最大 512 KB のデータを読み取ることができます。 ログファイル内の各ログのサイズが 512 KB を超えないようにしてください。 そうしないと、Logtail は想定どおりにデータを読み取ることができません。

説明

サーバーのシステム時刻を変更するには、Logtail を再起動する必要があります。 そうしないと、ログ時刻が正しくなくなり、ログが破棄されます。

ログの処理

Logtail は、ログファイル内のログを読み取ると、ファイル内の各ログを複数の行に分割し、ログを解析してから、ログの時刻フィールドを設定します。

  • ログを複数の行に分割する

    ログの最初の行の先頭と一致する正規表現を指定すると、Logtail はその正規表現に基づいてログを複数の行に分割します。 正規表現を指定しない場合、1 つのログ行がログとして処理されます。

  • ログの解析

    Logtail は、Logtail 構成で指定した収集モードに基づいて各ログを解析します。

    説明

    複雑な正規表現を指定すると、Logtail が過剰な CPU リソースを消費する可能性があります。 Logtail がログを効率的に解析できる正規表現を指定することをお勧めします。

    Logtail がログの解析に失敗した場合、Logtail は Logtail 構成の [解析に失敗したログを削除] パラメーターの設定に基づいて障害を処理します。

    • [解析に失敗したログを削除] をオンにすると、Logtail はログを削除し、エラーを報告します。

    • [解析に失敗したログを削除] をオフにすると、Logtail はログをアップロードします。 ログのキーは raw_log に設定され、値はログの内容に設定されます。

  • ログの時刻フィールドを設定する

    • ログの時刻フィールドを設定しない場合、ログ時刻はログが解析された時刻になります。

    • ログの時刻フィールドを設定する場合、ログの処理方法は次のシナリオによって異なります。

      • ログが生成された時刻と現在の時刻の差が 12 時間以内の場合、ログ時刻は解析されたログフィールドから抽出されます。

      • ログが生成された時刻と現在の時刻の差が 12 時間を超える場合、ログは削除され、エラーが報告されます。

ログのフィルタリング

ログが処理されると、Logtail は指定されたフィルター条件に基づいてログをフィルタリングします。

  • [フィルター構成] フィールドにフィルター条件を指定しない場合、ログはフィルタリングされません。

  • [フィルター構成] フィールドにフィルター条件を指定すると、各ログのフィールドが走査されます。

    Logtail は、フィルター条件を満たすログのみを収集します。

ログの集約

ネットワークリクエストの数を減らすために、Logtail は処理済みおよびフィルタリング済みのログを指定された期間キャッシュします。 その後、Logtail はログを集約し、Simple Log Service に送信します。 データのキャッシュ時に次のいずれかの条件が満たされると、Logtail は集約されたログを Simple Log Service に送信します。

  • 集約期間が 3 秒を超えています。

  • 集約されたログの数が 4,000 を超えています。

  • 集約されたログの合計サイズが 512 KB を超えています。

ログの送信

Logtail は、集約されたログを Simple Log Service に送信します。 ログの送信に失敗した場合、Logtail は HTTP ステータスコードに基づいて再試行するか、送信を停止します。

HTTP ステータスコード

説明

Logtail の処理方法

401

現在のアカウントには、データを収集する権限がありません。 アカウントにデータへのアクセス権限を付与する必要があります。 詳細については、「権限アシスタント機能を設定する」をご参照ください。

ログパケットを削除します。

404

Logtail 構成で指定されたプロジェクトまたはログストアが存在しません。

ログパケットを削除します。

403

シャードクォータが使い果たされています。

3 秒後に再試行します。

500

サーバー例外が発生します。

3 秒後に再試行します。

説明

データ転送速度と同時接続の最大数を変更するには、Logtail 起動構成ファイルの max_bytes_per_sec パラメーターと send_request_concurrency パラメーターを変更します。 詳細については、「Logtail の起動パラメーターを設定する」をご参照ください。

利点

  • ログファイルに基づく非侵入型のログ収集をサポートしています。 アプリケーションコードを変更する必要はなく、ログ収集はアプリケーションの動作に影響を与えません。

  • テキストログ、バイナリログ、HTTP ログ、コンテナーログを収集します。

  • Docker や Kubernetes clusters などのさまざまなコンテナークラスターからログを収集します。

  • ログ収集プロセスで発生する例外を処理します。 ネットワーク例外やサーバー例外などの問題が発生した場合、Logtail はログ収集を再試行し、データをローカルにキャッシュしてデータセキュリティを確保します。

  • Simple Log Service に基づく一元管理を提供します。 ログを収集するサーバーに Logtail をインストールし、マシングループと Logtail 構成を作成すると、Logtail はサーバーからログを収集します。

  • 包括的な自己保護メカニズムを提供します。 Logtail が Logtail と同じサーバー上で実行されている他のサービスのパフォーマンスに大きな影響を与えないようにするために、Simple Log Service は Logtail が使用できる CPU、メモリ、ネットワークリソースを制限し、自己保護メカニズムを提供します。

構成プロセス

  1. Logtail をインストールする

    Simple Log Service プロジェクトと ECS インスタンスが同じ Alibaba Cloud アカウントに属し、同じリージョンに存在する場合は、ECS インスタンスに Logtail をインストールします。 詳細については、「ECS インスタンスに Logtail をインストールする」をご参照ください。 他のサーバーに Logtail をインストールする方法の詳細については、「Linux サーバーに Logtail をインストールする」と「Windows サーバーに Logtail をインストールする」をご参照ください。

  2. ユーザー識別子を設定する

    別の Alibaba Cloud アカウントに属する ECS インスタンス、データセンター内のサーバー、またはサードパーティのクラウド サービス プロバイダーのサーバーからログを収集する場合は、サーバーのユーザー識別子を設定する必要があります。

  3. マシングループを作成する

    Simple Log Service [プロジェクト][IP アドレスベース] のマシングループまたは [カスタム識別子ベース] のマシングループを作成します。

  4. Logtail 構成を作成します。

    上記の操作は、Simple Log Service コンソールで実行します。 詳細については、「テキストログを収集する」と「コンテナーログを収集する」をご参照ください。

上記の操作を実行すると、Logtail はサーバーからログを収集し、指定されたログストアに送信します。 Simple Log Service のコンソール、API、SDK、または CLI を使用してログをクエリできます。

用語

  • マシングループ: マシングループには、特定タイプのログが収集される 1 つ以上のサーバーが含まれます。 Logtail 構成をマシングループに適用すると、Simple Log Service は Logtail 構成に基づいてマシングループ内のすべてのサーバーからログを収集します。

    Simple Log Service は、マシングループを使用して、Logtail を使用してログを収集するすべてのサーバーを管理します。 IP アドレスまたはカスタム識別子に基づいてマシングループを定義し、Simple Log Service コンソールでマシングループを管理できます。 たとえば、マシングループの作成または削除、マシングループへのサーバーの追加またはマシングループからのサーバーの削除などです。 詳細については、「概要」をご参照ください。

  • Logtail: Simple Log Service が提供するログ収集エージェント。 Logtail は、ログを収集するサーバー上で実行されます。

    • Linux: Linux では、Logtail は /usr/local/ilogtail ディレクトリにインストールされ、ilogtail で始まる名前の 2 つの独立したプロセスを開始します。 1 つは収集プロセスで、もう 1 つはデーモンです。 プログラムの操作ログは、/usr/local/ilogtail/ilogtail.LOG ファイルに保存されます。 詳細については、「Linux サーバーに Logtail をインストールする」をご参照ください。

    • Windows:

      • Logtail ( 32 ビット)

        • 32 ビット Windows では、Logtail は C:\Program Files\Alibaba\Logtail ディレクトリにインストールされます。

        • 64 ビット Windows では、Logtail は C:\Program Files (x86)\Alibaba\Logtail ディレクトリにインストールされます。

          説明

          64 ビット Windows オペレーティングシステムで 32 ビットアプリケーションと 64 ビットアプリケーションを実行します。 オペレーティングシステムは、互換性を確保するために、32 ビットアプリケーションを別の x86 ディレクトリに保存します。

      • Logtail ( 64 ビット)

        Logtail ( 64 ビット) は、64 ビット Windows にのみインストールします。 インストールディレクトリは、C:\Program Files\Alibaba\Logtail です。

      Logtail のステータスを確認するには、次のようにします。 [コントロールパネル] > [管理ツール] > [サービス] を選択します。 Logtail V1.0.0.0 以降をインストールした場合は、LogtailDaemon サービスを表示します。 Logtail V0.x.x.x をインストールした場合は、LogtailWorker サービスを表示します。 プログラムの操作ログは、インストールディレクトリの ilogtail.LOG ファイルに保存されます。 詳細については、「Windows サーバーに Logtail をインストールする」をご参照ください。

  • Logtail 構成: Logtail がログを収集するために使用する一連のポリシー。 データソースと収集モードを指定して、ログ収集用のカスタム Logtail 構成を作成できます。 Logtail 構成は、サーバーから特定タイプのログを収集し、収集されたログを解析し、Simple Log Service の指定されたログストアにログを送信するために使用されます。

基本機能

機能

説明

リアルタイムログ収集

Logtail は、ログファイルを動的に監視し、増分ログをリアルタイムで読み取って解析します。 ほとんどの場合、ログは生成されてから 3 秒以内に Simple Log Service に送信されます。 詳細については、「収集プロセス」をご参照ください。

説明

Logtail は履歴ログを収集しません。 ログが生成されてから 12 時間以上後に読み取られたログは破棄されます。 履歴ログファイルからログを収集する方法の詳細については、「ログファイルから履歴ログをインポートする」をご参照ください。

自動ログローテーション

複数のアプリケーションが、ファイルサイズまたは日付に基づいてログファイルをローテーションします。 ローテーションプロセスでは、元のログファイルの名前が変更され、新しい空のログファイルが作成されます。 たとえば、ログローテーション後、app.LOG.1app.LOG.2 などのファイルが app.LOG ファイル用に生成されます。 収集されたログが書き込まれるファイルを指定できます。 例: app.LOG。 Logtail は、ログローテーションプロセスを自動的に監視し、このプロセス中にログが失われないようにします。

複数のデータソースのサポート

Logtail は、テキストログ、syslog、HTTP ログ、MySQL バイナリログを収集できます。 詳細については、「データ収集の概要」をご参照ください。

オープンソース収集エージェントとの互換性

Logtail は、Logstash や Beats などのオープンソースソフトウェアによって収集されたデータを Simple Log Service に収集できます。 詳細については、「データ収集の概要」をご参照ください。

収集例外の自動処理

Simple Log Service のエラー、ネットワークエラー、クォータの枯渇などの例外によりデータ送信に失敗した場合、Logtail は特定のシナリオに基づいてログ収集を積極的にリトライします。リトライに失敗した場合、Logtail はデータをローカルキャッシュに書き込み、3 秒後にデータを再送信します。詳細については、「Logtail のセルフサービス診断ツール」をご参照ください。

柔軟な収集構成

Logtail 構成に基づいてログを柔軟に収集します。ログを収集するディレクトリとファイルを指定できます。完全一致とワイルドカード一致がサポートされています。ログ収集モードと抽出するフィールドを指定し、正規表現を使用してログを抽出できます。

Simple Log Service のログデータモデルでは、各ログに正確なタイムスタンプが必要です。Logtail はカスタムログ時間フォーマットをサポートしており、さまざまなフォーマットのログデータから必要なタイムスタンプ情報を抽出できます。

Logtail 構成の自動同期

Simple Log Service コンソールで Logtail 構成を作成または更新すると、ほとんどの場合、Logtail は 3 分以内に構成を自動的に受信して適用します。 Logtail の更新プロセス中にログが失われることはありません。

ステータス監視

Logtail は、CPU とメモリの消費量をリアルタイムで監視します。これにより、Logtail が過剰なリソースを消費するのを防ぎます。リソースの過剰消費は、Logtail と同じサーバー上で実行されている他のサービスに影響を与える可能性があります。 Logtail のリソース使用量が制限を超えると、Logtail は自動的に再起動します。ネットワーク帯域幅の使用量が制限を超えると、Logtail は速度制限をトリガーします。詳細については、「起動構成ファイル (ilogtail_config.json)」をご参照ください。

署名済みデータの送信

データ転送中のデータの改ざんを防ぐため、Logtail は信頼できるチャンネルを介して Simple Log Service からプライベートトークンを取得し、送信されるすべてのログデータパケットに署名します。

説明

Logtail は HTTPS 経由でプライベートトークンを取得し、トークンのセキュリティを確保します。

データ収集の信頼性

データ収集中、Logtail は収集されたチェックポイント情報をローカルサーバーに定期的に保存します。サーバーの予期しないシャットダウンなどの例外が発生した場合、またはプロセスが予期せず終了した場合、Logtail は再起動後に最後に記録されたチェックポイントからデータを収集します。これにより、データの損失を防ぎます。 Logtail は、起動構成ファイルで指定された起動パラメーターに基づいて実行されます。 Logtail のリソース使用量が 5 分を超えて制限を超えた場合、Logtail は強制的に再起動されます。再起動後に重複データが収集される場合があります。

Logtail は、ログ収集の信頼性を向上させるための内部メカニズムを使用しています。ただし、次の状況ではログが失われる可能性があります。ただし、次のシナリオではログが収集に失敗する可能性があります。

  • Logtail は実行されていませんが、ログファイルは複数回回転されます。

  • ログファイルの回転率が非常に高く、1 秒に 1 回などの回転があります。

  • ログの収集率が、長期間にわたってログの生成率よりも低くなっています。

参考資料