このトピックでは、設定ファイルを変更して一般的な収集の問題を解決する方法について説明します。一般的なトラブルシューティング方法については、「LoongCollector の収集例外のトラブルシューティング」をご参照ください。
高いネットワーク遅延と不安定なログ転送
症状には、ログの損失や重複、LoongCollector によるログ送信時の頻繁な再試行、ネットワークの頻繁な切断や揺らぎなどがあります。考えられる原因は次のとおりです。
ネットワーク帯域幅の不足:収集するログのデータ量が大きい場合、ネットワーク帯域幅の不足によりログのバックログが発生し、遅延が増加します。
ネットワーク環境の不安定:クロスリージョンまたはネットワーク間の接続により、ネットワーク遅延またはパケット損失が発生する可能性があります。
ソリューション
Alibaba Cloud Content Delivery Network (CDN) のエッジノードを使用して、ログ収集を高速化できます。この方法は、パブリックネットワーク経由の収集と比べて、ネットワーク遅延と安定性の面で大きなメリットがあります。この機能を有効にすると、実際の転送データ量に基づく追加料金が発生します。
プロジェクトで クロスドメイン転送アクセラレーション 機能を有効にします。
LoongCollector を停止します。LoongCollector がインストールされているサーバーにログインし、
sudo /etc/init.d/loongcollectord stopコマンドを実行します。アクセラレーションエンドポイントを変更します。
/usr/local/ilogtail/ilogtail_config.jsonファイルで、data_servers内のendpoint_listパラメータの値をlog-global.aliyuncs.comに置き換えます。これにより、データ転送に使用されるドメイン名がアクセラレーションエンドポイントに変更されます。LoongCollector を起動します。
sudo /etc/init.d/loongcollectord startコマンドを実行します。
サイズ超過による単一ログの切り捨て
単一のログが長すぎる場合、収集後に切り捨てられます。これは、単一のログエントリの最大サイズがデフォルトで 512 KB であるためです。Simple Log Service (SLS) は、この制限を超えるログを切り捨てます。複数行ログを先頭行の正規表現に基づいて分割した後も、各ログエントリには 512 KB の制限が適用されます。この制限を超える場合、ログは複数のエントリに分割されて収集されます。
ソリューション
/usr/local/ilogtail/ilogtail_config.jsonファイルで、max_read_buffer_sizeパラメータの値を変更します。パラメータが存在しない場合は追加します。このパラメータの最大値は 8 MB です。メモリ使用量は線形に増加します。
max_read_buffer_size × ファイルの同時実行数に等しいメモリ量を確保する必要があります。LoongCollector を再起動します。
sudo /etc/init.d/loongcollectord restartコマンドを実行します。
15 分以上のタイムスタンプのずれによるログの損失
ログ収集と転送は正常に見えても、一部のログが失われる場合があります。これは、失われたログのタイムスタンプが、現在の SLS のサーバー側の時刻と 15 分以上異なる場合に発生します。データセキュリティのため、SLS は LoongCollector からのリクエストを含む各リクエストのタイムスタンプを検証します。タイムスタンプがサーバー側の時刻と 15 分以上異なるリクエストは拒否されます。たとえば、テストのためにサーバーのローカル時刻を未来の時刻に変更すると、リクエストが拒否され、データを書き込めません。
ソリューション
/usr/local/ilogtail/ilogtail_config.jsonファイルで、enable_log_time_auto_adjustパラメータの値をtrueに設定します。パラメータが存在しない場合は追加します。この設定により、ログ時刻がサーバーのローカル時刻に自動的に調整されます。この機能を有効にすると、サーバー側の時刻とサーバーのローカル時刻のオフセットがログ時刻に加算されます。オフセットは SLS によってリクエストが拒否された場合にのみ更新されるため、SLS でクエリしたログ時刻は、ログが実際に書き込まれた時刻と一致しない場合があります。
LoongCollector を再起動します。
sudo /etc/init.d/loongcollectord restartコマンドを実行します。
別リージョンのプロジェクトへの切り替え
さまざまな理由により、サーバーで収集したログを新しいプロジェクトに保存する必要がある場合があります。
ソリューション
収集設定を再利用するには、先に 収集設定ファイル の内容を保存します。アンインストール処理により、このファイルが削除されます。
サーバーから LoongCollector をアンインストールします。
新しいプロジェクトとサーバーの構成に基づいて、適切な LoongCollector のインストール方法 を選択します。
履歴データを新しいプロジェクトに転送するには、次の 2 つの方法のいずれかを使用します:
ログをダウンロード してローカルマシンに保存し、履歴ログファイルのインポート 機能を使用してログを新しいプロジェクトに転送します。
データ変換 を使用して、古いプロジェクトから新しいプロジェクトにデータを複製します。
ログ転送における長時間の遅延の最適化
SLS のログタイムスタンプと、サーバー上でログが生成された時刻の間に 3 秒以上の遅延が発生する場合があります。考えられる原因は次のとおりです。
100 を超えるファイルからの同時収集や、ディレクトリ内での 5,000 を超えるファイルの監視は、大量のメモリを消費します。
シンプルモードで 2 MB/s 超、または正規表現モードで 1 MB/s 超など、ログデータのトラフィックが大きいと CPU 使用率が高くなります。
CloudLens for SLS を有効にして、[収集モニタリング] で現在のホストの CPU 使用率を確認します。
LoongCollector が SLS にデータを送信するレートが 10 MB/s を超えることも、遅延の要因となります。
CloudLens for SLS を有効にして、[収集モニタリング] で現在のホストの収集レートを確認します。
ソリューション
上記の原因に基づいて、ファイル数またはトラフィックを削減します。メモリ使用量またはトラフィックを削減できない場合は、「収集パフォーマンスの構成計画」をご参照のうえ、収集パフォーマンスを調整してください。