LoongCollector をインストールした後、そのライフサイクルとランタイム設定を管理できます。
一般的な LoongCollector コマンド
LoongCollector の起動
データ収集に特定のパフォーマンス要件がある場合は、LoongCollector を起動する前に、起動パラメーター設定ファイル (ilogtail_config.json) を変更してください。
sudo /etc/init.d/loongcollectord startLoongCollector の停止
sudo /etc/init.d/loongcollectord stopLoongCollector のステータス確認
sudo /etc/init.d/loongcollectord status # 「loongcollector is running」という戻り値は、起動が成功したことを示します。LoongCollector のバージョン確認
cat /usr/local/ilogtail/app_info.json # バージョン情報は loongcollector_version フィールドに保存されます。LoongCollector の再起動
sudo /etc/init.d/loongcollectord restartLoongCollector のアンインストール
サンプルコードで、
${region_id}をcn-hangzhouに置き換えます。ダウンロードを高速化するには、${region_id}をご利用の Elastic Compute Service (ECS) インスタンスのリージョンに置き換えます。詳細については、「リージョン」をご参照ください。wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh;アンインストールコマンドを実行します。
chmod +x loongcollector.sh; sudo ./loongcollector.sh uninstall;
LoongCollector のアップグレード
LoongCollector を新しいバージョンにアップグレードしたり、Logtail から LoongCollector にアップグレードしたりできます。どちらのシナリオでもアップグレードコマンドは同じです。
LoongCollector のアップグレード、または Logtail から LoongCollector へのアップグレード
アップグレード中に LoongCollector は停止し、アップグレード完了後に自動的に再起動します。アップグレードでは、必須ファイルのみが上書きされます。ログの欠損を防ぐため、設定ファイルとチェックポイントファイルは保持されます。
サーバーでダウンロードコマンドを実行して、最新のインストールパッケージを取得します。サンプルコードで、
${region_id}をcn-hangzhouに置き換えます。ダウンロードを高速化するには、${region_id}をご利用の ECS インスタンスのリージョンに置き換えます。詳細については、「リージョン」をご参照ください。wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh;アップグレードコマンドを実行します。
upgradeコマンドを使用してください。installコマンドを使用すると、インストールが上書きされ、元の設定が失われます。chmod +x loongcollector.sh; sudo ./loongcollector.sh upgrade;次の情報が表示された場合、アップグレードは成功です。
Upgrade loongcollector files successfully. Starting loongcollector ... Upgrade loongcollector successfully.
LoongCollector から Logtail へのロールバック
logtail.sh スクリプトを再度ダウンロードする必要があります。古い logtail.sh スクリプトは使用しないでください。
サーバーでダウンロードコマンドを実行して、インストールパッケージを取得します。サンプルコードで、
${region_id}をcn-hangzhouに置き換えます。ダウンロードを高速化するには、${region_id}をご利用の ECS インスタンスのリージョンに置き換えます。詳細については、「リージョン」をご参照ください。wget https://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh;ロールバックコマンドを実行します。1.8.7 などのバージョンを指定するには、コメントを参照し、必要に応じてバージョン番号を置き換えてください。
chmod +x logtail.sh; sudo ./logtail.sh upgrade; #chmod +x logtail.sh; sudo ./logtail.sh upgrade -v -v 1.8.7;
起動パラメーター構成ファイル (ilogtail_config.json)
説明:このファイルは LoongCollector の起動パラメーターを設定します。パラメーター設定が正しくないと、収集パフォーマンスに影響したり、収集エラーが発生したりする可能性があります。
パス:/usr/local/ilogtail/ilogtail_config.json。
シナリオ:Simple Log Service (SLS) は、サーバーリソースの過剰な消費を避けるために、LoongCollector の収集パフォーマンスを制限します。収集パフォーマンスが要件を満たさない場合は、起動パラメーターを調整できます。
ファイル例:
{ "primary_region" : "cn-beijing", // デフォルトリージョン。このパラメーターは無視できます。 "config_servers" : // 収集設定を取得するために使用されるアドレス。 [ "http://logtail.cn-beijing.log.aliyuncs.com" ], "data_servers" : // SLS とのデータ転送用のアドレス。 [ { "region" : "cn-beijing", "endpoint_list": [ "cn-beijing.log.aliyuncs.com" ] } ], "cpu_usage_limit" : 0.4, "mem_usage_limit" : 384, "max_bytes_per_sec" : 20971520, "bytes_per_sec" : 1048576, "buffer_file_num" : 25, "buffer_file_size" : 20971520, "buffer_map_num" : 5 }パラメーター:次の表は、設定が必要になる可能性のある一般的な起動パラメーターのみを一覧表示しています。必要に応じて追加または変更してください。表に記載されていないパラメーターは、デフォルト値のままにしてください。
シナリオ:以下の例は、一般的なシナリオと操作を示しています。
収集パフォーマンス設定の計画
コレクターが過剰なサーバーリソースを消費して他のサービスに影響を与えるのを防ぐため、SLS はその収集パフォーマンスを制限します。収集パフォーマンスを向上させるには、起動パラメーターを変更できます。
推奨パラメーター例
以下のパラメーター設定は、一般的な JSON ファイルを収集する場合に推奨されます。完全正規表現モードと区切り文字モードのパフォーマンスは、JSON モードとほぼ同じです。ミニマリストモードのパフォーマンスは、JSON モードの 5 倍です。データやルールの複雑さ、収集ディレクトリやファイルの数などの要因が、CPU とメモリの消費に影響します。必要に応じて、次の表のパラメーターを調整してください。
/usr/local/ilogtail/ilogtail_config.json のパラメーター値を追加または変更し、LoongCollector を再起動して変更を有効にします。次の表は、さまざまな収集レートに対する推奨値を示しています。
表の「収集レートが 40 MB/s を超える場合」列に基づいて起動パラメーターを設定すると、収集パフォーマンスは限界に近づきます。
パラメーター | 説明 | 収集レートが 10 MB/s を超える場合 | 収集レートが 20 MB/s を超える場合 | 収集レートが 40 MB/s を超える場合 |
cpu_usage_limit | CPU 使用率のしきい値。コアごとに計算されます。
値が 0.4 の場合、SLS はコレクターの CPU 使用率を単一コアの 40% に制限しようとします。使用率がこの制限を超えると、LoongCollector は自動的に再起動します。 これはソフトリミットです。実際の CPU 使用率はこの値を超えることがあります。この制限を 5 分間超えると、サーキットブレーカーがトリガーされ、LoongCollector は自動的に再起動します。 | 1 | 2 | 4 |
mem_usage_limit | メモリ使用量のしきい値。
収集レート、監視対象のディレクトリとファイルの数、および送信ブロッキングは、このパラメーターに関連しています。詳細については、「制限事項」をご参照ください。 これはソフトリミットです。実際のメモリ使用量はこの値を超えることがあります。この制限を 5 分間超えると、サーキットブレーカーがトリガーされ、LoongCollector は自動的に再起動します。 | 1024 | 2048 | 4096 |
process_thread_count | データ処理用のスレッド数。
単一スレッドは、ミニマリストモードで 24 MB/s、完全正規表現モードで 12 MB/s のデータ書き込みを処理できます。通常の状況では、このパラメーターを調整する必要はありません。 | 2 | 4 | 8 |
send_request_concurrency | 非同期同時リクエストの数。
書き込み TPS が高い場合は、より高い同時実行値を設定できます。ネットワーク遅延にもよりますが、1 つの同時リクエストで 0.5 MB/s から 1 MB/s のネットワークスループットをサポートできると推定できます。 | 20 | 40 | 80 |
高いネットワーク遅延または不安定なログ伝送
ログの欠損、ログの重複伝送、LoongCollector による頻繁な再試行、または頻繁なネットワークの中断や変動が発生することがあります。考えられる理由は次のとおりです:
不十分なネットワーク帯域幅:収集されるログの量が多い場合、ネットワーク帯域幅が不十分だとログの蓄積や遅延の増加を引き起こす可能性があります。
不安定なネットワーク環境:クロスリージョンまたはクロスネットワーク接続は、ネットワーク遅延やパケット損失につながる可能性があります。
解決策
Alibaba Cloud 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 (524,288 バイト) であるためです。ログエントリがこのサイズを超えると、SLS はそれを切り捨てます。最初の行の正規表現に基づいて分割される複数行ログの場合、結果として得られる各ログエントリのサイズ制限も 512 KB です。この制限を超えると、エントリは強制的に複数のエントリに分割されます。
解決策
/usr/local/ilogtail/ilogtail_config.jsonファイルで、max_read_buffer_sizeパラメーターの値を変更します。パラメーターが存在しない場合は追加します。このパラメーターの最大値は 8 MB (8,388,608 バイト) です。メモリ使用量は線形に増加することに注意してください。
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 が Simple Log Service にデータを送信するレートが 10 MB/s を超えています。
CloudLens for SLS を有効化し、[収集モニタリング] で現在のホストの収集レートを確認してください。
解決策
上記の考えられる理由に基づいて、ファイルの数またはデータトラフィックを調整します。メモリ使用量を削減したり、伝送トラフィックを下げたりできない場合は、「収集パフォーマンス設定の計画」を参照して収集パフォーマンスを調整してください。
その他の一般的な構成ファイル
以下は、LoongCollector がランタイム中に使用するその他の設定ファイルおよび情報ファイルです:
LoongCollector コレクション構成ファイル (user_log_config.json)
説明:このファイルは、LoongCollector が SLS から取得した収集設定情報を記録します。このファイルは、収集設定が更新されるたびに更新されます。AccessKey の詳細やデータベースのパスワードなどの機密情報を手動で設定する場合を除き、このファイルは変更しないでください。
パス: /usr/local/ilogtail/user_log_config.json。
シナリオ:このファイルを確認して、収集設定がサーバーに配信されたかどうかを確認できます。このファイルが存在し、その内容が SLS の収集設定と一致する場合、設定は正常に配信されています。
AppInfo レコードファイル (app_info.json)
説明:app_info.json ファイルは、LoongCollector の起動時刻、取得した IP アドレス、ホスト名などの情報を記録します。このファイルは記録専用です。変更を加えても有効にはなりません。
パス: /usr/local/ilogtail/app_info.json。
シナリオ:収集中に SLS が識別したサーバー IP 情報を表示して、それが SLS コンソールの IP ベースのマシングループの IP 情報と一致することを確認できます。これは通常、IP ベースのマシングループでのハートビートの失敗を解決するために使用されます。
サーバーの /etc/hosts ファイルにホスト名と IP のバインディングを設定している場合、バインドされた IP アドレスが自動的に取得されます。ホスト名のバインディングが設定されていない場合、最初のネットワークインターフェースカードの IP アドレスが自動的に取得されます。ilogtail_config.json の working_ip パラメーターが設定されている場合、その値がサーバーの IP アドレスとして使用されます。
LoongCollector ランタイムログ (loongcollector.LOG)
説明: loongcollector.LOG ファイルには、LoongCollector のランタイムログが記録されます。ログレベルは、低いものから順に INFO、WARN、ERROR です。
パス: /usr/local/ilogtail/loongcollector.LOG。
シナリオ:収集エラーが発生した場合は、まずLoongCollector の診断と監視を使用してエラーを確認します。次に、ログ収集エラータイプと LoongCollector ランタイムログを参照して、問題のトラブルシューティングを行います。
ユーザー ID ファイル
説明:このファイルには、収集されたログが属するプロジェクトの Alibaba Cloud アカウント ID が含まれています。ファイル名はアカウント ID で、サフィックスはありません。これは、このアカウントがこのサーバーからログにアクセスして収集する権限を持っていることを示します。
パス: /etc/ilogtail/users/{Alibaba Cloud アカウント ID}。
シナリオ:Alibaba Cloud 以外の ECS インスタンス、自己管理サーバー、または他のクラウドプロバイダーのサーバーからログを収集する場合にのみ、ユーザー ID を設定する必要があります。複数のアカウントが同じサーバーからログを収集する必要がある場合は、そのサーバーに複数のユーザー ID ファイルを作成できます。
カスタム識別子ファイル
説明:このファイルは、カスタム識別子を設定するために使用されます。この識別子は、カスタム識別子マシングループのコンテンツとして使用され、SLS がサーバー上の LoongCollector を検出し、ハートビートを確立するのに役立ちます。
パス: /etc/ilogtail/user_defined_id。
シナリオ:この設定は、カスタム識別子マシングループを使用する場合に必要です。詳細については、「マシングループを LoongCollector 収集設定に関連付ける」をご参照ください。
CheckPoint ファイル
説明:チェックポイントメカニズムは、現在の収集位置を記録して、ログの完全性を保証します。
パス: デフォルトのパスは
/tmp/logtail_checkpointです。シナリオ:起動パラメーターファイルを変更することで、チェックポイントファイルを管理できます。詳細については、「制限事項」をご参照ください。
よくある質問
サーバーがインターネットに接続できない場合のアップグレード方法
LoongCollectorをアップグレードする必要があるサーバーで、uname -mを実行してシステムアーキテクチャを判別します。次に、パブリックネットワークにアクセスできるサーバーで、対応するコマンドを実行します。${region_id}をプロジェクトのリージョンに置き換えます。ARM アーキテクチャ:
wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh;wget http://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/aarch64/main/loongcollector-linux64.tar.gz;x86-64 アーキテクチャ:
wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh;wget http://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/x86_64/main/loongcollector-linux64.tar.gz;
LoongCollectorをアップグレードする必要があるサーバーにインストールスクリプトとパッケージをコピーし、次のコマンドを実行します:chmod +x loongcollector.sh;./loongcollector.sh upgrade-local;