アプリケーションログとシステムログは、さまざまなサーバーに分散しているため、検索、モニタリング、分析が困難です。LoongCollector (Logtail) データコレクターを使用して、Elastic Compute Service (ECS) インスタンス、自己管理データセンター、または他のクラウドプロバイダーのホストからテキストログを収集し、Simple Log Service に送信して集中管理と分析を行うことができます。2 つの収集モードがサポートされています:継続的な収集 (リアルタイム増分収集、本番環境での継続的なモニタリングに適しています) と **1 回限りの収集** (静的ファイルのバッチインポート、既存データ移行に適しています)。
収集モードの選択
シナリオ | 推奨モード |
アプリケーションログが継続的に書き込まれ、リアルタイムの監視とアラートが必要な場合 | 継続的な収集 |
アーカイブ済みの既存オブジェクトを 1 回限りインポートする場合 | 1 回限りの収集 |
システムまたはデータ移行で既存データをバックフィルする場合 | 1 回限りの収集 |
特定の期間の既存ログを一時的に調査する場合 | 1 回限りの収集 |
デフォルトでは、LoongCollector は新しい (増分) ログのみを収集します。既存の静的ファイルを収集するには、1 回限りの収集モードを使用する必要があります。
適用範囲
サポートされるオペレーティングシステムとアーキテクチャ:
現在、LoongCollector は Linux システムのみをサポートしています。Windows ホストの場合は、Logtail を使用してください。新しいデータインジェストのシナリオでは、LoongCollector の使用を推奨します。
LoongCollector は、Alibaba Cloud の Simple Log Service がリリースした新世代のログ収集エージェントであり、Logtail のアップグレード版です。LoongCollector または Logtail のいずれか一方のみをインストールする必要があり、両方をインストールする必要はありません。
コンピューティングリソースの要件:
CPU:最小 0.4 コア。
メモリ:最小 300 MB。
推奨使用量:安定した動作を確保するため、LoongCollector (Logtail) の実際のリソース使用量は、制限の 80% 未満に維持することを推奨します。実際の使用量は、収集速度、監視対象のディレクトリとファイルの数、送信ブロックの程度などの要因によって異なります。
権限要件:
RAM ユーザーを使用する場合、
AliyunLogFullAccessとAliyunECSFullAccessの権限を付与する必要があります。 詳細な権限付与については、「付録: カスタムポリシー」をご参照ください。
収集設定のワークフロー
事前準備:プロジェクトと Logstore を作成します。プロジェクトは、異なるサービスのログを分離するためのリソース管理単位であり、Logstore はこれらのログを保存するために使用されるコンテナです。
マシングループの設定 (LoongCollector のインストール):サーバーの種類に基づいて LoongCollector をインストールし、マシングループに追加します。マシングループを使用して、収集ノードを一元管理し、設定を配布し、サーバーの状態を管理できます。
グローバル設定と入力設定:収集設定の名前、ログ収集のソースと範囲を定義します。
ログの処理と構造化:ログのフォーマットに基づいて処理ルールを設定します。
複数行ログ:このモードは、Java の例外スタックや Python のトレースバックなど、複数行にまたがるログエントリ用です。行頭正規表現を使用して各ログエントリを識別し、同じログの連続する行を 1 つの完全なエントリにマージできます。
構造化解析:正規表現、区切り文字、NGINX モードなどの解析プラグインを使用して、生文字列を構造化されたキーと値のペアに抽出します。各フィールドは個別にクエリおよび分析できます。
フィルタリング処理:収集ブラックリストとコンテンツフィルタリングルールを設定してログコンテンツをフィルタリングし、冗長なデータの転送とストレージを削減します。
ログの分類:トピックを使用して、異なるサービス、サーバー、またはパスソースからのログを柔軟に区別します。
クエリと分析の設定:システムはデフォルトでフルテキストインデックスを有効にし、キーワード検索をサポートします。構造化されたフィールドに対して正確なクエリと分析を実行し、検索効率を向上させるために、フィールドインデックスを有効にすることを推奨します。
検証とトラブルシューティング:設定が完了したら、ログが正常に収集されていることを確認します。データが収集されない、ハートビートの失敗、解析エラーなどの問題が発生した場合は、「よくある質問」をご参照ください。
事前準備
ログを収集する前に、ログを管理および保存するためのプロジェクトと Logstore を計画して作成する必要があります。利用可能なリソースがある場合は、このステップをスキップして「マシングループの設定 (LoongCollector のインストール)」に進むことができます。
プロジェクトの作成
Logstore の作成
ステップ 1:マシングループの設定 (LoongCollector のインストール)
「事前準備」を完了した後、さまざまな種類のサーバーに LoongCollector をインストールし、マシングループに追加します。
以下のインストール手順は、ログソースが Alibaba Cloud ECS インスタンスであり、インスタンスと Simple Log Service プロジェクトが同じ Alibaba Cloud アカウントに属し、同じリージョンにある場合にのみ適用されます。
ご利用の ECS インスタンスとプロジェクトが同じアカウントまたはリージョンにない場合、またはログソースが自己管理サーバーである場合は、「LoongCollector のインストールと設定」をご参照ください。
操作手順:
[Logstores] ページで、対象の Logstore 名の左側にある
をクリックして展開します。データのインポート の横にある
アイコンをクリックします。 データのインポート ダイアログボックスで、テキストログ取り込みテンプレート (単一行テキストログなど) を選択し、今すぐ統合 をクリックします。すべてのテキストログ取り込みテンプレートは、解析プラグインのみが異なります。残りの設定プロセスは同じで、後で変更できます。
サーバグループ設定 ページで、次のパラメーターを設定します:
使用シナリオ: ホストシナリオ
インストール環境:ECS
マシングループの設定:対象サーバーの LoongCollector のインストール状況とマシングループの設定に基づいて、適切なオプションを選択します:
LoongCollector がインストールされ、マシングループに追加されている場合は、ソースサーバーグループ リストから選択して 適用されたサーバーグループ リストに追加します。再度作成する必要はありません。
LoongCollector がインストールされていない場合は、サーバグループの作成 をクリックします:
以下の手順では、LoongCollector の自動インストールとマシングループの作成について説明します。
システムは、プロジェクトと同じリージョンにある ECS インスタンスを自動的にリストアップします。ログを収集するインスタンスを 1 つ以上選択します。
[インストールしてマシングループとして作成] をクリックします。システムは、選択した ECS インスタンスに LoongCollector を自動的にインストールします。
マシングループの名前を設定し、OK をクリックします。
説明インストールが失敗した場合、または待機状態のままの場合は、ECS のリージョンがプロジェクトのリージョンと同じであるかを確認してください。
LoongCollector がすでにインストールされているサーバーを既存のマシングループに追加するには、「サーバーを既存のマシングループに追加するにはどうすればよいですか?」をご参照ください。
ハートビートステータスの確認:次へ をクリックします。マシングループのハートビートステータス セクションが表示されます。ハートビート のステータスを確認します。ステータスが OK の場合、マシングループの接続は正常です。次へ をクリックして Logtail 構成ページに移動します。
ステータスが FAIL の場合、最初のハートビートを確立するのに時間がかかることがあります。約 2 分待ってから、ハートビートのステータスを更新してください。更新後も FAIL のままである場合は、「マシングループのハートビートが FAIL」をご参照のうえ、トラブルシューティングを行ってください。
ステップ 2:ログ収集ルールの作成と設定
LoongCollector をインストールしてマシングループを設定した後、Logtail構成 ページに移動して、ログ収集および処理ルールを定義します。
1. グローバル設定と入力設定
収集設定の名前、ログ収集のソースと範囲を定義します。
グローバル設定:
設定名:収集設定のカスタム名です。プロジェクト内で一意である必要があります。作成後に名前を変更することはできません。命名規則:
小文字、数字、ハイフン (-)、アンダースコア (_) のみを含めることができます。
小文字または数字で開始および終了する必要があります。
入力設定:
タイプ: テキストログ収集。
ファイルパス:収集するログファイルのパスです。
Linux:スラッシュ (/) で始まる必要があります。例:
/data/mylogs/**/*.logは、/data/mylogsディレクトリ内の .log 拡張子を持つすべてのファイルを示します。Node.js アプリケーションの場合、一般的なログパスは/var/log/nodejs/*.logで、/var/log/nodejs配下のすべての.logファイルを収集します。Windows:ドライブ文字で始まる必要があります。例:
C:\Program Files\Intel\**\*.Log。
ディレクトリ監視の最大深度: ファイルパス のワイルドカード
**がマッチする最大のディレクトリ深度です。 デフォルトは 0 で、現在のディレクトリのみが監視されることを意味します。
2. ログの処理と構造化
ログ処理ルールを設定して、構造化されていない生のログを、検索可能な構造化データに変換します。これにより、ログのクエリと分析の効率が向上します。ルールを設定する前に、ログサンプルを追加することを推奨します:
Logtail構成 ページの 設定の処理 エリアで、ログサンプルの追加 をクリックして、収集するログの内容を入力します。システムは、サンプルに基づいてログフォーマットを識別し、正規表現と解析ルールの生成を支援します。これにより、構成が簡素化されます。
シナリオ 1:複数行ログの処理 (Java スタックトレースなど)
Java の例外スタックや JSON オブジェクトなどのログは、しばしば複数行にまたがります。デフォルトの収集モードでは、これらは複数の不完全なレコードに分割され、コンテキストが失われます。これを防ぐために、複数行モードを有効にし、行頭正規表現を設定して、同じログの連続する行を 1 つの完全なエントリにマージできます。
例:
未処理の生ログ | デフォルトの収集モードでは、各行が独立したログとして扱われます。スタックトレースが分断され、コンテキストが失われます。 | 複数行モードを有効にすると、行頭正規表現が完全なログを識別し、完全な意味構造を保持します。 |
| デフォルトモードでは、このログは 6 つの独立したレコードに分割されます。最初のレコードには | 複数行モードを有効にすると、 |
手順: Logtail構成 ページの 設定の処理 エリアで、マルチラインモード を有効にします:
タイプ: カスタム または マルチライン JSON を選択します。
カスタム: 生ログのフォーマットは固定されていません。各ログエントリの先頭行を識別するには、行先頭の正規表現 を設定する必要があります。
行先頭の正規表現:自動的に生成するか、手動で入力することができます。正規表現は、1 行のデータ全体に一致する必要があります。たとえば、上記の例では、一致する正規表現は
\[\d+-\d+-\w+:\d+:\d+,\d+]\s\[\w+]\s.*です。自動生成: [正規表現の自動生成] をクリックします。次に、ログサンプル テキストボックスで、抽出するログの内容を選択し、[正規表現の生成] をクリックします。
レガシーな Kubernetes 標準出力収集モードは、[ログサンプルの追加] および正規表現の自動生成機能をサポートしていません。正規表現をテストするには、テキストログタイプの Logstore を作成し、その Logstore で正規表現をテストしてから、正規表現を対象の Logstore の Logtail 構成に貼り付けます。
手動入力:[正規表現の手動入力] をクリックします。式を入力した後、[検証] をクリックします。
マルチライン JSON:すべての生ログが標準 JSON フォーマットの場合、Simple Log Service は単一の JSON ログに含まれる改行を自動的に処理します。
分割失敗の処理方法:
Discard: 行頭ルールに一致しないテキストセグメントは破棄されます。
単一行を保持: 一致しないテキストは分割され、元の単一行モードで保持されます。
シナリオ 2:構造化ロギング
NGINX アクセスログやアプリケーション出力ログなど、生ログが非構造化または半構造化テキストである場合、直接のクエリや分析は非効率的です。Simple Log Service は、さまざまなデータ解析プラグインを提供しており、異なるフォーマットの生ログを自動的に構造化データに変換できます。これにより、後続の分析、モニタリング、アラート機能のための強固な基盤が提供されます。
例:
未処理の生ログ | 構造化解析後のログ |
| |
手順: Logtail構成 ページの 設定の処理 エリアで
解析プラグインの追加: 処理プラグインの追加 をクリックし、実際のフォーマットに基づいて、正規表現解析、区切り文字解析、JSON 解析などのプラグインを設定します。この例では、NGINX ログ収集を使用します。 を選択します。
NGINX ログの設定:Nginx サーバー設定ファイル (nginx.conf) から完全な
log_format定義をコピーし、このテキストボックスに貼り付けてください。例:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$request_time $request_length ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent"';重要ここでのフォーマット定義は、サーバー上でログを生成するフォーマットと完全に一致している必要があります。一致しない場合、ログの解析は失敗します。
例:winston で生成された JSON 形式のログを収集する
winston はデフォルトで JSON 形式のログを出力します。これらは標準の JSON ログであるため、正規表現を書かずに直接 JSON 解析を使用できます。
サンプルログ:
{"level":"info","message":"User logged in","timestamp":"2026-01-01T00:00:00.000Z"}プロシージャ: Logtail構成 ページで、入力設定 エリアで、ファイルパス を
/var/log/nodejsに、ファイル名パターンをapp.logに設定します。次に、設定の処理 エリアで、処理プラグインの追加 をクリックし、ネイティブ処理プラグイン > JSON 解析 を選択します。[システム時間を使用] をオフにし、[時間キー] を
timestampに、[時間変換フォーマット] を%Y-%m-%dT%H:%M:%S.%fZに設定します。JSON 解析プラグインは、
timestamp、level、messageを個別のフィールドとして自動的に抽出します。userIdなどのカスタムフィールドも、追加の設定なしで解析されます。完全なパラメーターの詳細については、「付録:ネイティブ解析プラグインの説明」の標準 JSON 解析と時間解析をご参照ください。
例:pino で生成されたカスタムフォーマットのログを収集する
pino や同様のライブラリがカスタムのプレーンテキスト出力を生成するように設定されている場合、ログは標準の JSON ではないため、正規表現解析を使用し、キャプチャグループでフィールドを抽出します。
サンプルログ:
2026-01-01T00:00:00.000Z [INFO] User logged inプロシージャ: Logtail構成 ページの 入力設定 エリアで、ファイルパス を
/var/log/nodejsに、ファイル名パターンをpino.logに設定します。 次に、設定の処理 エリアで 処理プラグインの追加 をクリックし、ネイティブ処理プラグイン > 正規表現解析 を選択します。正規表現:
^(\S+) \[(\w+)\] (.*)$フィールド名 (キャプチャグループの順):
time、level、message。[時間キー] をtimeに設定します。完全なパラメーターの詳細については、「付録:ネイティブ解析プラグインの説明」の正規表現解析をご参照ください。
一般的な設定パラメーター: 以下のパラメーターは複数のデータ解析プラグインに表示され、その機能と使用法は一貫しています。
ソースフィールド:解析対象のソースフィールド名を指定します。デフォルトは
contentで、収集されたログエントリ全体です。解析失敗時にソースフィールドを保持:このオプションを有効にすることを推奨します。フォーマットの不一致などでログがプラグインによって正常に解析できない場合、このオプションにより元のログコンテンツが失われず、指定されたソースフィールドに完全に保持されます。
解析成功時にソースフィールドを保持:このオプションを選択すると、ログが正常に解析された場合でも元のログコンテンツが保持されます。
3. ログフィルタリング
ログ収集中に、DEBUG/INFO レベルのログなど、価値の低いまたは無関係なログを大量に無差別に収集すると、ストレージリソースを浪費し、コストを増加させるだけでなく、クエリ効率に影響を与え、データ侵害のリスクをもたらします。これに対処するために、効率的で安全なログ収集のために、詳細なフィルタリング戦略を実装できます。
コンテンツフィルタリングによるコスト削減
ログコンテンツのフィールドに基づいてフィルタリングできます。たとえば、レベルが WARNING または ERROR のログのみを収集するなどです。
例:
未処理の生ログ |
|
| |
手順: Logtail構成 ページの 設定の処理 エリアで
処理プラグインの追加 をクリックし、 を選択します:
Field Name: フィルター対象のログフィールドです。
フィールド値:フィルタリングに使用する正規表現です。完全一致のみに対応し、キーワードの部分一致には対応していません。
ブラックリストによる収集範囲の制御
ブラックリストを使用して指定したディレクトリやファイルを除外することで、無関係なログや機密性の高いログがアップロードされるのを防ぐことができます。
手順: Logtail構成 ページで、 エリアで、ブラックリストの収集 を有効にし、追加 をクリックします。
ディレクトリとファイル名の完全一致およびワイルドカード一致をサポートします。ワイルドカード文字はアスタリスク (*) と疑問符 (?) のみがサポートされています。
ファイルパスのブラックリスト:無視するファイルパス。例:
/home/admin/private*.log:/home/admin/ディレクトリ内の "private" で始まり ".log" で終わるすべてのファイルを無視します。/home/admin/private*/*_inner.log:/home/admin/ディレクトリ配下の "private" で始まるディレクトリ内の "_inner.log" で終わるファイルを無視します。
ファイルのブラックリスト:コレクション中に無視するファイル名です。例:
app_inner.log:app_inner.logという名前のすべてのファイルを無視します。
ディレクトリのブラックリスト: ディレクトリパスの末尾にフォワードスラッシュ (/) は使用できません。例:
/home/admin/dir1/:ディレクトリブラックリストは有効になりません。/home/admin/dir*:/home/admin/配下の "dir" で始まるすべてのサブディレクトリ内のファイルを無視します。/home/admin/*/dir:/home/admin/ディレクトリ配下の第 2 レベルにある "dir" という名前のサブディレクトリ内のすべてのファイルを無視します。たとえば、/home/admin/a/dirディレクトリ内のファイルは無視されますが、/home/admin/a/b/dirディレクトリ内のファイルは収集されます。
4. ログの分類
/apps/app-A/run.log や /apps/app-B/run.log のように、複数のアプリケーションやインスタンスが同じフォーマットで異なるパスを持つログを生成する場合、収集されたログのソースを区別するのは困難です。トピックを設定することで、異なるアプリケーション、サービス、またはパスからのログを論理的に区別できます。これにより、統一されたストレージ内で効率的な分類と正確なクエリが可能になります。
手順: で、トピックの生成方法を選択します。 次の 3 つのタイプがサポートされています。
マシングループトピック:収集設定が複数のマシングループに適用される場合、LoongCollector はサーバーのマシングループ名を
__topic__フィールドとして自動的に使用してアップロードします。これは、ホストごとにログを分類するシナリオに適しています。カスタム: フォーマットは
customized://<custom_topic_name>です。例:customized://app-login。これは、固定サービス識別子を持つ静的トピックシナリオに適しています。ファイルパス抽出:ログファイルの完全なパスからキー情報を抽出し、ログソースを動的にマークします。これは、複数のユーザーやアプリケーションが同じログファイル名を共有しているが、パスが異なる場合に適しています。複数のユーザーやサービスが異なるトップレベルディレクトリにログを書き込むが、サブパスとファイル名が同じ場合、ファイル名だけではソースを区別できません。例:
/data/logs ├── userA │ └── serviceA │ └── service.log ├── userB │ └── serviceA │ └── service.log └── userC └── serviceA └── service.logこの場合、ファイルパス抽出を設定し、正規表現を使用して完全なパスからキー情報を抽出できます。一致した結果は、トピックとして Logstore にアップロードされます。
ファイルパス抽出ルール:正規表現のキャプチャグループに基づく
正規表現を設定すると、システムはキャプチャグループの数と命名に基づいて出力フィールドのフォーマットを自動的に決定します。ルールは次のとおりです:
ファイルパスの正規表現では、スラッシュ (/) をエスケープする必要があります。
キャプチャグループの種類
シナリオ
生成されるフィールド
正規表現の例
一致するパスの例
生成されるフィールドの例
単一のキャプチャグループ (1 つの
(.*?)のみ)ソースを区別するために 1 つのディメンションのみが必要 (ユーザー名、環境など)
__topic__フィールドを生成\/logs\/(.*?)\/app\.log/logs/userA/app.log__topic__: userA複数の名前なしキャプチャグループ (複数の
(.*?))ソースを区別するために複数のディメンションが必要だが、意味的なタグは不要
タグフィールド
__tag__:__topic_{i}__を生成。{i}はキャプチャグループの序数\/logs\/(.*?)\/(.*?)\/app\.log/logs/userA/svcA/app.log__tag__:__topic_1__userA__tag__:__topic_2__svcA複数の名前付きキャプチャグループ (
(?P<name>.*?)を使用)ソースを区別するために複数のディメンションが必要で、クエリと分析を容易にするためにフィールドの意味を明確にしたい場合
タグフィールド
__tag__:{name}を生成\/logs\/(?P<user>.*?)\/(?P<service>.*?)\/app\.log/logs/userA/svcA/app.log__tag__:user:userA;__tag__:service:svcA
5. 出力設定
デフォルトでは、すべてのログが現在の Logstore に送信され、圧縮方法は lz4 です。同じソースからのログを異なる Logstore に配信するには、以下の設定を構成できます:
複数ターゲットへの動的配信
複数送信先への配信は、LoongCollector 3.0.0 以降でのみ利用可能です。Logtail はこの機能をサポートしていません。
最大 5 つの出力先を設定できます。
複数の出力先を設定した後、この収集設定は現在の Logstore の収集設定リストに表示されなくなります。複数送信先配信設定を表示、変更、または削除するには、「複数送信先配信設定を管理するにはどうすればよいですか?」をご参照ください。
手順: Logtail構成 ページの 出力設定 エリアで。
をクリックして出力設定を展開します。出力先の追加 をクリックし、以下の構成を完了します:
Logstores: 送信先の Logstore を選択します。
圧縮方法:lz4 と zstd をサポートします。
ルート設定:タグフィールドに基づいてログのルーティングと配信を行います。ルーティング構成に一致するログは、送信先 Logstore にアップロードされます。ルーティング構成が空の場合、収集されたすべてのログが送信先 Logstore にアップロードされます。
タグ名: ルーティングに使用されるタグフィールドの名前です。
__tag__:プレフィックスを付けずに、__path__のようにフィールド名を直接入力します。タグフィールドは、次の 2 つのカテゴリに分類されます。タグの詳細については、「LoongCollector 収集タグの管理」をご参照ください。
エージェント関連:これらのタグは収集エージェント自体に関連しており、プラグインに依存しません。例:
__hostname__、__user_defined_id__。入力プラグイン関連:これらのタグは入力プラグインに依存し、プラグインが関連情報でログをエンリッチします。例:ファイル収集用の
__path__、Kubernetes 収集用の_pod_name_および_container_name_。
タグ値:ログのタグフィールドの値がこの値と一致する場合、そのログは送信先の Logstore に送信されます。
このタグフィールドを破棄するかどうか: このオプションを有効にすると、アップロードされたログにはこのタグフィールドが含まれません。
ステップ 3:クエリと分析の設定
ログ処理とプラグインを設定した後、次へ をクリックして クエリと分析の設定 ページに移動します:
システムはデフォルトで フルテキストインデックス を有効にし、元のログコンテンツに対してキーワード検索を実行できます。
フィールドによる正確なクエリを実行するには、ページにプレビューデータが読み込まれるのを待ってから、自動インデックスの生成 をクリックします。 Simple Log Service は、プレビューデータの最初のエントリに基づいてフィールドインデックスを生成します。
構成が完了したら、次へ をクリックして収集設定を完了します。
ステップ 4:検証とトラブルシューティング
設定が完了したら、それをマシングループに適用して保存します。しばらく待ってから、以下のチェックリストを使用して設定を検証します。
検証チェックリスト
ログファイルに新しいコンテンツが追加されたことを確認する:LoongCollector は増分ログのみを収集します。
tail -f /path/to/your/log/fileを実行し、ビジネス操作をトリガーして、新しいログが書き込まれていることを確認します。LoongCollector のステータスを確認する:
sudo /etc/init.d/loongcollectord status。マシングループのハートビートの確認: ページに移動し、送信先マシングループの名前をクリックし、 エリアで、ハートビート ステータスを確認します。
ハートビートが OK の場合、マシングループは Simple Log Service プロジェクトに接続されています。
ハートビートが FAIL の場合は、「マシングループのハートビートが FAIL」をご参照のうえ、トラブルシューティングを行ってください。
ログのクエリ: 送信先 Logstore のクエリと分析ページに移動し、検索と分析 をクリックして (デフォルトの時間範囲は過去 15 分間)、新しいログが取り込まれているかどうかを確認します。
一般的な問題のトラブルシューティング
マシングループのハートビートが FAIL
ユーザー ID を確認する:サーバーの種類が ECS でない場合、または ECS インスタンスとプロジェクトが異なる Alibaba Cloud アカウントに属している場合は、指定されたディレクトリに正しいユーザー ID が存在するかどうかを確認します。存在しない場合は、以下のコマンドを実行して手動で作成します。
Linux:
cd /etc/ilogtail/users/ && touch <uid>コマンドを実行してユーザー ID ファイルを作成します。Windows:
C:\LogtailData\users\ディレクトリに移動し、<uid>という名前の空のファイルを作成します。
マシングループ ID を確認する:マシングループの作成時にカスタム ID を使用した場合は、指定されたディレクトリに
user_defined_idファイルが存在するかどうかを確認します。存在する場合は、ファイルの内容がマシングループに設定されたカスタム ID と一致しているかどうかを確認します。Linux:
# カスタム ID を設定します。ディレクトリが存在しない場合は、手動で作成します。 echo "user-defined-1" > /etc/ilogtail/user_defined_idWindows:
C:\LogtailDataディレクトリに、user_defined_idという名前の新しいファイルを作成し、カスタム ID を書き込みます。ディレクトリが存在しない場合は、手動で作成します。
ユーザー ID とマシングループ ID の両方が正しく設定されている場合は、「LoongCollector (Logtail) のマシングループの問題のトラブルシューティング」をご参照のうえ、さらなるトラブルシューティングを行ってください。
データが収集されない
増分ログの確認:LoongCollector (Logtail) を収集用に設定した後、収集対象のログファイルに新しいログが追加されない場合、LoongCollector (Logtail) はそのファイルを収集しません。
マシングループのハートビートステータスの確認: ページに移動し、送信先マシングループの名前をクリックし、 エリアで、ハートビート のステータスを確認します。
ハートビートが OK の場合、マシングループは Simple Log Service プロジェクトに接続されています。
ハートビートが FAIL の場合は、「マシングループのハートビートが FAIL」をご参照のうえ、トラブルシューティングを行ってください。
LoongCollector (Logtail) 収集設定がマシングループに適用されていることを確認する:LoongCollector (Logtail) 収集設定が作成されていても、マシングループに適用されていない場合、ログは収集できません。
ページに移動し、送信先のマシングループの名前をクリックして サーバグループ設定 ページに移動します。
ページで 設定 を表示します。左側には すべてのLogtail構成 が、右側には LogTail構成を適用 が表示されます。送信先の LoongCollector (Logtail) 収集設定が右側の適用済みエリアに移動されている場合、その構成が送信先のマシングループに正常に適用されたことを意味します。
送信先の LoongCollector (Logtail) 収集設定が右側の適用済みエリアに移動されていない場合は、変更 をクリックします。 左側の すべてのLogtail構成 リストで、送信先の LoongCollector (Logtail) 設定名を選択し、
をクリックしてそれを右側の適用済みエリアに移動してから、OK をクリックします。
ログ収集エラーまたはフォーマットエラー
トラブルシューティングのアプローチ:この状況は、ネットワーク接続と基本設定が正常であることを示しています。問題は主に、ログコンテンツと解析ルールの不一致です。問題の特定には、具体的なエラーメッセージを確認する必要があります:
Logtail構成 ページで、収集エラーがある LoongCollector (Logtail) 構成の名前をクリックします。(ログ収集エラー) タブで、コスト上の理由 をクリックしてクエリ時間を設定します。
エリアで、エラーログのアラームメトリックを表示し、「データ収集の一般的なエラータイプ」に基づいて対応するソリューションを見つけます。
クォータと制限
制限 | 制限事項 |
ログエントリサイズ | デフォルトの制限は 512 KB です。起動パラメーター max_read_buffer_size を使用して調整できますが、8 MB を超えることはできません。詳細については、「Logtail のネットワークタイプ、起動パラメーター、および設定ファイル」をご参照ください。 複数行ログが行頭正規表現によって分割された後も、各ログエントリのサイズ制限は 512 KB です。ログが 512 KB を超える場合、強制的に複数のエントリに分割されて収集されます。たとえば、単一のログエントリが 1025 KB の場合、最初の 512 KB が処理され、次に 512 KB、最後に 1 KB が処理されます。最終的な収集結果は、複数の不完全なログになります。 |
ファイルエンコーディング | UTF-8 または GBK エンコードのログファイルをサポートします。処理性能を向上させるために、UTF-8 エンコーディングを使用することを推奨します。 警告 ログファイルが他のエンコード形式の場合、文字化けやデータ損失などの問題が発生する可能性があります。 |
ログファイルのローテーション | ログローテーションキューのサイズはデフォルトで 20 です。起動パラメーター logreader_max_rotate_queue_size を使用して調整できます。詳細については、「Logtail のネットワークタイプ、起動パラメーター、および設定ファイル」をご参照ください。 収集パスを 重要 同じ Logtail インスタンスで 2 つの形式を混在させないでください。そうしないと、同じファイルが複数の Logtail 収集設定に一致し、重複収集につながる可能性があります。 未処理のファイルが 20 を超える場合、新しく生成されたログは失われます。このような場合は、まず Logstore のシャード書き込みクォータを超えていないか確認し、Logtail の同時実行数を調整してください。詳細については、「Logtail のネットワークタイプ、起動パラメーター、および設定ファイル」をご参照ください。 |
ログ解析がブロックされた場合の収集動作 | ログ解析がブロックされた場合、Logtail はそのログファイルのファイルディスクリプタを開いたままにして、ブロック中にファイルが削除されてデータが失われるのを防ぎます。 解析ブロック中に複数のログファイルローテーションが発生した場合、Logtail はファイルをローテーションキューに配置します。 |
正規表現 | Perl 互換正規表現 (PCRE) をサポートします。 |
JSON | 標準 JSON (RFC7159, ECMA-404) を完全にサポートします。 |
ファイルオープン動作 | Logtail は、収集されたファイルとローテーションキュー内のファイルを開いたままにして、データの整合性を確保します。ファイルは以下の状況で閉じられます:
ファイルが完全に収集されたかどうか、またはログがまだ書き込まれているかどうかに関係なく、ファイルが削除された後、制御可能な時間内にファイルハンドルを解放したい場合は、起動パラメーター force_release_deleted_file_fd_timeout を使用してタイムアウトを設定できます。詳細については、「Logtail のネットワークタイプ、起動パラメーター、および設定ファイル」をご参照ください。 |
初期ログ収集動作 | Logtail は増分ログファイルのみを収集します。ファイルが最初に変更されたことが検出されたとき、ファイルサイズが 1 MB (コンテナ標準出力の場合は 512 KB) を超える場合、収集は最後の 1 MB から開始されます。それ以外の場合は、ファイルの先頭から開始されます。 Logtail 収集設定の tail_size_kb パラメーターを使用して、新しいファイルの初期収集サイズを調整できます。詳細については、「Logtail 構成 (レガシー)」をご参照ください。 Logtail 収集設定が適用された後、ログファイルが変更されない場合、Logtail はファイルを収集しません。既存ファイルを収集するには、「既存ログファイルのインポート」をご参照ください。 |
ファイルが上書きされたときの動作 | Logtail は、inode とファイルの最初の 1,024 バイトのハッシュを使用してファイルを識別します。ファイルが上書きされ、inode または最初の 1,024 バイトのハッシュのいずれかが変更された場合、ファイルは新しいファイルとして扱われ、最初から収集されます。それ以外の場合は、収集されません。 |
ファイルが移動されたときの動作 | ファイルが移動され、このファイルにこれまで一致したことのない Logtail 収集設定に一致する場合、移動されたファイルは新しいファイルとして扱われ、最初から収集されます。それ以外の場合は、収集されません。 |
ファイル収集履歴 | Logtail は、ファイル収集の履歴進捗をメモリに保持し、ファイルが変更された後に増分部分のみが収集されるようにします。保持範囲外のログに書き込みが発生した場合、重複収集が発生する可能性があります。
|
非標準テキストログ | ログの行に |
課金
LoongCollector または Logtail のインストールは無料です。
ログの書き込み、ストレージ、インデックス、クエリ、変換、配信には、Logstore の課金方法に基づいて料金が発生します。
インストールまたは設定中に Global Accelerator 機能を使用する場合、アクセラレーションネットワークを介して送信されるデータに対して追加のトラフィック料金が発生します。
よくある質問
複数送信先配信設定を管理するにはどうすればよいですか?
複数送信先配信設定は複数の Logstore に関連付けられているため、これらの設定はプロジェクトレベルの管理ページを通じて維持する必要があります:
Simple Log Service コンソールにログインし、対象のプロジェクト名をクリックします。
左側のナビゲーションウィンドウで、
をクリックします。説明このページでは、誤って Logstore が削除された後に残ったものを含め、プロジェクト配下のすべての収集設定を一元管理します。
ECS サーバーから別の Alibaba Cloud アカウントのプロジェクトにログを送信するにはどうすればよいですか?
まだ LoongCollector をインストールしていない場合は、「データコレクターのインストール」をご参照のうえ、適切なクロスアカウントシナリオを選択してインストールしてください。
すでに LoongCollector をインストールしている場合は、以下のようにユーザー ID を設定します。この ID は、このサーバーが Simple Log Service プロジェクトが属するアカウントによってアクセスされ、そのログが収集される権限を持つことを示すために使用されます。
アカウント外の ECS インスタンス、自己管理データセンター、または他のクラウドプロバイダーのサーバーからログを収集する場合にのみ、ユーザー ID を設定する必要があります。
Simple Log Service が属する Alibaba Cloud アカウントの ID をコピーします:右上のプロフィール画像にマウスを合わせ、ポップアップタブからアカウント ID を表示してコピーします。
ログを収集したいサーバーにログインし、Alibaba Cloud アカウント ID ファイルを作成してユーザー ID を設定します:
touch /etc/ilogtail/users/{Alibaba Cloud アカウント ID} # /etc/ilogtail/users ディレクトリが存在しない場合は、手動で作成してください。ユーザー ID 設定ファイルはファイル名のみが必要で、ファイル拡張子は不要です。
ECS サーバーから同じアカウントの別リージョンのプロジェクトにログを送信するにはどうすればよいですか?
まだ LoongCollector をインストールしていない場合は、「データコレクターのインストール」をご参照のうえ、適切なクロスリージョンシナリオを選択してインストールしてください。
すでに LoongCollector をインストールしている場合は、LoongCollector の設定を変更する必要があります。
sudo /etc/init.d/ilogtaild stopコマンドを実行して LoongCollector を停止します。LoongCollector の起動設定ファイル
ilogtail_config.jsonを変更します。ネットワーク要件に応じて、以下の 2 つの方法のいずれかを選択して変更します:設定ファイルパス:
/usr/local/ilogtail/ilogtail_config.json方法 1:パブリックネットワーク転送を使用する
「RegionID」をご参照のうえ、設定ファイル内のリージョンを Simple Log Service が配置されているリージョンに置き換えます。変更するフィールドは以下のとおりです:
primary_regionconfig_serversのリージョン部分data_servers内のregionとendpoint_listのリージョン部分
方法 2:転送アクセラレーションを使用する
data_server_list パラメーターのエンドポイント行を
log-global.aliyuncs.comに置き換えます。ファイルパスについては、「Logtail のネットワークタイプ、起動パラメーター、および設定ファイル」をご参照ください。
sudo /etc/init.d/ilogtaild startコマンドを実行して LoongCollector を起動します。
サーバーを既存のマシングループに追加するにはどうすればよいですか?
設定済みのマシングループがあり、新しくデプロイした ECS インスタンスや自己管理サーバーなどの新しいサーバーをそのグループに追加して収集設定を継承させたい場合は、以下の手順で追加できます。
前提条件:
設定済みのマシングループがすでに存在する。
新しいサーバーに LoongCollector がインストールされている。
操作手順:
対象のマシングループ ID を表示します:
送信先プロジェクトページの左側にあるナビゲーションウィンドウで、
をクリックします。マシングループページで、対象のマシングループの名前をクリックします。
マシングループ設定ページで、マシングループ ID を表示します。
ID の種類に応じて、対応する操作を実行します:
説明1 つのマシングループに Linux サーバーと Windows サーバーの両方を含めることはできません。Linux サーバーと Windows サーバーの両方に同じカスタム ID を設定しないでください。1 台のサーバーには、改行で区切って複数のカスタム ID を設定できます。
タイプ 1:マシングループ ID が IP アドレスの場合
サーバーで、以下のコマンドを実行して
app_info.jsonファイルを開き、ipの値を確認します。cat /usr/local/ilogtail/app_info.json送信先マシングループ設定ページで、変更 をクリックし、サーバーの IP アドレスを入力します。複数の IP アドレスは改行で区切ります。
構成が完了したら、OK をクリックし、ハートビートのステータスを確認します。 ハートビートが OK になると、サーバーはマシングループの収集設定を自動的に適用します。
ハートビートステータスが FAIL の場合は、「マシングループのハートビートが FAIL」をご参照のうえ、さらなるトラブルシューティングを行ってください。
タイプ 2:マシングループ ID がカスタム ID の場合
オペレーティングシステムに応じて、対象のマシングループと一致するカスタム ID 文字列を指定されたファイルに書き込みます:
ディレクトリが存在しない場合は、手動で作成してください。ファイルパスと名前は Simple Log Service によって固定されており、カスタマイズできません。
Linux:カスタム文字列を
/etc/ilogtail/user_defined_idファイルに書き込みます。Windows:カスタム文字列を
C:\LogtailData\user_defined_idに書き込みます。
別のプロジェクトから収集設定をインポートするにはどうすればよいですか?
「事前準備」と「マシングループの設定」を完了した後、既存のプロジェクトから現在の Logstore に収集設定を迅速にインポートして、繰り返しの設定を避け、効率を向上させることができます。
操作手順:
マシングループを設定した後、次へ をクリックして Logtail構成 ページに移動します。
ページの右上隅で、他の設定のインポート をクリックします。
インポート元のプロジェクトと、そのプロジェクト配下の収集設定を選択します。
OK をクリックします。システムが選択した構成を自動的にロードします。
インポートされた設定情報が正しいことを確認した後、[次へ] をクリックして「クエリと分析の設定」ページに移動し、後続の設定を完了します。
マシングループ ID として使用するサーバーの IP アドレスを取得するにはどうすればよいですか?
LoongCollector (Logtail) がインストールされているサーバーで、/usr/local/ilogtail/app_info.json ファイルを開き、ip の値を確認します。
Logtail によって自動的に取得されたサーバー IP アドレスは、app_info.json ファイルの ip フィールドに記録されます。以下に例を示します。
# cat /usr/local/ilogtail/app_info.json
{
"UUID" : "xxx",
"compiler" : "GCC 9.3.1",
"hostname" : "iZ2zexxx",
"instance_id" : "xxx_172.26.128.15_1730267282",
"ip" : "172.26.128.15",
"logtail_version" : "1.8.7",
"os" : "Linux; 5.10.134-17.2.al8.x86_64; #1 SMP Fri Aug 9 15:49:42 CST 2024; x86_64",
"update_time" : "2024-10-30 13:48:02"
}複数のサーバーがある場合は、対応する IP アドレスを手動で入力します。IP アドレスは改行で区切る必要があります。
単一のマシングループには、Linux サーバーと Windows サーバーの両方を含めることはできません。同じ マシングループ に、Linux サーバーと Windows サーバーの両方の IP アドレスを追加しないでください。
同じログファイルを複数の設定で同時に収集するにはどうすればよいですか?
デフォルトでは、データの重複を避けるため、Simple Log Service はテキストログファイルが 1 つの Logtail 構成によってのみ収集されるように制限しています。同じログファイルを複数の構成で同時に収集できるようにするには、ファイルが複数回収集されることを許可する機能を手動で有効にする必要があります。
操作手順:
複数コピーを収集する場合、ファイルの読み取り IO、コンピューティングリソース、およびネットワーク IO は線形に増加します。
Simple Log Service コンソールにログインし、対象のプロジェクトに移動します。
左側のナビゲーションウィンドウで、
[Logstores] を選択し、対象の Logstore を見つけます。その名前の左側にある
をクリックして Logstore を展開します。Logtail構成 をクリックします。構成リストで、目的の Logtail 構成を見つけ、「操作」列の Logtail 設定の管理 をクリックします。
Logtail 構成ページで、編集をクリックします:
で、ファイルを複数回収集できるようにする を有効にします。
構成が完了したら、OK をクリックします。
最後のログエントリが長い遅延の後に報告されるのはなぜですか?なぜ時々切り捨てられるのですか?
原因分析:ログの切り捨ては通常、ログファイルの末尾に改行がない場合や、例外スタックなどの複数行ログが完全に書き込まれていない場合に発生します。データコレクターはログが終了したかどうかを判断できないため、コンテンツの最後の部分が時期尚早に分割されたり、遅れて報告されたりすることがあります。LoongCollector (Logtail) のバージョンによって処理メカニズムが異なります:
1.8 より前のバージョン:
ログの最後の行に改行 (キャリッジリターン) がない場合、または複数行のログセグメントが終了していない場合、データコレクターは次の書き込みが出力をトリガーするのを待ちます。これにより、最後のログエントリが長時間送信されずに保持され、新しいログが書き込まれるまで待機することがあります。バージョン 1.8 以降:
ログがスタックするのを防ぐために、タイムアウトリフレッシュメカニズムが導入されました。未完了のログ行が検出されると、システムはタイマーを開始します。タイムアウト後、現在のコンテンツが自動的に送信され、ログが最終的に収集されることが保証されます。デフォルトのタイムアウト:60 秒 (ほとんどのシナリオで整合性を保証)
必要に応じてこの値を調整できますが、0 に設定することは推奨しません。ログの切り捨てや一部のコンテンツの損失を引き起こす可能性があるためです。
ソリューション:
待機時間を適切に延長して、収集される前に完全なログが書き込まれるようにすることができます:
Simple Log Service コンソールにログインし、対象のプロジェクトに移動します。
左側のナビゲーションウィンドウで、
[Logstores] を選択し、対象の Logstore を見つけます。その名前の左側にある
をクリックして Logstore を展開します。Logtail構成 をクリックします。構成リストで、送信先の Logtail 構成を見つけ、操作列の Logtail 設定の管理 をクリックします。
Logtail 構成ページで、編集をクリックします:
で、次の JSON 構成を追加してタイムアウト期間をカスタマイズします。
{ "FlushTimeoutSecs": 1 }デフォルト値:起動パラメーター
default_reader_flush_timeoutによって決定されます (通常は数秒)。単位:秒。
推奨値:≥1 秒。0 に設定することは推奨しません。ログの切り捨てや一部のコンテンツの損失を引き起こす可能性があるためです。
構成が完了したら、OKをクリックします。
LoongCollector (Logtail) が動作中に内部エンドポイントからパブリックエンドポイントに切り替わるのはなぜですか?自動的に元に戻りますか?
動作中、LoongCollector (Logtail) が内部エンドポイントとの通信に異常 (ネットワーク障害や接続タイムアウトなど) を検出した場合、システムは自動的にパブリックエンドポイントに切り替えてデータ転送を行い、ログ収集の継続性と信頼性を確保し、ログのバックログや損失を回避します。
LoongCollector:回復後、自動的に内部ネットワークに戻ります。
Logtail:自動的には戻りません。内部ネットワーク通信を再開するには、手動で再起動する必要があります。
付録:ネイティブ解析プラグインの説明
Logtail構成 ページの 設定の処理 エリアで、処理プラグインを追加して生ログを構造化できます。既存の収集設定に処理プラグインを追加するには、以下の手順に従います。
左側のナビゲーションウィンドウで、
[Logstores] を選択し、対象の Logstore を見つけます。その名前の左側にある
をクリックして Logstore を展開します。Logtail構成 をクリックします。 構成リストで、送信先の Logtail 構成を見つけ、操作列の Logtail 設定の管理 をクリックします。
Logtail 構成ページで、編集 をクリックします。
このセクションでは、一般的なログ処理シナリオをカバーする、よく使用される処理プラグインのみを紹介します。その他の機能については、「拡張処理プラグイン」をご参照ください。
プラグインの組み合わせルール (LoongCollector / Logtail 2.0 以降に適用):
ネイティブおよび拡張処理プラグインは、必要に応じて独立して、または組み合わせて使用できます。
ネイティブ処理プラグインは、パフォーマンスと安定性が高いため、最初に使うことを推奨します。
ネイティブ機能がビジネス要件を満たせない場合は、設定済みのネイティブプラグインの後に拡張処理プラグインを追加して、補足的な処理を実行できます。
順序の制約:
すべてのプラグインは、設定された順序で順次実行され、処理チェーンを形成します。注意:すべてのネイティブ処理プラグインは、どの拡張処理プラグインよりも前に配置する必要があります。拡張処理プラグインを追加した後は、ネイティブ処理プラグインを追加することはできません。
正規表現解析
正規表現を使用してログフィールドを抽出し、ログをキーと値のペアに解析します。各フィールドは個別にクエリおよび分析できます。
例:
未処理の生ログ | 正規表現解析プラグインの使用 |
| |
手順: Logtail構成 ページの 設定の処理 エリアで、処理プラグインの追加 をクリックし、 を選択します:
正規表現: ログのマッチングに使用します。自動生成するか、手動で入力できます:
自動生成:
[正規表現の自動生成] をクリックします。
ログサンプル で、抽出するログの内容を選択します。
[正規表現の生成] をクリックします。
手動入力:ログ形式に基づいて [正規表現の手動入力] を行います。
設定が完了したら、[検証] をクリックして、正規表現がログコンテンツを正しく解析できるかテストします。
ログ抽出フィールド: 抽出されたログ内容 (Value) に対応するフィールド名 (Key) を設定します。
その他のパラメーターについては、「シナリオ 2:構造化ロギング」の一般的な設定パラメーターの説明をご参照ください。
区切り文字解析
区切り文字を使用してログコンテンツを構造化し、複数のキーと値のペアに解析します。単一文字および複数文字の区切り文字をサポートします。
例:
未処理の生ログ | 指定された文字 |
| |
手順: Logtail構成 ページの 設定の処理 エリアで、処理プラグインの追加 をクリックし、 を選択します:
区切りモード: ログの内容を分割するために使用する文字を指定します。
例:CSV ファイルの場合、カスタム を選択し、コンマ (,) を入力します。
引用符: フィールド値に区切り文字が含まれている場合、誤って分割されないように、引用符でフィールドを囲む必要があります。
ログ抽出フィールド: 分割順に、各列に対応するフィールド名 (キー) を設定します。ルールは次のとおりです。
フィールド名は、文字、数字、アンダースコア (_) のみを含めることができます。
文字またはアンダースコア (_) で始まる必要があります。
最大長:128 バイト。
その他のパラメーターについては、「シナリオ 2:構造化ロギング」の一般的な設定パラメーターの説明をご参照ください。
標準 JSON 解析
オブジェクトタイプの JSON ログを構造化し、キーと値のペアに解析します。
例:
未処理の生ログ | 標準 JSON のキーと値の自動抽出 |
| |
手順:Logtail構成 ページで、設定の処理 エリアの 処理プラグインの追加 をクリックし、 を選択します:
元のフィールド: デフォルト値は content です。このフィールドは、解析対象の生ログの内容を格納するために使用されます。
その他のパラメーターについては、「シナリオ 2:構造化ロギング」の一般的な設定パラメーターの説明をご参照ください。
ネストされた JSON 解析
展開深度を指定して、ネストされた JSON ログをキーと値のペアに解析します。
例:
未処理の生ログ | 展開深度:0、展開深度をプレフィックスとして使用 | 展開深度:1、展開深度をプレフィックスとして使用 |
| | |
手順: Logtail構成 ページの 設定の処理 エリアで、処理プラグインの追加 をクリックし、を選択します:
元のフィールド: 展開するソースフィールドの名前。たとえば、
content。JSON 拡張度: JSON オブジェクトの展開レベルです。0 は完全展開 (デフォルト) 、1 は現在のレベルを表し、以降も同様です。
JSON 拡張連結文字:JSON 展開時のフィールド名の区切り文字です。デフォルトはアンダースコア (_) です。
JSON のフィールドプレフィックス拡張: JSON 展開後のフィールド名のプレフィックスを指定します。
配列を展開する: これを有効にすると、配列がインデックス付きのキーと値のペアに展開されます。
例:
{"k":["a","b"]}は{"k[0]":"a","k[1]":"b"}に展開されます。たとえば、展開されたフィールドの名前を prefix_s_key_k1 から new_field_name に変更するには、後で フィールドの名前変更 プラグインを追加してマッピングを完了できます。
その他のパラメーターについては、「シナリオ 2:構造化ロギング」の一般的な設定パラメーターの説明をご参照ください。
JSON 配列解析
json_extract 関数を使用して、JSON 配列から JSON オブジェクトを抽出します。
例:
未処理の生ログ | JSON 配列構造の抽出 |
| |
手順: Logtail構成 ページの 設定の処理 エリアで、処理モード を SPL に切り替え、[SPL ステートメント] を設定し、json_extract 関数を使用して JSON 配列から JSON オブジェクトを抽出します。
例:ログフィールド content の JSON 配列から要素を抽出し、結果を新しいフィールド json1 および json2 に保存します。
* | extend json1 = json_extract(content, '$[0]'), json2 = json_extract(content, '$[1]')Apache ログ解析
Apache ログ設定ファイルの定義に基づいてログコンテンツを構造化し、複数のキーと値のペアに解析します。
例:
未処理の生ログ | Apache 共通ログ形式 |
| |
手順: Logtail構成 ページで、設定の処理 エリアで、処理プラグインの追加 をクリックし、 を選択します。
ログ形式: combined.
APACHE 設定フィールド:システムは、ログ形式 に基づいて構成を自動的に入力します。
重要自動入力されたコンテンツが、サーバーの Apache 設定ファイル (通常は /etc/apache2/apache2.conf にあります) で定義されている LogFormat と完全に同じであることを必ず確認してください。
その他のパラメーターについては、「シナリオ 2:構造化ロギング」の一般的な設定パラメーターの説明をご参照ください。
IIS ログ解析
IIS ログフォーマット定義に基づいてログコンテンツを構造化し、複数のキーと値のペアに解析します。
比較例:
生ログ | Microsoft IIS サーバー固有のフォーマット適応 |
| |
手順: Logtail構成 ページの 設定の処理 エリアで、処理プラグインの追加 をクリックし、 を選択します:
ログ形式: IIS サーバーログで使用されるログフォーマットを選択します。
IIS:IIS ログファイル形式。
NCSA:NCSA 共通ログ形式。
W3C:W3C 拡張ログファイル形式。
IIS 設定フィールド: IIS または NCSA を選択すると、Simple Log Service によって IIS 設定フィールドがデフォルトで設定されます。 W3C を選択した場合は、IIS 設定ファイル内の
logExtFileFlagsパラメーターの内容に設定してください。 例:logExtFileFlags="Date, Time, ClientIP, UserName, SiteName, ComputerName, ServerIP, Method, UriStem, UriQuery, HttpStatus, Win32Status, BytesSent, BytesRecv, TimeTaken, ServerPort, UserAgent, Cookie, Referer, ProtocolVersion, Host, HttpSubStatus"
その他のパラメーターについては、「シナリオ 2:構造化ロギング」の一般的な設定パラメーターの説明をご参照ください。
データマスキング
ログ内の機密データをマスキングします。
例:
未処理の生ログ | マスキング結果 |
| |
手順: Logtail構成 ページの 設定の処理 エリアで、処理プラグインの追加 をクリックし、 を選択します:
時間解析
ログ内の時間フィールドを解析し、解析結果をログの __time__ フィールドとして設定します。
例:
未処理の生ログ | 時間解析 |
| SLS ログ詳細ビューでは、JSON ログが正しく構造化フィールドに解析されます。各フィールド ( |
手順: Logtail構成 ページの 設定の処理 エリアで、処理プラグインの追加 をクリックし、 を選択します:
元のフィールド:解析前のログの内容を含むソースフィールドです。
時間形式: ログの時間内容に合わせて設定します。
タイムゾーン: ログ時間フィールドのタイムゾーンを選択します。デフォルトでは、LoongCollector (Logtail) プロセスが実行されている環境のタイムゾーンであるマシンタイムゾーンが使用されます。
付録:アクセスポリシーリファレンス
Alibaba Cloud アカウントでのログイン:Alibaba Cloud アカウントはデフォルトですべての権限を持ち、直接操作を実行できます。
RAM ユーザーでのログイン:Alibaba Cloud アカウントが対応するアクセスポリシーを付与する必要があります。
カスタム権限ポリシー (詳細な制御)
システムポリシーが最小権限の原則を満たせない場合、カスタム権限ポリシーを作成することで、詳細な権限付与を実現できます。以下は、これらの権限を含むアクセスポリシーの例です:
プロジェクトの表示:プロジェクトリストと指定されたプロジェクトの詳細を表示します。
Logstore の管理:プロジェクト配下に新しい Logstore を作成したり、既存の Logstore を変更または削除したりします。
収集設定の管理:収集設定を作成、削除、変更します。
ログの表示:指定されたプロジェクト配下の指定された Logstore 内のデータをクエリおよび分析します。
${regionName}、${uid}、${projectName}、および${logstoreName}を、実際のリージョン名、Alibaba Cloud アカウント ID、対象プロジェクト、および Logstore に置き換えてください。
権限 | 対応する操作 | リソース |
読み取り専用プロジェクト |
|
|
指定されたプロジェクトの取得 |
|
|
Logstore の管理 |
|
|
LoongCollector (Logtail) データインジェストの管理 |
|
|
クイック検索のクエリ |
|
|
ダッシュボードのクエリ |
|
|
指定された Logstore 内のログのクエリ |
|
|
ECS を操作する権限 |
|
|
OOS を操作する権限 (任意) Simple Log Service および ECS インスタンスと同じアカウントおよびリージョンで OOS を介して LoongCollector (Logtail) を自動的にインストールする場合にのみ必要です。 |
|
|
システムポリシー
事前定義されたシステムポリシーを使用する場合は、以下の権限を付与することを推奨します:
AliyunLogFullAccess:Simple Log Service を管理する権限。AliyunECSFullAccess:ECS を管理する権限。(任意)
AliyunOOSFullAccess:OOS を使用してワンクリックで LoongCollector (Logtail) をインストールする場合に必要です。