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

Elasticsearch:パイプライン構成のデバッグ機能を使用する

最終更新日:Jan 11, 2025

Logstash パイプラインの構成が正しくない場合、パイプラインの出力データが要件を満たさない可能性があります。この場合、デスティネーションのデータ形式を繰り返し確認し、コンソールでパイプライン構成を変更する必要があります。これにより、時間と労力のコストが増加します。この問題に対処するために、Logstash が提供するパイプライン構成デバッグ機能を使用できます。この機能を使用すると、パイプラインを作成してデプロイした後、コンソールで Logstash パイプラインの出力データを表示できます。これにより、デバッグコストが削減されます。このトピックでは、この機能の使用方法について説明します。

前提条件

logstash-output-file_extend プラグインがインストールされています。詳細については、「プラグインをインストールおよび削除する」をご参照ください。

手順

  1. Alibaba Cloud Elasticsearch コンソールの [Logstash クラスタ] ページ に移動します。

  2. 上部のナビゲーションバーで、目的のクラスタが存在するリージョンを選択します。

  3. Logstash クラスター ページで、クラスタを見つけて ID をクリックします。

  4. 表示されるページの左側のナビゲーションペインで、[パイプライン] をクリックします。

  5. [パイプライン] ページで、[パイプラインの作成] をクリックします。

  6. パイプラインを構成して起動します。

    1. [構成設定] ステップで、[パイプライン ID][構成設定] を構成します。

      config配置

      パラメーター

      説明

      パイプライン ID

      ビジネス要件に基づいて ID を指定します。パイプライン ID は、path フィールドの file_extend パラメーターに自動的にマッピングされます。

      構成設定

      構成設定 は、次の部分で構成されます。

      • input:データソースを指定します。file プラグインを除き、オープンソースの Logstash 入力プラグイン がサポートされています。

      • filter:データソースから収集されたデータを処理します。多数の フィルタープラグイン がサポートされています。

      • output:処理されたデータをデスティネーションに送信します。オープンソースの Logstash 出力プラグイン に加えて、Alibaba Cloud Logstash は file_extend 出力プラグインを提供します。このプラグインを使用すると、パイプライン構成デバッグ機能を有効にできます。パイプラインがデプロイされた後、コンソールでパイプラインの出力データを表示し、データが要件を満たしているかどうかを確認できます。データが要件を満たしていない場合は、パイプライン構成を変更します。

      次のコードは、構成例を示しています。

      input {
           elasticsearch {
             hosts => "http://es-cn-0pp1jxv000****.elasticsearch.aliyuncs.com:9200"
             user  => "elastic"
             index => "twitter"
             password => "<YOUR_PASSWORD>" // 自分のパスワードに置き換えてください
             docinfo => true
           }
      
      }
      filter {
      
      }
      output {
          elasticsearch {
          hosts => ["http://es-cn-000000000i****.elasticsearch.aliyuncs.com:9200"]
          user => "elastic"
          password => "<your_password>" // 自分のパスワードに置き換えてください
          index => "%{[@metadata][_index]}"
          document_id => "%{[@metadata][_id]}"
      
        }
         file_extend {
           path => "/ssd/1/ls-cn-v0h1kzca****/logstash/logs/debug/test"
         }
      
      }
      重要
      • デフォルトでは、output パートの file_extend パラメーターはコメントアウトされています。パイプライン構成デバッグ機能を使用する場合は、パラメーターのコメントを外します。

      • デフォルトでは、file_extend パラメーターの path フィールドで示されるパスは、システムによって指定されます。パスを変更することはできません。[構成デバッグの開始] をクリックしてパスを取得できます。

      • path フィールドで示されるパスの {pipelineid} は、指定したパイプライン ID に自動的にマッピングされます。{pipelineid} を変更することはできません。変更すると、デバッグログを取得できません。

      Elasticsearch クラスタが指定されている入力プラグインは、プラグインに構成されているクエリステートメントに基づいて、クラスタからデータを読み取ることができます。このプラグインは、一度に複数のテストログをインポートする必要があるシナリオに適しています。デフォルトでは、データの読み取り後、同期操作は自動的に無効になり、Logstash プロセスは停止します。ただし、Logstash はプロセスが継続的に実行されるようにする必要があります。そのため、Logstash はプロセスを再起動します。これにより、パイプラインが 1 つしかない場合にデータの重複書き込みが発生する可能性があります。この問題に対処するために、Logstash がパイプラインを定期的に実行できるように期間を指定できます。たとえば、毎年 3 月 5 日の 13:20 にパイプラインを実行するように Logstash を有効にできます。パイプラインが初めて実行された後、Logstash はそれを停止します。 cron 式の構文とともに schedule パラメーターを使用して期間を指定できます。詳細については、オープンソース Logstash ドキュメントの スケジューリング をご参照ください。

      次のコードは例を示しています。この例では、パイプラインは毎年 3 月 5 日の 13:20 に実行されるようにスケジュールされています。

      schedule => "20 13 5 3 *" // 毎年3月5日13時20分に実行
      
    2. [次へ] をクリックしてパイプラインパラメーターを構成します。

      パラメーターの詳細については、「構成ファイルを使用してパイプラインを管理する」をご参照ください。

    3. 設定を保存してパイプラインをデプロイします。

      • [保存]: このボタンをクリックすると、システムはパイプライン設定を保存し、クラスタの変更をトリガーします。ただし、設定は有効になりません。[保存] をクリックした後、[パイプライン] ページが表示されます。[パイプライン] ページで、作成したパイプラインを見つけて、[アクション] 列の [今すぐデプロイ] をクリックします。その後、システムは Logstash クラスタを再起動して、設定を有効にします。

      • [保存してデプロイ]: このボタンをクリックすると、システムは Logstash クラスタを再起動して、設定を有効にします。

    4. 表示されるメッセージで、[OK] をクリックします。

  7. パイプラインのデバッグログを表示します。

    1. クラスタが再起動した後、[パイプライン] ページでパイプラインを見つけて、デバッグログの表示[アクション] 列の をクリックします。

    2. [デバッグログ] タブの [ログ] ページで、パイプラインの出力データを確認します。

      複数のパイプラインがある場合は、検索ボックスに pipelineId:<パイプライン ID> を入力して、パイプラインのログを検索できます。查看调试日志