このトピックでは、サーバーからLog Serviceに履歴ログをインポートする方法について説明します。 デフォルトでは、Logtailはサーバーから増分ログのみを収集します。 ただし、履歴ログを収集するようにLogtailを設定できます。

始める前に

  • Logtail V0.16.15 (Linux) 、Logtail V1.0.0.1 (Windows) 以降がサーバーにインストールされます。 詳細については、「Logtail のインストール方法 (Linux)」または「Logtail のインストール方法 (Windows)」をご参照ください。
  • Logtail設定ファイルが作成され、サーバーが属するサーバーグループに適用されます。 詳細については、「テキストログ収集の概要」をご参照ください。

    Logtail設定ファイルを使用して履歴ファイルのみをインポートする場合は、存在しないログ収集パスを指定できます。

このタスクについて

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

Logtailがインストールされているディレクトリに履歴ログファイルをインポートする必要があります。 ディレクトリはオペレーティングシステムによって異なります。
  • Linux: /usr/local/ilogtail
  • Windows:
    • 32ビット: C:\Program Files\Alibaba\Logtail
    • 64ビット: C:\Program Files (x86)\Alibaba\Logtail
説明
  • ローカルイベントをインポートできる最大レイテンシは1分です。
  • ローカルイベントがロードされると、LogtailはLOAD_LOCAL_EVENT_ALARMメッセージをサーバーに送信します。
  • 多数のファイルをインポートするには、Logtail起動パラメーターを変更することを推奨します。 CPU使用率のしきい値を2.0以上の値に設定し、Logtailに必要なメモリ使用率を512 MB以上の値に設定できます。 詳細については、「起動パラメータの設定」をご参照ください。

手順

  1. Logtail設定ファイルの一意の識別子を取得します。
    Logtailがインストールされているディレクトリにあるuser_log_config.jsonファイルを開きます。 Logtail設定ファイルの一意の識別子を取得できます。
    たとえば、LinuxサーバーでLogtail構成ファイルの一意の識別子を取得するには、次のコマンドを実行します。
    grep "##" /usr/local/ilogtail/user_log_config.json | awk '{print $1}'
                        "##1.0##log-config-test$multi"
                        "##1.0##log-config-test$ecs-test"
                        "##1.0##log-config-test$metric_system_test"
                        "##1.0##log-config-test$redis-status"
  2. Add a local event.
    1. Logtailインストールディレクトリにlocal_event.jsonファイルを作成します。
    2. Logtailインストールディレクトリのlocal_event. JSONファイルにjson形式のローカルイベントを追加します。 次の例は、ローカルイベントの形式を示しています。
      [ 
        {
          "config" : "${your_config_unique_id}",
          "dir" : "${your_log_dir}",
          "name" : "${your_log_file_name}"
         },
        {
         ...
         }
         ...
      ]
      説明 Logtailが無効なJSONファイルを読み込まないようにするには、まずローカルイベントの設定を一時ファイルに保存することをお勧めします。 次に、設定を編集してlocal_event.jsonファイルにコピーします。
      パラメーター 説明
      config ステップ1で取得した一意の識別子を入力します。 例: ##1.0##log-config-test$ecs-test
      dir 履歴ログファイルが保存されるディレクトリ。 例: /data/logs
      説明 ディレクトリはスラッシュ (/) で終わることはできません。
      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分以内にメモリにロードします。 local_event.jsonファイルの内容が削除されます。

    次の方法を使用して、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設定で指定されたパスにログファイルが存在しません。
    • ログファイルはLogtailによって収集されています。