Logtail では、ランタイム環境、ファイル収集、コンテナ収集、チェックポイント管理、設定、マシン グループ、パフォーマンス、およびエラー処理に関する制限が適用されます。
ランタイム環境
|
制限 |
制限事項 |
|
アーキテクチャ |
|
|
コンピューティングリソース |
実際の使用量は、収集レート、監視対象のディレクトリとファイルの数、および送信ブロックによって異なります。使用量を制限の 80% 未満に維持してください。 |
|
システム環境 |
サポート対象のオペレーティングシステムは、「システムタイプ」に記載されています。 |
|
Kubernetes |
重要
すべての Logtail コンポーネントは system-cluster-critical 優先度で実行され、既存の Pod を退去させる可能性があります。クラスターリソースが不足している場合はデプロイしないでください。 |
|
Docker |
コンテナの標準出力収集に関する制限:
|
|
ストレージメディア |
共有ネットワークストレージ (NAS、OSS) は、データの切り捨て、コンテンツの不整合、または収集の中断を引き起こす可能性があるため、使用を避けてください。Elastic Block Storage (EBS) を使用してください。 |
ファイル収集
|
制限 |
制限事項 |
|
単一ログのサイズ |
デフォルト: 512 KB。max_read_buffer_size 起動パラメータで最大 8 MB まで調整可能です。詳細については、「Logtail の起動パラメータの設定」をご参照ください。 先頭行の正規表現で分割された複数行ログも、ログあたり 512 KB の制限の対象となります。512 KB を超えるログは強制的に分割されます。たとえば、1,025 KB のログは 512 KB + 512 KB + 1 KB に分割され、複数の不完全なログが生成されます。 |
|
ファイルエンコーディング |
UTF-8 および GBK エンコーディングをサポートしています。最適なパフォーマンスを得るには、UTF-8 を推奨します。 警告
ログファイルが他のエンコーディング形式を使用している場合、文字化けやデータ損失などの問題が発生する可能性があります。 |
|
ログファイルサイズ |
無制限。 |
|
ログローテーション |
デフォルトのローテーションキューサイズ: 20。logreader_max_rotate_queue_size 起動パラメータで調整可能です。詳細については、「Logtail の起動パラメータの設定」をご参照ください。 ログパスは 重要
同じ Logtail インスタンス内でこれらの 2 つの形式を混在させないでください。単一のファイルが複数の設定に一致すると、重複収集が発生します。 20 を超えるファイルが未処理の場合、新しいログは失われます。Logstore のシャード書き込みクォータを超えていないか確認し、Logtail の同時実行性を調整してください。詳細については、「推奨パラメータ値」をご参照ください。 |
|
ログ解析がブロックされた場合の収集動作 |
ログ解析がブロックされると、Logtail はファイルの削除とデータ損失を防ぐためにログファイルのファイルディスクリプタを開いたままにします。 解析がブロックされている間にログファイルが複数回ローテーションされると、Logtail はそのファイルをローテーションキューに追加します。 |
|
正規表現 |
Perl 互換の正規表現をサポートしています。 |
|
JSON |
RFC 7159 および ECMA-404 で定義されている標準 JSON は、完全にサポートされています。 |
|
1つのファイルに対する複数の Logtail 設定 |
デフォルトでは、1つのファイルは 1つの Logtail 設定にのみ一致します。詳細については、「単一ファイルからログの複数コピーを収集する方法」をご参照ください。 重要
複数コピーを収集すると、ファイルの読み取り I/O、コンピューティングリソース、およびネットワーク I/O が線形的に増加します。 |
|
ファイルを開く動作 |
Logtail は、データの整合性を保つために、収集済みおよび保留中のファイルを開いたままにします。ファイルは以下の場合に閉じられます。
削除後にスケジュールに従ってファイルハンドルを解放するには、force_release_deleted_file_fd_timeout 起動パラメータを設定します。詳細については、「Logtail の起動パラメータの設定」をご参照ください。 |
|
初回ログ収集の動作 |
Logtail は増分データのみを収集します。ファイルの変更を最初に検出したとき、ファイルが 1 MB (コンテナの標準出力の場合は 512 KB) を超える場合、収集は最後の 1 MB から開始されます。それ以外の場合、収集は最初から開始されます。 これは tail_size_kb パラメータで調整します。詳細については、「Logtail 設定 (レガシー)」をご参照ください。 設定が適用された後、Logtail は変更されていないファイルをスキップします。詳細については、「履歴ログファイルのインポート」をご参照ください。 |
|
ファイルの上書き動作 |
Logtail は、inode と最初の 1,024 バイトのハッシュによってファイルを識別します。上書き後にどちらかが変更された場合、ファイルは新しいものとして扱われ、最初から収集されます。それ以外の場合はスキップされます。 |
|
ファイルの移動動作 |
移動したファイルが、以前は一致しなかった Logtail 設定に一致する場合、新しいものとして扱われ、最初から収集されます。それ以外の場合はスキップされます。 |
|
ファイル収集履歴 |
Logtail は、増分データのみを収集するために、ファイル収集履歴をメモリ内で追跡します。保持範囲を超えて書き込むと、重複収集が発生します。
|
|
非標準テキストログ |
ログ行に |
コンテナ収集
これらの制限は、ファイル収集の制限に加えて適用されます。
|
制限 |
制限事項 |
|
初回ログ収集の動作 |
コンテナの標準出力の場合、ファイルの変更が最初に検出されたとき、ファイルが 512 KB を超える場合は最後の 512 KB から収集が開始され、それ以外の場合は最初から開始されます。StartLogMaxOffset パラメータで調整します。詳細については、「コンソールを使用して DaemonSet モードでコンテナの標準出力を収集する」をご参照ください。 |
|
シンボリックリンク |
コンテナのファイル収集では、ディレクトリとファイルのシンボリックリンクはサポートされていません。 |
|
コンテナライフサイクル |
最小コンテナライフサイクル: 10 秒。コンテナのファイル収集の場合、Logtail はコンテナの更新を 3 分あたり 10 回に制限します。docker_config_update_interval および max_docker_config_update_times 起動パラメータで調整します。詳細については、「Logtail の起動パラメータの設定」をご参照ください。 |
|
標準出力のログローテーション |
Docker または kubelet がコンテナの標準出力ファイルをローテーションします。デフォルトのローテーションサイズ: kubelet の場合は 10 MB (ACK 上の Docker の場合は 100 MB)。標準出力が 10 MB/s を超えると、ファイルは急速にローテーションされます。データ損失を防ぐには、コンテナファイルから収集するか、kubelet の containerLogMaxSize パラメータを増やしてください。 |
|
標準出力のログドライバー |
コンテナランタイムとして Docker を使用する場合、Docker 設定ファイル daemon.json に |
チェックポイント管理
|
制限 |
制限事項 |
|
チェックポイントのタイムアウト |
ファイルが 30 日間非アクティブの場合、チェックポイントは削除されます。 |
|
チェックポイントの保存ポリシー |
チェックポイントは 15 分ごと、およびプログラム終了時に保存されます。check_point_dump_interval 起動パラメータで調整します。詳細については、「Logtail の起動パラメータの設定」をご参照ください。 |
|
チェックポイントの保存場所 |
デフォルトパス: |
|
ダウンタイム中の処理 |
ダウンタイム後の復旧は、最後に保存されたチェックポイントから開始するため、重複収集が発生する可能性があります。重複を最小限に抑えるために、チェックポイントの保存ポリシーを調整してください。 |
Logtail 収集設定
|
制限 |
制限事項 |
|
設定更新のレイテンシ |
コンソールまたは API からの設定更新が Logtail クライアントに反映されるまで、約 30 秒かかります。 |
|
設定の動的読み込み |
サポートしています。1つの設定の更新が他の設定に影響することはありません。 |
|
単一の Logtail インスタンスで読み込み可能な設定の総数 |
ハードリミットはありません。推奨される最大値: サーバーあたり 100 設定。 |
|
サードパーティのフラッシャー出力 |
コンソールまたは API の設定は Logstore に関連付けられています。サードパーティのフラッシャーを使用する場合、Logtail はデフォルトで関連付けられた Logstore にもコピーを送信します。 |
|
マルチアカウントとクロスアカウント |
サポートしています。詳細については、「ユーザーIDを設定する」および「Logtail を使用して Alibaba Cloud アカウント間でコンテナログを収集する」をご参照ください。 |
|
マルチリージョン |
デフォルトではサポートされていません。有効にするには、チケットを起票してください。 |
|
Global Accelerator |
サポートしています。サーバー側で有効にしてから、クライアント側で設定します。詳細については、「Global Accelerator の有効化」をご参照ください。 |
マシン グループ
|
制限 |
制限事項 |
|
マシン数 |
ハードリミットはありません。推奨される最大値: 100,000。これを超えると、ハートビート検出が不正確になります。 |
|
適用される設定の数 |
ハードリミットはありません。推奨される最大値: 1,000。 |
パフォーマンス
|
制限 |
制限事項 |
|
ログ処理スループット |
デフォルトの生ログトラフィック制限: 20 MB/s (一般的な圧縮率:5〜10倍)。この制限を超えると、データ損失が発生する可能性があります。max_bytes_per_sec 起動パラメータで調整します。詳細については、「Logtail の起動パラメータの設定」をご参照ください。 |
|
最大パフォーマンス |
シングルコアのスループット:
process_thread_count パラメータにより複数の処理スレッドを使用することで、スループットを 1.5〜3 倍に向上させることができます。 |
|
監視対象ディレクトリとファイルの最大数 |
mem_usage_limit パラメータに依存します (デフォルト:ホストの場合は 384 MB、コンテナの場合は 2,048 MB)。4つのレベルが適用されます。
いずれかのレベルに達すると、Logtail は追加のエントリの監視を停止します。監視対象のディレクトリを絞り込むか、mem_usage_limit を引き上げることで制限を増やすことができます。mem_usage_limit パラメータは「Logtail の起動パラメータの設定」で設定します。 Linux では、Logtail は inotify を使用して収集レイテンシを削減します。inotify で監視される最大ディレクトリ数 (サブディレクトリを含む): 3,000。 |
|
リソース制限の処理ポリシー |
Logtail のリソース使用量が最大制限を 5 分間超えると、Logtail は強制的に再起動します。これにより、データ損失や重複が発生する可能性があります。 |
|
マルチテナントデータ隔離 |
Logtail は設定レベルで分離されており、ある Logtail 収集設定で例外が発生しても、他の設定には影響しません。 |
|
ログ収集のレイテンシ |
通常、ログの書き込みから Logtail の収集までのレイテンシは 1 秒未満です。 |
|
ログのアップロードポリシー |
Logtail はファイルごとにログを集約してアップロードします。アップロードは、ログ数が 4,000 を超える、合計サイズが 512 KB を超える、または 3 秒が経過した場合のいずれかの条件が最初に満たされたときにトリガーされます。 |
エラー処理
|
制限 |
制限事項 |
|
ネットワークエラーの処理 |
ネットワークエラーが発生した場合、Logtail は間隔を自動調整してリトライします。極端なケースでは、重複収集やデータ損失が発生する可能性があります。
|
|
リソースクォータの超過 |
送信レートが Logstore のクォータを超えた場合、Logtail はブロックして再試行します。解決するには、Logstore のシャード数を増やします。 |
|
クライアント時刻の例外 |
クライアントとサーバーの時刻差が 15 分を超えると、5 回の再試行に失敗し、データは破棄されます。クライアントマシンの時刻を修正してください。 |
|
Project または Logstore が存在しない |
5 回の再試行に失敗すると、データは破棄されます。これは、Logstore が API を使用して削除された場合に発生する可能性があります。解決するには、対応する Logtail 設定を削除してください。 |
|
認証失敗 |
5 回の再試行に失敗すると、データは破棄されます。一般的な原因は次のとおりです。
|
|
その他の不明なエラー |
5 回の再試行に成功しなかった場合、データは破棄されます。 |
|
タイムアウト前の最大リトライ時間 |
データ送信が 6 時間以上連続して失敗した場合、データは破棄されます。 |
|
ステータスの自己チェック |
Logtail は、異常終了時やリソース使用量が設定された制限を超えた場合に自動的に再起動します。 |
|
監視対象ディレクトリとファイルの最大数を超過 |
Logtail が収集パスを迅速に特定できず、データ損失を引き起こす可能性があります。 |
|
大幅な収集遅延 |
ログ収集の進捗がログ生成に遅延します。20 を超える未処理のログファイルがローテーションされると、データ損失が発生します。 |