Logtail は増分ログのみを収集します。Logtail 構成がご利用のサーバーに配信・適用された後にログファイルが更新されない場合、Logtail はそのファイルからログを収集しません。履歴ログを収集する場合は、Logtail の履歴ログインポート機能をご利用ください。
local_event.json に基づく履歴ファイル収集方法は推奨されなくなりました。
Log Service では、ホスト上のテキストログを一括モードで収集する新機能を提供しています。この新機能により、コンソールから構成をバッチ適用でき、再開可能なアップロードをサポートし、包括的な進行状況のモニタリングとリソース制御が可能です。履歴データのインポートには、この新機能のご利用を推奨します。
前提条件
ご利用の Linux サーバーに Logtail V0.16.15 以降、または Windows サーバーに Logtail V1.0.0.1 以降がインストールされていること。詳細については、「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:\Program Files\Alibaba\Logtail |
Logtail (32 ビット) | C:\Program Files (x86)\Alibaba\Logtail 説明 64 ビット Windows では 32 ビットおよび 64 ビットのアプリケーションを実行できます。互換性を確保するため、オペレーティングシステムは 32 ビットアプリケーションを別の x86 ディレクトリに格納します。 | |
32 ビット Windows | Logtail (32 ビット) | C:\Program Files\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 構成で指定されたディレクトリに格納されていません。
ログを収集したいログファイルのログはすでに収集済みです。
次のステップ
履歴ログのインポート後は、ログのクエリおよび分析が可能です。詳細については、「インデックスモードでのログのクエリと分析」をご参照ください。