すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:サーバーからのテキストログの収集

最終更新日:Nov 19, 2024

このトピックでは、Logtailを使用してサーバーからテキストログを収集する方法について説明します。

前提条件

  • マシングループが作成され、マシングループにサーバーが追加されました。 カスタム識別子ベースのマシングループを作成することを推奨します。 詳細については、「カスタム識別子ベースのマシングループの作成」または「IPアドレスベースのマシングループの作成」をご参照ください。

  • アウトバウンドトラフィックのポート80 (HTTP) と443 (HTTPS) は、Logtailがインストールされているサーバーで有効になっています。 サーバーがElastic Computing Service (ECS) インスタンスの場合、関連するセキュリティグループルールを再設定してポートを有効にすることができます。 セキュリティグループルールの設定方法の詳細については、「セキュリティグループルールの追加」をご参照ください。

  • ログを収集するサーバーは、継続的にログを生成します。 Logtailは増分ログのみを収集します。 Logtail構成がサーバーに配信されて適用された後にサーバー上のログファイルが更新されない場合、Logtailはファイルからログを収集しません。 詳細については、「ログファイルの読み取り」をご参照ください。

手順

  1. Simple Log Serviceコンソールにログインします。

  2. [データのインポート] セクションで、[テキストログ] で検索し、表示されているカードの1つをクリックします。 この例では、複数行テキストログをクリックします。

    image

  3. Logstoreの選択ステップで、プロジェクトとLogstoreを選択し、[次へ] をクリックします。

    image

  4. マシングループの設定ステップで、マシングループを設定します。

    1. ビジネス要件に基づいて、シナリオとインストール環境のパラメーターを設定します。

      重要

      マシングループが使用可能かどうかに関係なく、シナリオパラメーターとインストール環境パラメーターを設定する必要があります。 パラメーター設定は、以降の設定に影響します。

    2. [応用サーバーグループ] セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。

      マシングループ利用可能

      [ソースマシングループ] セクションからマシングループを選択します。

      image

      マシングループがありません

      [マシングループの作成] をクリックします。 マシングループの作成パネルで、パラメーターを設定します。 マシングループ識別子パラメーターをIPアドレスまたはカスタム識別子に設定できます。 詳細については、「カスタム識別子ベースのマシングループの作成」または「IPアドレスベースのマシングループの作成」をご参照ください。

      重要

      マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスがFAILになる可能性があります。 この問題は、マシングループがSimple Log Serviceに接続されていないために発生します。 この問題を解決するには、[再試行] をクリックします。 問題が解決しない場合は、Logtailでハートビート接続が検出されない場合はどうすればよいですか?

  5. Logtail設定を作成し、[次へ] をクリックします。 Logtail設定を有効にするには、最大3分かかります。

    • グローバル設定

      パラメーター

      説明

      設定名

      Logtail設定の名前を入力します。 名前はプロジェクト内で一意である必要があります。 Logtail設定を作成した後、その名前を変更することはできません。

      ログトピックの種類

      ログトピックを生成する方法を選択します。 詳細については、「ログトピック」をご参照ください。

      • マシングループトピック: マシングループのトピックがログトピックとして使用されます。 異なるマシングループのログを区別する場合は、このオプションを選択します。

      • ファイルパスの抽出: カスタム正規表現を指定する必要があります。 正規表現に一致するファイルパスの一部がログトピックとして使用されます。 異なるソースのログを区別する場合は、このオプションを選択します。

      • カスタム: カスタムログトピックを指定する必要があります。

      高度なパラメータ

      必要に応じて、 グローバル設定に関連する詳細パラメーターを設定します。 詳細については、「CreateLogtailPipelineConfig」をご参照ください。

    • 入力設定

      パラメーター

      説明

      ファイルパス

      ECSインスタンスなど、サーバー上のログの場所に基づいて、ログファイルのディレクトリと名前を指定します。

      • Linuxオペレーティングシステムでファイルパスを指定する場合、パスはスラッシュ (/) で始まる必要があります。 例: /apsara/nuwa/**/app.Log

      • Windowsオペレーティングシステムでファイルパスを指定する場合、パスはドライブ文字で始まる必要があります。 例: C:\Program Files\Intel\**\*.Log

      正確なディレクトリと正確な名前を指定できます。 ワイルドカード文字を使用して、ディレクトリと名前を指定することもできます。 詳細については、「ワイルドカードの一致」をご参照ください。 このパラメーターを設定すると、アスタリスク (*) または疑問符 (?) のみをワイルドカード文字として使用できます。

      Simple Log Serviceは、指定されたディレクトリのすべてのレベルをスキャンして、指定された条件に一致するログファイルを見つけます。 例:

      • /apsara/nuwa/**/*.logを指定した場合、Simple Log Serviceは、名前の接尾辞が /apsara/nuwaディレクトリとディレクトリの再帰サブディレクトリにログインします。

      • を指定した場合/var/logs/app_*/**/*.logSimple Log Serviceは、次の条件を満たすログファイルからログを収集します。. ログ. ファイルは、/var/logsディレクトリのサブディレクトリまたはサブディレクトリの再帰サブディレクトリに格納されます。 サブディレクトリの名前は、app_* パターンと一致します。

      • /var/log/nginx/**/access * を指定した場合、Simple Log Serviceは、名前が /var/log/nginxディレクトリのaccessで始まるログファイルと、ディレクトリの再帰的なサブディレクトリからログを収集します。

      監視ディレクトリの最大深度

      監視するサブディレクトリのレベルの最大数を指定します。 サブディレクトリは、指定したログファイルディレクトリにあります。 このパラメーターは、ファイルパスの値に含まれる **ワイルドカード文字と一致するサブディレクトリのレベルを指定します。 値が0の場合は, 指定したログファイルディレクトリのみを監視することを示します。

      ファイルのエンコード

      ログファイルのエンコード形式を選択します。

      最初のコレクションのサイズ

      Logtailがファイルからログを最初に収集するときに、Logtailがログファイルから収集できるデータのサイズを指定します。 First Collection Sizeのデフォルト値は1024です。 (単位:KB)

      • ファイルサイズが1,024 KB未満の場合、Logtailはファイルの先頭からデータを収集します。

      • ファイルサイズが1,024 KBを超える場合、Logtailはファイル内の最後の1,024 KBのデータを収集します。

      ビジネス要件に基づいて最初のコレクションサイズを設定できます。 有効な値: 0 ~ 10485760 (単位:KB)

      コレクションブラックリスト

      [コレクションブラックリスト] をオンにする場合、ブラックリストを設定して、Simple Log Serviceがログを収集するときにスキップするディレクトリまたはファイルを指定する必要があります。 正確なディレクトリとファイル名を指定できます。 ワイルドカード文字を使用して、ディレクトリとファイル名を指定することもできます。 このパラメーターを設定すると、アスタリスク (*) または疑問符 (?) のみをワイルドカード文字として使用できます。

      重要
      • ワイルドカード文字を使用して [ファイルパス] の値を指定し、指定したディレクトリ内の一部のサブディレクトリをスキップする場合は、[コレクションブラックリスト] を設定してサブディレクトリを指定する必要があります。 完全なサブディレクトリを指定する必要があります。

        たとえば、[ファイルパス]/home/admin/app */log/*.logに設定し、/home/admin/app1 * ディレクトリ内のすべてのサブディレクトリをスキップする場合は、[ディレクトリブラックリスト] を選択し、[ディレクトリ名] フィールドに /home/admin/app1 */** と入力する必要があります。 /home/admin/app1 * と入力した場合、ブラックリストは有効になりません。

      • ブラックリストが使用されているとき、計算オーバーヘッドが生成される。 ブラックリストに追加するエントリは10個以下にすることを推奨します。

      • スラッシュ (/) で終わるディレクトリは指定できません。 たとえば、ディレクトリブラックリストで /home/admin/dir1/ ディレクトリを指定した場合、ディレクトリブラックリストは有効になりません。

      次の種類のブラックリストがサポートされています: ファイルパスブラックリスト、ファイルブラックリスト、およびディレクトリブラックリスト。

      ファイルパスブラックリスト

      • [File Path Blacklist] を選択し、[File Path Name] フィールドに /home/admin/private *.logと入力すると、名前の接頭辞がprivate、接尾辞がであるすべてのファイルが表示されます。/home/admin/ ディレクトリへのログインはスキップされます。

      • [File Path Blacklist] を選択し、[File Path Name] フィールドに /home/admin/private */*_inner.logと入力した場合、/home/admin/ ディレクトリのプレフィックスがprivateであるサブディレクトリの_inner.logで名前がサフィックスされているファイルはすべてスキップされます。 たとえば、/home/admin/private/app_inner.logファイルはスキップされますが、/home/admin/private/app.logファイルはスキップされません。

      ファイルブラックリスト

      [File Blacklist] を選択し、[File Name] フィールドにapp_inner.logと入力すると、名前がapp_inner.logであるすべてのファイルがスキップされます。

      ディレクトリブラックリスト

      • [Directory Blacklist] を選択し、[Directory Name] フィールドに /home/admin/dir1と入力すると、/home/admin/dir1ディレクトリ内のすべてのファイルがスキップされます。

      • [Directory Blacklist] を選択し、[Directory Name] フィールドに /home/admin/dir * と入力した場合、/home/admin/ ディレクトリの名前の先頭にdirが付いているサブディレクトリ内のすべてのファイルがスキップされます。

      • [Directory Blacklist] を選択し、[Directory Name] フィールドに /home/admin/*/dirと入力した場合、/home/admin/ ディレクトリの各第2レベルのサブディレクトリのdirサブディレクトリにあるすべてのファイルがスキップされます。 たとえば、/home/admin/a/dirディレクトリのファイルはスキップされますが、/home/admin/a/b/dirディレクトリのファイルはスキップされません。

      ファイルの複数回の収集を許可する

      デフォルトでは、ログファイルからログを収集するために使用できるLogtail設定は1つだけです。 ログファイルからログの複数のコピーを収集する場合は、[ファイルの複数回の収集を許可] をオンにする必要があります。

      高度なパラメータ

      必要に応じて、 入力プラグインに関連する詳細パラメーターを設定します。 詳細については、「CreateLogtailPipelineConfig」をご参照ください。

    • プロセッサ構成

      パラメーター

      説明

      ログのサンプル

      実際のシナリオから収集されたサンプルログを追加します。 サンプルログを使用して、ログ処理に関連するパラメーターを簡単に設定できます。 複数のサンプルログを追加できます。 ログの長さの合計が1,500文字を超えないようにしてください。

      [2023-10-01T10:30:01,000] [INFO] java.lang.Exception: exception happened
          at TestPrintStackTrace.f(TestPrintStackTrace.java:3)
          at TestPrintStackTrace.g(TestPrintStackTrace.java:7)
          at TestPrintStackTrace.main(TestPrintStackTrace.java:16)

      マルチラインモード

      • 複数行のログの種類を指定します。 複数行のログは、複数の連続した行にまたがっています。 このパラメーターを設定して、ログファイル内の各複数行ログを識別できます。

        • カスタム: 複数行のログは、Regex to Match First lineの値に基づいて識別されます。

        • 複数行のJSON: 各JSONオブジェクトは複数行に展開されます。 例:

          {
            "name": "John Doe",
            "age": 30,
            "address": {
              "city": "New York",
              "country": "USA"
            }
          }
      • 分割が失敗した場合の処理方法を設定します。

        Exception in thread "main" java.lang.NullPointerException
            at com.example.MyClass.methodA(MyClass.java:12)
            at com.example.MyClass.methodB(MyClass.java:34)
            at com.example.MyClass.main(MyClass.java:½0)

        上記のサンプルログの場合、Simple log Serviceはログを破棄するか、ログの分割に失敗した場合に1行ずつログとして保持します。

        • 破棄: ログは破棄されます。

        • 1行の保持: ログテキストの各行はログとして保持されます。 4つのログが保持されます。

      処理方法

      [プロセッサ] を選択します。 データ処理用にネイティブプラグイン拡張プラグインを追加できます。 データ処理用のLogtailプラグインの詳細については、「Logtailプラグインの概要」をご参照ください。

      重要

      データ処理のLogtailプラグインの制限があります。 詳細については、Simple Log Serviceコンソールの画面上の手順を参照してください。

      • V2.0より前のLogtail

        • ネイティブプラグインと拡張プラグインを同時に追加することはできません。

        • ネイティブプラグインは、テキストログの収集にのみ使用できます。 ネイティブプラグインを追加するときは、次の項目に注意してください。

          • データ処理には、データ解析 (Regexモード) 、データ解析 (デリミターモード) 、データ解析 (JSONモード) 、データ解析 (NGINXモード) 、データ解析 (Apacheモード) 、データ解析 (IISモード) のいずれかを最初のプラグインとして追加する必要があります。

          • 最初のプラグインを追加した後、1つのTime Parsingプラグイン、1つのData Filteringプラグイン、および複数のData Maskingプラグインを追加できます。

        • 拡張プラグインは、ネイティブプラグインを追加した後にのみ追加できます。

      • Logtail V2.0

        • データ処理用のネイティブプラグインを任意に組み合わせることができます。

        • ネイティブプラグインと拡張プラグインを組み合わせることができます。 拡張プラグインがネイティブプラグインの後に追加されていることを確認します。

  6. インデックスの作成プレビュー 次に、[次へ] をクリックします。 デフォルトでは、Simple Log Serviceでフルテキストインデックスが有効になっています。 収集したログのフィールドインデックスを手動で作成するか、[自動インデックス生成] をクリックすることもできます。 その後、Simple Log Serviceはフィールドインデックスを生成します。 詳細については、「インデックスの作成」をご参照ください。

    重要

    ログのすべてのフィールドをクエリする場合は、フルテキストインデックスを使用することを推奨します。 特定のフィールドのみをクエリする場合は、フィールドインデックスを使用することを推奨します。 これは、インデックストラフィックを減らすのに役立ちます。 フィールドを分析する場合は、フィールドインデックスを作成する必要があります。 分析のために、クエリ文にSELECT文を含める必要があります。

  7. [クエリログ] をクリックします。 次に、Logstoreのクエリと分析ページにリダイレクトされます。

    インデックスが有効になるまで約1分待つ必要があります。 次に、収集したログを [生ログ] タブで表示できます。 ログのクエリと分析方法の詳細については、「ログのクエリと分析」をご参照ください。

関連ドキュメント