Logstash パイプライン API の作成または更新

この API は、Logstash Central Management に使用される Logstash パイプラインを作成または更新します。

リクエスト

PUT _logstash/pipeline/<pipeline_id>

前提条件

  • Elasticsearch のセキュリティ機能が有効になっている場合、この API を使用するには manage_logstash_pipelines クラスター権限が必要です。

説明

Logstash パイプラインを作成します。指定されたパイプラインが存在する場合、パイプラインは置き換えられます。

パスパラメータ

  • <pipeline_id>
  • (必須、文字列) パイプラインの識別子。

リクエストボディ

  • description
  • (オプション、文字列) パイプラインの説明。この説明は Elasticsearch または Logstash では使用されません。
  • last_modified
  • (必須、文字列) パイプラインが最後に更新された日付。yyyy-MM-dd'T'HH:mm:ss.SSSZZ strict_date_time 形式である必要があります。
  • pipeline
  • (必須、文字列) パイプラインの構成。サポートされている構文については、Logstash 構成ドキュメントを参照してください。
  • pipeline_metadata
  • (必須、オブジェクト) パイプラインに関するオプションのメタデータ。任意の内容を持つことができます。このメタデータは Elasticsearch または Logstash によって生成または使用されません。
  • pipeline_settings
  • (必須、オブジェクト) パイプラインの設定。ドット表記のフラットキーのみをサポートします。サポートされている設定については、Logstash 設定ドキュメントを参照してください。
  • username
  • (必須、文字列) 最後にパイプラインを更新したユーザー。

以下の例は、my_pipeline という名前の新しいパイプラインを作成します:

Python

  1. resp = client.logstash.put_pipeline(
  2. id="my_pipeline",
  3. pipeline={
  4. "description": "Sample pipeline for illustration purposes",
  5. "last_modified": "2021-01-02T02:50:51.250Z",
  6. "pipeline_metadata": {
  7. "type": "logstash_pipeline",
  8. "version": "1"
  9. },
  10. "username": "elastic",
  11. "pipeline": "input {}\n filter { grok {} }\n output {}",
  12. "pipeline_settings": {
  13. "pipeline.workers": 1,
  14. "pipeline.batch.size": 125,
  15. "pipeline.batch.delay": 50,
  16. "queue.type": "memory",
  17. "queue.max_bytes": "1gb",
  18. "queue.checkpoint.writes": 1024
  19. }
  20. },
  21. )
  22. print(resp)

Ruby

  1. response = client.logstash.put_pipeline(
  2. id: 'my_pipeline',
  3. body: {
  4. description: 'Sample pipeline for illustration purposes',
  5. last_modified: '2021-01-02T02:50:51.250Z',
  6. pipeline_metadata: {
  7. type: 'logstash_pipeline',
  8. version: '1'
  9. },
  10. username: 'elastic',
  11. pipeline: "input {}\n filter { grok {} }\n output {}",
  12. pipeline_settings: {
  13. 'pipeline.workers' => 1,
  14. 'pipeline.batch.size' => 125,
  15. 'pipeline.batch.delay' => 50,
  16. 'queue.type' => 'memory',
  17. 'queue.max_bytes' => '1gb',
  18. 'queue.checkpoint.writes' => 1024
  19. }
  20. }
  21. )
  22. puts response

Js

  1. const response = await client.logstash.putPipeline({
  2. id: "my_pipeline",
  3. pipeline: {
  4. description: "Sample pipeline for illustration purposes",
  5. last_modified: "2021-01-02T02:50:51.250Z",
  6. pipeline_metadata: {
  7. type: "logstash_pipeline",
  8. version: "1",
  9. },
  10. username: "elastic",
  11. pipeline: "input {}\n filter { grok {} }\n output {}",
  12. pipeline_settings: {
  13. "pipeline.workers": 1,
  14. "pipeline.batch.size": 125,
  15. "pipeline.batch.delay": 50,
  16. "queue.type": "memory",
  17. "queue.max_bytes": "1gb",
  18. "queue.checkpoint.writes": 1024,
  19. },
  20. },
  21. });
  22. console.log(response);

コンソール

  1. PUT _logstash/pipeline/my_pipeline
  2. {
  3. "description": "Sample pipeline for illustration purposes",
  4. "last_modified": "2021-01-02T02:50:51.250Z",
  5. "pipeline_metadata": {
  6. "type": "logstash_pipeline",
  7. "version": "1"
  8. },
  9. "username": "elastic",
  10. "pipeline": "input {}\n filter { grok {} }\n output {}",
  11. "pipeline_settings": {
  12. "pipeline.workers": 1,
  13. "pipeline.batch.size": 125,
  14. "pipeline.batch.delay": 50,
  15. "queue.type": "memory",
  16. "queue.max_bytes": "1gb",
  17. "queue.checkpoint.writes": 1024
  18. }
  19. }

リクエストが成功すると、適切なステータスコードを持つ空のレスポンスが返されます。