Logstash パイプラインの構成が正しくない場合、パイプラインの出力データが要件を満たさない可能性があります。この場合、デスティネーションのデータ形式を繰り返し確認し、コンソールでパイプライン構成を変更する必要があります。これにより、時間と労力のコストが増加します。この問題に対処するために、Logstash が提供するパイプライン構成デバッグ機能を使用できます。この機能を使用すると、パイプラインを作成してデプロイした後、コンソールで Logstash パイプラインの出力データを表示できます。これにより、デバッグコストが削減されます。このトピックでは、この機能の使用方法について説明します。
前提条件
logstash-output-file_extend プラグインがインストールされています。詳細については、「プラグインをインストールおよび削除する」をご参照ください。
手順
Alibaba Cloud Elasticsearch コンソールの [Logstash クラスタ] ページ に移動します。
上部のナビゲーションバーで、目的のクラスタが存在するリージョンを選択します。
Logstash クラスター ページで、クラスタを見つけて ID をクリックします。
表示されるページの左側のナビゲーションペインで、[パイプライン] をクリックします。
[パイプライン] ページで、[パイプラインの作成] をクリックします。
パイプラインを構成して起動します。
[構成設定] ステップで、[パイプライン ID] と [構成設定] を構成します。

パラメーター
説明
パイプライン 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分に実行[次へ] をクリックしてパイプラインパラメーターを構成します。
パラメーターの詳細については、「構成ファイルを使用してパイプラインを管理する」をご参照ください。
設定を保存してパイプラインをデプロイします。
[保存]: このボタンをクリックすると、システムはパイプライン設定を保存し、クラスタの変更をトリガーします。ただし、設定は有効になりません。[保存] をクリックした後、[パイプライン] ページが表示されます。[パイプライン] ページで、作成したパイプラインを見つけて、[アクション] 列の [今すぐデプロイ] をクリックします。その後、システムは Logstash クラスタを再起動して、設定を有効にします。
[保存してデプロイ]: このボタンをクリックすると、システムは Logstash クラスタを再起動して、設定を有効にします。
表示されるメッセージで、[OK] をクリックします。
パイプラインのデバッグログを表示します。
クラスタが再起動した後、[パイプライン] ページでパイプラインを見つけて、デバッグログの表示[アクション] 列の をクリックします。
[デバッグログ] タブの [ログ] ページで、パイプラインの出力データを確認します。
複数のパイプラインがある場合は、検索ボックスに pipelineId:<パイプライン ID> を入力して、パイプラインのログを検索できます。
