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

Simple Log Service:ログファイルから履歴ログをインポートする

最終更新日:Aug 21, 2024

Logtailは増分ログのみを収集します。 Logtail構成がサーバーに配信されて適用された後にログファイルが更新されない場合、Logtailはファイルからログを収集しません。 履歴ログを収集する場合は、Logtailの履歴ログのインポート機能を使用できます。

前提条件

背景情報

Logtailは、監視対象ファイルの変更イベントに基づいてログを収集します。 Logtailは、ローカルファイルからイベントをロードしてログを収集できます。 Logtailはローカルイベントを読み込み、ログファイルから履歴ログを収集します。

説明
  • ローカルイベントをインポートできる最大レイテンシは1分です。

  • ローカルイベントがロードされると、LogtailはLOAD_LOCAL_EVENT_ALARMメッセージをサーバーに送信します。

  • 多数のファイルをインポートする場合は、Logtailの起動パラメーターを変更することを推奨します。 CPU使用率のしきい値を2.0以上、メモリ使用率のしきい値を512 MB以上に設定できます。 詳細については、「Logtailの起動パラメーターの設定」をご参照ください。

  • ログファイルに漢字が含まれている場合は、ファイルの文字セットを設定する必要があります。

Logtailのインストールディレクトリにあるログファイルから履歴ログをインポートする必要があります。 Logtailのインストールディレクトリは、オペレーティングシステムによって異なります。 次の表に、さまざまなオペレーティングシステムでのLogtailのインストールディレクトリを示します。

オペレーティングシステム

Logtail

Logtailのインストールディレクトリ

Linux

Logtail (64ビット)

/usr/local/ilogtail

64ビットWindows

Logtail (64ビット)

C:\プログラムファイル \Alibaba\Logtail

Logtail (32ビット)

C:\プログラムファイル (x86)\Alibaba\Logtail

説明

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

32ビットWindows

Logtail (32ビット)

C:\プログラムファイル \Alibaba\Logtail

手順

  1. Logtail構成の一意の識別子を取得します。

    Logtail構成の一意の識別子は、Logtailのインストールディレクトリにあるuser_log_config.jsonファイルから取得できます。 たとえば、次のコマンドを実行して、Linuxサーバー上のLogtail構成の一意の識別子を取得できます。

    grep "##" /usr/local/ilogtail/user_log_config.json | awk '{print $1}'
  2. ローカルイベントを追加します。

    1. Logtailのインストールディレクトリにlocal_event.jsonファイルを作成します。

    2. ローカルイベントをJSON形式でlocal_event.jsonファイルに追加します。

      重要

      Logtailが無効なJSONイベントを読み込まないようにするには、ローカルイベントの設定を編集用の一時ファイルに保存し、編集後に設定をlocal_event.jsonファイルにコピーすることをお勧めします。

      [ 
        {
          "config" : "${your_config_unique_id}",
          "dir" : "${your_log_dir}",
          "name" : "${your_log_file_name}"
         },
        {
         ...
         }
         ...
      ]

      パラメーター

      説明

      config

      手順1で取得したLogtail設定の一意の識別子を入力します。 例: ##1.0##log-config-test$ecs-test

      dir

      履歴ログをインポートするログファイルのディレクトリを指定します。 例: /data/logs

      重要
      • スラッシュ (/) で値を終了しないでください。

      • Logtailのインストールディレクトリ (/usr/local/ilogtailなど) は指定しないでください。

      name

      履歴ログをインポートするログファイルの名前を指定します。 ワイルドカード文字がサポートされています。 例: access.log.2018-08-08およびaccess.log * 。

      次のサンプルコードは、Linuxでローカルイベントを設定する方法の例を示しています。

      $ cat /usr/local/ilogtail/local_event.json
      [
        {
          "config": "##1.0##log-config-test$ecs-test",
          "dir": "/data/log",
          "name": "access.log*"
        },
        {
          "config": "##1.0##log-config-test$tmp-test",
          "dir": "/tmp",
          "name": "access.log.2017-08-09"
        }
      ]                            

よくある質問

  • LogtailがLogtail設定を読み込むかどうかを確認するにはどうすればよいですか。

    ほとんどの場合、local_event.jsonファイルを保存した後、Logtailは1分以内にファイルの内容をメモリにロードし、ファイルをクリアします。

    次の方法を使用して、Logtail設定がロードされているかどうかを確認できます。

    1. local_event.jsonファイルにコンテンツが存在しない場合、Logtailはイベント情報を読み取りました。

    2. Logtailのインストールディレクトリにあるilogtail.LOGファイルにprocess local eventパラメーターが含まれているかどうかを確認します。 local_event.jsonファイルにコンテンツが存在せず、process local eventパラメーターが取得されていない場合、コンテンツが無効であるため、local_event.jsonファイルのコンテンツが除外される可能性があります。

  • Logtail設定のロード後にデータを収集できないのはなぜですか?

    • Logtailの設定が無効です。

    • local_event.jsonファイルの設定が無効です。

    • ログを収集するログファイルは、Logtail設定で指定されたディレクトリに格納されていません。

    • ログを収集するログファイルのログが収集されます。

次に何をすべきか

履歴ログをインポートした後、ログを照会および分析できます。 詳細については、「インデックスモードでのログの照会と分析」をご参照ください。