Logtailは増分ログのみを収集します。 Logtail構成がサーバーに配信されて適用された後にログファイルが更新されない場合、Logtailはファイルからログを収集しません。 履歴ログを収集する場合は、Logtailの履歴ログのインポート機能を使用できます。
前提条件
Logtail V0.16.15以降がLinuxサーバーにインストールされるか、Logtail V1.0.0.1以降がWindowsサーバーにインストールされます。 詳細については、「LinuxサーバーにLogtailをインストールする」または「Windowsサーバーに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 |
手順
Logtail構成の一意の識別子を取得します。
Logtail構成の一意の識別子は、Logtailのインストールディレクトリにあるuser_log_config.jsonファイルから取得できます。 たとえば、次のコマンドを実行して、Linuxサーバー上のLogtail構成の一意の識別子を取得できます。
grep "##" /usr/local/ilogtail/user_log_config.json | awk '{print $1}'
ローカルイベントを追加します。
Logtailのインストールディレクトリにlocal_event.jsonファイルを作成します。
ローカルイベントを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設定がロードされているかどうかを確認できます。
local_event.jsonファイルにコンテンツが存在しない場合、Logtailはイベント情報を読み取りました。
Logtailのインストールディレクトリにあるilogtail.LOGファイルに
process local event
パラメーターが含まれているかどうかを確認します。 local_event.jsonファイルにコンテンツが存在せず、process local event
パラメーターが取得されていない場合、コンテンツが無効であるため、local_event.jsonファイルのコンテンツが除外される可能性があります。
Logtail設定のロード後にデータを収集できないのはなぜですか?
Logtailの設定が無効です。
local_event.jsonファイルの設定が無効です。
ログを収集するログファイルは、Logtail設定で指定されたディレクトリに格納されていません。
ログを収集するログファイルのログが収集されます。
次に何をすべきか
履歴ログをインポートした後、ログを照会および分析できます。 詳細については、「インデックスモードでのログの照会と分析」をご参照ください。